blob: 6ee7f4989af1bdd606d0f6d5a69b78eb72458b34 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/sys_string_conversions.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/bookmarks/test/bookmark_test_helpers.h"
#include "ios/chrome/browser/bookmarks/bookmark_model_factory.h"
#import "ios/chrome/browser/browser_state/test_chrome_browser_state.h"
#include "ios/web/public/test/test_web_thread.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
using bookmarks::BookmarkNode;
BookmarkIOSUnitTest::BookmarkIOSUnitTest() {}
BookmarkIOSUnitTest::~BookmarkIOSUnitTest() {}
void BookmarkIOSUnitTest::SetUp() {
// Get a BookmarkModel from the test ChromeBrowserState.
TestChromeBrowserState::Builder test_cbs_builder;
chrome_browser_state_ = test_cbs_builder.Build();
chrome_browser_state_->CreateBookmarkModel(true);
_bookmarkModel = ios::BookmarkModelFactory::GetForBrowserState(
chrome_browser_state_.get());
bookmarks::test::WaitForBookmarkModelToLoad(_bookmarkModel);
}
const BookmarkNode* BookmarkIOSUnitTest::AddBookmark(const BookmarkNode* parent,
NSString* title) {
base::string16 c_title = base::SysNSStringToUTF16(title);
GURL url(base::SysNSStringToUTF16(@"http://example.com/bookmark") + c_title);
return _bookmarkModel->AddURL(parent, parent->child_count(), c_title, url);
}
const BookmarkNode* BookmarkIOSUnitTest::AddFolder(const BookmarkNode* parent,
NSString* title) {
base::string16 c_title = base::SysNSStringToUTF16(title);
return _bookmarkModel->AddFolder(parent, parent->child_count(), c_title);
}
void BookmarkIOSUnitTest::ChangeTitle(NSString* title,
const BookmarkNode* node) {
base::string16 c_title = base::SysNSStringToUTF16(title);
_bookmarkModel->SetTitle(node, c_title);
}