1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/bookmarks/bookmark_test_utils.h"
#include "base/strings/string_number_conversions.h"
#include "components/bookmarks/common/bookmark_pref_names.h"
#include "components/bookmarks/managed/managed_bookmark_service.h"
#include "components/sync_preferences/testing_pref_service_syncable.h"
namespace {
base::Value::List ConstructManagedBookmarks(size_t managed_bookmarks_size) {
const GURL url("http://google.com/");
base::Value::List bookmarks_list;
for (size_t i = 0; i < managed_bookmarks_size; ++i) {
base::Value::List folder_items;
folder_items.Append(
base::Value::Dict().Set("name", "Google").Set("url", url.spec()));
bookmarks_list.Append(
base::Value::Dict()
.Set("name", "Bookmark folder " + base::NumberToString(i))
.Set("children", std::move(folder_items)));
}
return bookmarks_list;
}
} // namespace
std::unique_ptr<bookmarks::ManagedBookmarkService> CreateManagedBookmarkService(
sync_preferences::TestingPrefServiceSyncable* prefs,
size_t managed_bookmarks_size) {
prefs->registry()->RegisterListPref(bookmarks::prefs::kManagedBookmarks);
prefs->registry()->RegisterStringPref(
bookmarks::prefs::kManagedBookmarksFolderName, std::string());
prefs->SetString(bookmarks::prefs::kManagedBookmarksFolderName, "Managed");
prefs->SetManagedPref(bookmarks::prefs::kManagedBookmarks,
ConstructManagedBookmarks(managed_bookmarks_size));
return std::make_unique<bookmarks::ManagedBookmarkService>(
prefs,
base::BindRepeating([]() -> std::string { return "managedDomain.com"; }));
}
TestBookmarkClientWithManagedService::TestBookmarkClientWithManagedService(
bookmarks::ManagedBookmarkService* managed_bookmark_service)
: managed_bookmark_service_(managed_bookmark_service) {
CHECK(managed_bookmark_service);
}
void TestBookmarkClientWithManagedService::Init(
bookmarks::BookmarkModel* model) {
managed_bookmark_service_->BookmarkModelCreated(model);
}
bookmarks::LoadManagedNodeCallback
TestBookmarkClientWithManagedService::GetLoadManagedNodeCallback() {
return managed_bookmark_service_->GetLoadManagedNodeCallback();
}
bool TestBookmarkClientWithManagedService::CanSetPermanentNodeTitle(
const bookmarks::BookmarkNode* permanent_node) {
return managed_bookmark_service_->CanSetPermanentNodeTitle(permanent_node);
}
bool TestBookmarkClientWithManagedService::IsNodeManaged(
const bookmarks::BookmarkNode* node) {
return managed_bookmark_service_->IsNodeManaged(node);
}
|