Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / bookmarks / bookmark_bar_controller_unittest.mm
index e76da16..821cdee 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "base/basictypes.h"
 #include "base/command_line.h"
+#include "base/mac/mac_util.h"
 #include "base/mac/scoped_nsobject.h"
 #include "base/strings/string16.h"
 #include "base/strings/string_util.h"
 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h"
 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_window.h"
 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.h"
-#import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_view.h"
+#import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_view_cocoa.h"
 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_button.h"
 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.h"
 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h"
 #import "chrome/browser/ui/cocoa/view_resizer_pong.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/pref_names.h"
+#include "chrome/test/base/testing_pref_service_syncable.h"
 #include "chrome/test/base/testing_profile.h"
-#include "components/bookmarks/core/browser/bookmark_model.h"
-#include "components/bookmarks/core/browser/bookmark_utils.h"
-#include "components/bookmarks/core/test/bookmark_test_helpers.h"
+#include "components/bookmarks/browser/bookmark_model.h"
+#include "components/bookmarks/browser/bookmark_utils.h"
+#include "components/bookmarks/test/bookmark_test_helpers.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #import "testing/gtest_mac.h"
 #include "testing/platform_test.h"
@@ -209,38 +211,21 @@ class FakeTheme : public ui::ThemeProvider {
   FakeTheme(NSColor* color) : color_(color) {}
   base::scoped_nsobject<NSColor> color_;
 
-  virtual bool UsingNativeTheme() const OVERRIDE {
-    return true;
-  }
-  virtual gfx::ImageSkia* GetImageSkiaNamed(int id) const OVERRIDE {
+  bool UsingSystemTheme() const override { return true; }
+  gfx::ImageSkia* GetImageSkiaNamed(int id) const override { return NULL; }
+  SkColor GetColor(int id) const override { return SkColor(); }
+  int GetDisplayProperty(int id) const override { return -1; }
+  bool ShouldUseNativeFrame() const override { return false; }
+  bool HasCustomImage(int id) const override { return false; }
+  base::RefCountedMemory* GetRawData(int id, ui::ScaleFactor scale_factor)
+      const override {
     return NULL;
   }
-  virtual SkColor GetColor(int id) const OVERRIDE { return SkColor(); }
-  virtual int GetDisplayProperty(int id) const OVERRIDE {
-    return -1;
-  }
-  virtual bool ShouldUseNativeFrame() const OVERRIDE { return false; }
-  virtual bool HasCustomImage(int id) const OVERRIDE { return false; }
-  virtual base::RefCountedMemory* GetRawData(
-      int id,
-      ui::ScaleFactor scale_factor) const OVERRIDE {
-    return NULL;
-  }
-  virtual NSImage* GetNSImageNamed(int id) const OVERRIDE {
-    return nil;
-  }
-  virtual NSColor* GetNSImageColorNamed(int id) const OVERRIDE {
-    return nil;
-  }
-  virtual NSColor* GetNSColor(int id) const OVERRIDE {
-    return color_.get();
-  }
-  virtual NSColor* GetNSColorTint(int id) const OVERRIDE {
-    return nil;
-  }
-  virtual NSGradient* GetNSGradient(int id) const OVERRIDE {
-    return nil;
-  }
+  NSImage* GetNSImageNamed(int id) const override { return nil; }
+  NSColor* GetNSImageColorNamed(int id) const override { return nil; }
+  NSColor* GetNSColor(int id) const override { return color_.get(); }
+  NSColor* GetNSColorTint(int id) const override { return nil; }
+  NSGradient* GetNSGradient(int id) const override { return nil; }
 };
 
 
@@ -339,20 +324,24 @@ class BookmarkBarControllerTestBase : public CocoaProfileTest {
 
 class BookmarkBarControllerTest : public BookmarkBarControllerTestBase {
  public:
-  base::scoped_nsobject<NSButtonCell> cell_;
   base::scoped_nsobject<BookmarkBarControllerNoOpen> bar_;
 
-  virtual void SetUp() {
+  virtual void SetUp() override {
     BookmarkBarControllerTestBase::SetUp();
     ASSERT_TRUE(browser());
     AddCommandLineSwitches();
 
-    bar_.reset(
-      [[BookmarkBarControllerNoOpen alloc]
+    // In OSX 10.10, the owner of a nib file is retain/autoreleased during the
+    // initialization of the nib. Wrapping the constructor in an
+    // autoreleasepool ensures that tests can control the destruction timing of
+    // |bar_|.
+    @autoreleasepool {
+      bar_.reset([[BookmarkBarControllerNoOpen alloc]
           initWithBrowser:browser()
              initialWidth:NSWidth([parent_view_ frame])
                  delegate:nil
            resizeDelegate:resizeDelegate_.get()]);
+    }
 
     InstallAndToggleBar(bar_.get());
   }
@@ -559,7 +548,7 @@ TEST_F(BookmarkBarControllerTest, OffTheSideButtonHidden) {
   EXPECT_TRUE([bar_ offTheSideButtonIsHidden]);
 
   for (int i = 0; i < 2; i++) {
-    bookmark_utils::AddIfNotBookmarked(
+    bookmarks::AddIfNotBookmarked(
         model, GURL("http://www.foo.com"), ASCIIToUTF16("small"));
     EXPECT_TRUE([bar_ offTheSideButtonIsHidden]);
   }
@@ -692,8 +681,8 @@ TEST_F(BookmarkBarControllerTest, MenuForFolderNode) {
 
   // Test two bookmarks.
   GURL gurl("http://www.foo.com");
-  bookmark_utils::AddIfNotBookmarked(model, gurl, ASCIIToUTF16("small"));
-  bookmark_utils::AddIfNotBookmarked(
+  bookmarks::AddIfNotBookmarked(model, gurl, ASCIIToUTF16("small"));
+  bookmarks::AddIfNotBookmarked(
       model, GURL("http://www.cnn.com"), ASCIIToUTF16("bigger title"));
   menu = [bar_ menuForFolderNode:model->bookmark_bar_node()];
   EXPECT_EQ([menu numberOfItems], 2);
@@ -703,7 +692,7 @@ TEST_F(BookmarkBarControllerTest, MenuForFolderNode) {
   EXPECT_TRUE(item);
   if (item) {
     int64 tag = [bar_ nodeIdFromMenuTag:[item tag]];
-    const BookmarkNode* node = GetBookmarkNodeByID(model, tag);
+    const BookmarkNode* node = bookmarks::GetBookmarkNodeByID(model, tag);
     EXPECT_TRUE(node);
     EXPECT_EQ(gurl, node->url());
   }
@@ -764,23 +753,23 @@ TEST_F(BookmarkBarControllerTest, TestAddRemoveAndClear) {
   // TODO(viettrungluu): make the test independent of window/view size, font
   // metrics, button size and spacing, and everything else.
   base::string16 title1(ASCIIToUTF16("x"));
-  bookmark_utils::AddIfNotBookmarked(model, gurl1, title1);
+  bookmarks::AddIfNotBookmarked(model, gurl1, title1);
   EXPECT_EQ(1U, [[bar_ buttons] count]);
   EXPECT_EQ(1+initial_subview_count, [[buttonView subviews] count]);
 
   GURL gurl2("http://legion-of-doom.gov");
   base::string16 title2(ASCIIToUTF16("y"));
-  bookmark_utils::AddIfNotBookmarked(model, gurl2, title2);
+  bookmarks::AddIfNotBookmarked(model, gurl2, title2);
   EXPECT_EQ(2U, [[bar_ buttons] count]);
   EXPECT_EQ(2+initial_subview_count, [[buttonView subviews] count]);
 
   for (int i = 0; i < 3; i++) {
-    bookmark_utils::RemoveAllBookmarks(model, gurl2);
+    bookmarks::RemoveAllBookmarks(model, gurl2);
     EXPECT_EQ(1U, [[bar_ buttons] count]);
     EXPECT_EQ(1+initial_subview_count, [[buttonView subviews] count]);
 
     // and bring it back
-    bookmark_utils::AddIfNotBookmarked(model, gurl2, title2);
+    bookmarks::AddIfNotBookmarked(model, gurl2, title2);
     EXPECT_EQ(2U, [[bar_ buttons] count]);
     EXPECT_EQ(2+initial_subview_count, [[buttonView subviews] count]);
   }
@@ -861,11 +850,11 @@ TEST_F(BookmarkBarControllerTest, CheckForGrowth) {
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
   GURL gurl1("http://www.google.com");
   base::string16 title1(ASCIIToUTF16("x"));
-  bookmark_utils::AddIfNotBookmarked(model, gurl1, title1);
+  bookmarks::AddIfNotBookmarked(model, gurl1, title1);
 
   GURL gurl2("http://www.google.com/blah");
   base::string16 title2(ASCIIToUTF16("y"));
-  bookmark_utils::AddIfNotBookmarked(model, gurl2, title2);
+  bookmarks::AddIfNotBookmarked(model, gurl2, title2);
 
   EXPECT_EQ(2U, [[bar_ buttons] count]);
   CGFloat width_1 = [[[bar_ buttons] objectAtIndex:0] frame].size.width;
@@ -939,12 +928,13 @@ TEST_F(BookmarkBarControllerTest, Display) {
   [[bar_ view] display];
 }
 
-// Test that middle clicking on a bookmark button results in an open action.
+// Test that middle clicking on a bookmark button results in an open action,
+// except for offTheSideButton, as it just opens its folder menu.
 TEST_F(BookmarkBarControllerTest, MiddleClick) {
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
   GURL gurl1("http://www.google.com/");
   base::string16 title1(ASCIIToUTF16("x"));
-  bookmark_utils::AddIfNotBookmarked(model, gurl1, title1);
+  bookmarks::AddIfNotBookmarked(model, gurl1, title1);
 
   EXPECT_EQ(1U, [[bar_ buttons] count]);
   NSButton* first = [[bar_ buttons] objectAtIndex:0];
@@ -953,6 +943,37 @@ TEST_F(BookmarkBarControllerTest, MiddleClick) {
   [first otherMouseUp:
       cocoa_test_event_utils::MouseEventWithType(NSOtherMouseUp, 0)];
   EXPECT_EQ(noOpenBar()->urls_.size(), 1U);
+
+  // Test for offTheSideButton.
+  // Add more bookmarks so that offTheSideButton is visible.
+  const BookmarkNode* parent = model->bookmark_bar_node();
+  for (int i = 0; i < 20; i++) {
+    model->AddURL(parent, parent->child_count(),
+                  ASCIIToUTF16("super duper wide title"),
+                  GURL("http://superfriends.hall-of-justice.edu"));
+  }
+  EXPECT_FALSE([bar_ offTheSideButtonIsHidden]);
+
+  NSButton* offTheSideButton = [bar_ offTheSideButton];
+  EXPECT_TRUE(offTheSideButton);
+  [offTheSideButton otherMouseUp:
+      cocoa_test_event_utils::MouseEventWithType(NSOtherMouseUp, 0)];
+
+  // Middle click on offTheSideButton should not open any bookmarks under it,
+  // therefore urls size should still be 1.
+  EXPECT_EQ(noOpenBar()->urls_.size(), 1U);
+
+  // Check that folderController should not be NULL since offTheSideButton
+  // folder is currently open.
+  BookmarkBarFolderController* bbfc = [bar_ folderController];
+  EXPECT_TRUE(bbfc);
+  EXPECT_TRUE([bbfc parentButton] == offTheSideButton);
+
+  // Middle clicking again on it should close the folder.
+  [offTheSideButton otherMouseUp:
+      cocoa_test_event_utils::MouseEventWithType(NSOtherMouseUp, 0)];
+  bbfc = [bar_ folderController];
+  EXPECT_FALSE(bbfc);
 }
 
 TEST_F(BookmarkBarControllerTest, DisplaysHelpMessageOnEmpty) {
@@ -1044,7 +1065,7 @@ TEST_F(BookmarkBarControllerTest, TestDragButton) {
                               ASCIIToUTF16("b"),
                               ASCIIToUTF16("c") };
   for (unsigned i = 0; i < arraysize(titles); i++)
-    bookmark_utils::AddIfNotBookmarked(model, gurls[i], titles[i]);
+    bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]);
 
   EXPECT_EQ([[bar_ buttons] count], arraysize(titles));
   EXPECT_NSEQ(@"a", [[[bar_ buttons] objectAtIndex:0] title]);
@@ -1116,7 +1137,7 @@ TEST_F(BookmarkBarControllerTest, TestCopyButton) {
                               ASCIIToUTF16("b"),
                               ASCIIToUTF16("c") };
   for (unsigned i = 0; i < arraysize(titles); i++)
-    bookmark_utils::AddIfNotBookmarked(model, gurls[i], titles[i]);
+    bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]);
 
   EXPECT_EQ([[bar_ buttons] count], arraysize(titles));
   EXPECT_NSEQ(@"a", [[[bar_ buttons] objectAtIndex:0] title]);
@@ -1138,7 +1159,7 @@ TEST_F(BookmarkBarControllerTest, TestCopyButton) {
 // buttons have the same colored text.  Repeat more than once.
 TEST_F(BookmarkBarControllerTest, TestThemedButton) {
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
-  bookmark_utils::AddIfNotBookmarked(
+  bookmarks::AddIfNotBookmarked(
       model, GURL("http://www.foo.com"), ASCIIToUTF16("small"));
   BookmarkButton* button = [[bar_ buttons] objectAtIndex:0];
   EXPECT_TRUE(button);
@@ -1171,7 +1192,7 @@ TEST_F(BookmarkBarControllerTest, TestClearOnDealloc) {
                               ASCIIToUTF16("b"),
                               ASCIIToUTF16("c") };
   for (size_t i = 0; i < arraysize(titles); i++)
-    bookmark_utils::AddIfNotBookmarked(model, gurls[i], titles[i]);
+    bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]);
 
   // Get and retain the buttons so we can examine them after dealloc.
   base::scoped_nsobject<NSArray> buttons([[bar_ buttons] retain]);
@@ -1244,10 +1265,10 @@ TEST_F(BookmarkBarControllerTest, TestFolderButtons) {
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b 4f:[ 4f1b 4f2b ] ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
 
   // Validate initial model and that we do not have a folder controller.
-  std::string actualModelString = test::ModelStringFromNode(root);
+  std::string actualModelString = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actualModelString);
   EXPECT_FALSE([bar_ folderController]);
 
@@ -1452,16 +1473,21 @@ TEST_F(BookmarkBarControllerTest, CloseFolderOnAnimate) {
   // Now that we've closed the bookmark bar (with animation) the folder menu
   // should have been closed thus releasing the folderController.
   EXPECT_FALSE([bar_ folderController]);
+
+  // Stop the pending animation to tear down cleanly.
+  [bar_ updateState:BookmarkBar::DETACHED
+         changeType:BookmarkBar::DONT_ANIMATE_STATE_CHANGE];
+  EXPECT_FALSE([bar_ isAnimationRunning]);
 }
 
 TEST_F(BookmarkBarControllerTest, MoveRemoveAddButtons) {
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
 
   // Validate initial model.
-  std::string actualModelString = test::ModelStringFromNode(root);
+  std::string actualModelString = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actualModelString);
 
   // Remember how many buttons are showing.
@@ -1529,26 +1555,32 @@ TEST_F(BookmarkBarControllerTest, ShrinkOrHideView) {
 
 TEST_F(BookmarkBarControllerTest, LastBookmarkResizeBehavior) {
   // Hide the apps shortcut.
-  profile()->GetPrefs()->SetBoolean(prefs::kShowAppsShortcutInBookmarkBar,
-                                    false);
+  profile()->GetPrefs()->SetBoolean(
+      bookmarks::prefs::kShowAppsShortcutInBookmarkBar, false);
   ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]);
 
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
   [bar_ frameDidChange];
 
-  CGFloat viewWidths[] = { 123.0, 124.0, 151.0, 152.0, 153.0, 154.0, 155.0,
-                           200.0, 155.0, 154.0, 153.0, 152.0, 151.0, 124.0,
-                           123.0 };
+  // The default font changed between OSX Mavericks and OSX Yosemite, so this
+  // test requires different widths to trigger the appropriate results.
+  CGFloat viewWidthsYosemite[] = { 121.0, 122.0, 148.0, 149.0, 150.0, 151.0,
+                                   152.0, 200.0, 152.0, 151.0, 150.0, 149.0,
+                                   148.0, 122.0, 121.0 };
+  CGFloat viewWidthsMavericks[] = { 123.0, 124.0, 151.0, 152.0, 153.0, 154.0,
+                                    155.0, 200.0, 155.0, 154.0, 153.0, 152.0,
+                                    151.0, 124.0, 123.0 };
   BOOL offTheSideButtonIsHiddenResults[] = { NO, NO, NO, NO, YES, YES, YES, YES,
                                              YES, YES, YES, NO, NO, NO, NO};
   int displayedButtonCountResults[] = { 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2,
                                         2, 1 };
+  CGFloat* viewWidths = base::mac::IsOSYosemiteOrLater() ? viewWidthsYosemite
+                                                         : viewWidthsMavericks;
 
-  for (unsigned int i = 0; i < sizeof(viewWidths) / sizeof(viewWidths[0]);
-       ++i) {
+  for (unsigned int i = 0; i < arraysize(viewWidthsYosemite); ++i) {
     NSRect frame = [[bar_ view] frame];
     frame.size.width = viewWidths[i] + bookmarks::kBookmarkRightMargin;
     [[bar_ view] setFrame:frame];
@@ -1562,7 +1594,7 @@ TEST_F(BookmarkBarControllerTest, BookmarksWithAppsPageShortcut) {
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
   [bar_ frameDidChange];
 
   // Apps page shortcut button should be visible.
@@ -1578,8 +1610,8 @@ TEST_F(BookmarkBarControllerTest, BookmarksWithAppsPageShortcut) {
   }
 
   // Removing the Apps button should move every bookmark to the left.
-  profile()->GetPrefs()->SetBoolean(prefs::kShowAppsShortcutInBookmarkBar,
-                                    false);
+  profile()->GetPrefs()->SetBoolean(
+      bookmarks::prefs::kShowAppsShortcutInBookmarkBar, false);
   ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]);
   EXPECT_GT(apps_button_right, NSMinX([[buttons objectAtIndex:0] frame]));
   for (size_t i = 1; i < [buttons count]; ++i) {
@@ -1598,8 +1630,8 @@ TEST_F(BookmarkBarControllerTest, BookmarksWithoutAppsPageShortcut) {
             NSMinX([[[bar_ buttonView] importBookmarksButton] frame]));
 
   // Removing the Apps button should move the no item containers to the left.
-  profile()->GetPrefs()->SetBoolean(prefs::kShowAppsShortcutInBookmarkBar,
-                                    false);
+  profile()->GetPrefs()->SetBoolean(
+      bookmarks::prefs::kShowAppsShortcutInBookmarkBar, false);
   ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]);
   EXPECT_GT(apps_button_right,
             NSMinX([[[bar_ buttonView] noItemTextfield] frame]));
@@ -1607,6 +1639,24 @@ TEST_F(BookmarkBarControllerTest, BookmarksWithoutAppsPageShortcut) {
             NSMinX([[[bar_ buttonView] importBookmarksButton] frame]));
 }
 
+TEST_F(BookmarkBarControllerTest, ManagedShowAppsShortcutInBookmarksBar) {
+  // By default the pref is not managed and the apps shortcut is shown.
+  TestingPrefServiceSyncable* prefs = profile()->GetTestingPrefService();
+  EXPECT_FALSE(prefs->IsManagedPreference(
+      bookmarks::prefs::kShowAppsShortcutInBookmarkBar));
+  EXPECT_FALSE([bar_ appsPageShortcutButtonIsHidden]);
+
+  // Hide the apps shortcut by policy, via the managed pref.
+  prefs->SetManagedPref(bookmarks::prefs::kShowAppsShortcutInBookmarkBar,
+                        new base::FundamentalValue(false));
+  EXPECT_TRUE([bar_ appsPageShortcutButtonIsHidden]);
+
+  // And try showing it via policy too.
+  prefs->SetManagedPref(bookmarks::prefs::kShowAppsShortcutInBookmarkBar,
+                        new base::FundamentalValue(true));
+  EXPECT_FALSE([bar_ appsPageShortcutButtonIsHidden]);
+}
+
 class BookmarkBarControllerOpenAllTest : public BookmarkBarControllerTest {
 public:
   virtual void SetUp() {
@@ -1765,10 +1815,10 @@ TEST_F(BookmarkBarControllerDragDropTest, DragMoveBarBookmarkToOffTheSide) {
       "3bWithLongName 4bWithLongName 5bWithLongName 6bWithLongName "
       "7bWithLongName 8bWithLongName 9bWithLongName 10bWithLongName "
       "11bWithLongName 12bWithLongName 13b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
 
   // Validate initial model.
-  std::string actualModelString = test::ModelStringFromNode(root);
+  std::string actualModelString = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actualModelString);
 
   // Insure that the off-the-side is not showing.
@@ -1817,16 +1867,16 @@ TEST_F(BookmarkBarControllerDragDropTest, DragOffTheSideToOther) {
       "11bWithLongName 12bWithLongName 13bWithLongName 14bWithLongName "
       "15bWithLongName 16bWithLongName 17bWithLongName 18bWithLongName "
       "19bWithLongName 20bWithLongName ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
 
   const BookmarkNode* other = model->other_node();
   const std::string other_string("1other 2other 3other ");
-  test::AddNodesFromModelString(model, other, other_string);
+  bookmarks::test::AddNodesFromModelString(model, other, other_string);
 
   // Validate initial model.
-  std::string actualModelString = test::ModelStringFromNode(root);
+  std::string actualModelString = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actualModelString);
-  std::string actualOtherString = test::ModelStringFromNode(other);
+  std::string actualOtherString = bookmarks::test::ModelStringFromNode(other);
   EXPECT_EQ(other_string, actualOtherString);
 
   // Insure that the off-the-side is showing.
@@ -1870,16 +1920,16 @@ TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkData) {
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
                                   "2f3b ] 3b 4b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
   const BookmarkNode* other = model->other_node();
   const std::string other_string("O1b O2b O3f:[ O3f1b O3f2f ] "
                                  "O4f:[ O4f1b O4f2f ] 05b ");
-  test::AddNodesFromModelString(model, other, other_string);
+  bookmarks::test::AddNodesFromModelString(model, other, other_string);
 
   // Validate initial model.
-  std::string actual = test::ModelStringFromNode(root);
+  std::string actual = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actual);
-  actual = test::ModelStringFromNode(other);
+  actual = bookmarks::test::ModelStringFromNode(other);
   EXPECT_EQ(other_string, actual);
 
   // Remember the little ones.
@@ -1901,7 +1951,7 @@ TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkData) {
   // Verify the model.
   const std::string expected("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
                              "2f3b ] O3f:[ O3f1b O3f2f ] 3b 4b ");
-  actual = test::ModelStringFromNode(root);
+  actual = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(expected, actual);
   oldChildCount = newChildCount;
 
@@ -1921,7 +1971,7 @@ TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkData) {
   const std::string expected1("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
                               "2f3b O4f:[ O4f1b O4f2f ] ] O3f:[ O3f1b O3f2f ] "
                               "3b 4b ");
-  actual = test::ModelStringFromNode(root);
+  actual = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(expected1, actual);
 }
 
@@ -1930,10 +1980,10 @@ TEST_F(BookmarkBarControllerDragDropTest, AddURLs) {
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
                                  "2f3b ] 3b 4b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
 
   // Validate initial model.
-  std::string actual = test::ModelStringFromNode(root);
+  std::string actual = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actual);
 
   // Remember the children.
@@ -1953,7 +2003,7 @@ TEST_F(BookmarkBarControllerDragDropTest, AddURLs) {
   // Verify the model.
   const std::string expected("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
                              "2f3b ] SiteA SiteB 3b 4b ");
-  actual = test::ModelStringFromNode(root);
+  actual = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(expected, actual);
 }
 
@@ -1961,10 +2011,10 @@ TEST_F(BookmarkBarControllerDragDropTest, ControllerForNode) {
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
 
   // Validate initial model.
-  std::string actualModelString = test::ModelStringFromNode(root);
+  std::string actualModelString = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actualModelString);
 
   // Find the main bar controller.
@@ -1977,15 +2027,15 @@ TEST_F(BookmarkBarControllerDragDropTest, DropPositionIndicator) {
   BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2b 2f3b ] 3b 4b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
 
   // Hide the apps shortcut.
-  profile()->GetPrefs()->SetBoolean(prefs::kShowAppsShortcutInBookmarkBar,
-                                    false);
+  profile()->GetPrefs()->SetBoolean(
+      bookmarks::prefs::kShowAppsShortcutInBookmarkBar, false);
   ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]);
 
   // Validate initial model.
-  std::string actualModel = test::ModelStringFromNode(root);
+  std::string actualModel = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actualModel);
 
   // Test a series of points starting at the right edge of the bar.
@@ -2052,10 +2102,10 @@ TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkDataToTrash) {
   const BookmarkNode* root = model->bookmark_bar_node();
   const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
                                   "2f3b ] 3b 4b ");
-  test::AddNodesFromModelString(model, root, model_string);
+  bookmarks::test::AddNodesFromModelString(model, root, model_string);
 
   // Validate initial model.
-  std::string actual = test::ModelStringFromNode(root);
+  std::string actual = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(model_string, actual);
 
   int oldChildCount = root->child_count();
@@ -2072,7 +2122,7 @@ TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkDataToTrash) {
   // Verify the model.
   const std::string expected("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
                              "2f3b ] 4b ");
-  actual = test::ModelStringFromNode(root);
+  actual = bookmarks::test::ModelStringFromNode(root);
   EXPECT_EQ(expected, actual);
 
   // Verify that the other bookmark folder can't be deleted.