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/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());