1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/bookmarks/bookmark_editor.h"
7 #include "base/strings/utf_string_conversions.h"
8 #include "components/bookmarks/core/test/test_bookmark_client.h"
9 #include "testing/gtest/include/gtest/gtest.h"
11 using base::ASCIIToUTF16;
15 TEST(BookmarkEditorTest, ApplyEditsWithNoFolderChange) {
16 test::TestBookmarkClient client;
17 scoped_ptr<BookmarkModel> model(client.CreateModel(false));
18 const BookmarkNode* bookmarkbar = model->bookmark_bar_node();
19 model->AddURL(bookmarkbar, 0, ASCIIToUTF16("url0"), GURL("chrome://newtab"));
20 model->AddURL(bookmarkbar, 1, ASCIIToUTF16("url1"), GURL("chrome://newtab"));
23 BookmarkEditor::EditDetails detail(
24 BookmarkEditor::EditDetails::AddFolder(bookmarkbar, 1));
25 BookmarkEditor::ApplyEditsWithNoFolderChange(model.get(),
28 ASCIIToUTF16("folder0"),
30 EXPECT_EQ(ASCIIToUTF16("folder0"), bookmarkbar->GetChild(1)->GetTitle());
33 BookmarkEditor::EditDetails detail(
34 BookmarkEditor::EditDetails::AddFolder(bookmarkbar, -1));
35 BookmarkEditor::ApplyEditsWithNoFolderChange(model.get(),
38 ASCIIToUTF16("folder1"),
40 EXPECT_EQ(ASCIIToUTF16("folder1"), bookmarkbar->GetChild(3)->GetTitle());
43 BookmarkEditor::EditDetails detail(
44 BookmarkEditor::EditDetails::AddFolder(bookmarkbar, 10));
45 BookmarkEditor::ApplyEditsWithNoFolderChange(model.get(),
48 ASCIIToUTF16("folder2"),
50 EXPECT_EQ(ASCIIToUTF16("folder2"), bookmarkbar->GetChild(4)->GetTitle());