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. 4 5 #include "chrome/browser/ui/bookmarks/bookmark_editor.h" 6 7 #include "base/strings/utf_string_conversions.h" 8 #include "components/bookmarks/test/test_bookmark_client.h" 9 #include "testing/gtest/include/gtest/gtest.h" 10 11 using base::ASCIIToUTF16; 12 13 namespace { 14 15 TEST(BookmarkEditorTest, ApplyEditsWithNoFolderChange) { 16 bookmarks::TestBookmarkClient client; 17 scoped_ptr<BookmarkModel> model(client.CreateModel()); 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")); 21 22 { 23 BookmarkEditor::EditDetails detail( 24 BookmarkEditor::EditDetails::AddFolder(bookmarkbar, 1)); 25 BookmarkEditor::ApplyEditsWithNoFolderChange(model.get(), 26 bookmarkbar, 27 detail, 28 ASCIIToUTF16("folder0"), 29 GURL(std::string())); 30 EXPECT_EQ(ASCIIToUTF16("folder0"), bookmarkbar->GetChild(1)->GetTitle()); 31 } 32 { 33 BookmarkEditor::EditDetails detail( 34 BookmarkEditor::EditDetails::AddFolder(bookmarkbar, -1)); 35 BookmarkEditor::ApplyEditsWithNoFolderChange(model.get(), 36 bookmarkbar, 37 detail, 38 ASCIIToUTF16("folder1"), 39 GURL(std::string())); 40 EXPECT_EQ(ASCIIToUTF16("folder1"), bookmarkbar->GetChild(3)->GetTitle()); 41 } 42 { 43 BookmarkEditor::EditDetails detail( 44 BookmarkEditor::EditDetails::AddFolder(bookmarkbar, 10)); 45 BookmarkEditor::ApplyEditsWithNoFolderChange(model.get(), 46 bookmarkbar, 47 detail, 48 ASCIIToUTF16("folder2"), 49 GURL(std::string())); 50 EXPECT_EQ(ASCIIToUTF16("folder2"), bookmarkbar->GetChild(4)->GetTitle()); 51 } 52 } 53 54 } // namespace 55