| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
| 6 | 6 |
| 7 #include "base/scoped_nsobject.h" | 7 #include "base/scoped_nsobject.h" |
| 8 #import "chrome/browser/cocoa/bookmark_name_folder_controller.h" | 8 #import "chrome/browser/cocoa/bookmark_name_folder_controller.h" |
| 9 #include "chrome/browser/cocoa/browser_test_helper.h" | 9 #include "chrome/browser/cocoa/browser_test_helper.h" |
| 10 #import "chrome/browser/cocoa/cocoa_test_helper.h" | 10 #import "chrome/browser/cocoa/cocoa_test_helper.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
| 12 #include "testing/platform_test.h" | 12 #include "testing/platform_test.h" |
| 13 | 13 |
| 14 class BookmarkNameFolderControllerTest : public PlatformTest { | 14 class BookmarkNameFolderControllerTest : public PlatformTest { |
| 15 public: | 15 public: |
| 16 CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc... | 16 CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc... |
| 17 BrowserTestHelper helper_; | 17 BrowserTestHelper helper_; |
| 18 }; | 18 }; |
| 19 | 19 |
| 20 | 20 |
| 21 TEST_F(BookmarkNameFolderControllerTest, AddAndRename) { | 21 TEST_F(BookmarkNameFolderControllerTest, AddNew) { |
| 22 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | 22 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); |
| 23 const BookmarkNode* parent = model->GetBookmarkBarNode(); | 23 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 24 const BookmarkNode* node = NULL; | 24 const BookmarkNode* node = NULL; |
| 25 EXPECT_EQ(0, parent->GetChildCount()); | 25 EXPECT_EQ(0, parent->GetChildCount()); |
| 26 | 26 |
| 27 scoped_nsobject<BookmarkNameFolderController> | 27 scoped_nsobject<BookmarkNameFolderController> |
| 28 controller([[BookmarkNameFolderController alloc] | 28 controller([[BookmarkNameFolderController alloc] |
| 29 initWithParentWindow:cocoa_helper_.window() | 29 initWithParentWindow:cocoa_helper_.window() |
| 30 profile:helper_.profile() | 30 profile:helper_.profile() |
| 31 node:node]); | 31 node:node]); |
| 32 [controller window]; // force nib load | 32 [controller window]; // force nib load |
| 33 | 33 |
| 34 // Do nothing. | 34 // Do nothing. |
| 35 [controller cancel:nil]; | 35 [controller cancel:nil]; |
| 36 EXPECT_EQ(0, parent->GetChildCount()); | 36 EXPECT_EQ(0, parent->GetChildCount()); |
| 37 | 37 |
| 38 // Change name then cancel. | 38 // Change name then cancel. |
| 39 [controller setFolderName:@"Bozo"]; | 39 [controller setFolderName:@"Bozo"]; |
| 40 [controller cancel:nil]; | 40 [controller cancel:nil]; |
| 41 EXPECT_EQ(0, parent->GetChildCount()); | 41 EXPECT_EQ(0, parent->GetChildCount()); |
| 42 | 42 |
| 43 // Add a new folder. | 43 // Add a new folder. |
| 44 [controller ok:nil]; | 44 [controller ok:nil]; |
| 45 EXPECT_EQ(1, parent->GetChildCount()); | 45 EXPECT_EQ(1, parent->GetChildCount()); |
| 46 EXPECT_TRUE(parent->GetChild(0)->is_folder()); | 46 EXPECT_TRUE(parent->GetChild(0)->is_folder()); |
| 47 EXPECT_EQ(L"Bozo", parent->GetChild(0)->GetTitle()); | 47 EXPECT_EQ(L"Bozo", parent->GetChild(0)->GetTitle()); |
| 48 } |
| 49 |
| 50 |
| 51 // Make sure we are allowed to create a folder named "New Folder". |
| 52 TEST_F(BookmarkNameFolderControllerTest, AddNewDefaultName) { |
| 53 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); |
| 54 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 55 EXPECT_EQ(0, parent->GetChildCount()); |
| 56 |
| 57 scoped_nsobject<BookmarkNameFolderController> |
| 58 controller([[BookmarkNameFolderController alloc] |
| 59 initWithParentWindow:cocoa_helper_.window() |
| 60 profile:helper_.profile() |
| 61 node:NULL]); |
| 62 [controller window]; // force nib load |
| 63 |
| 64 // Click OK without changing the name |
| 65 [controller ok:nil]; |
| 66 EXPECT_EQ(1, parent->GetChildCount()); |
| 67 EXPECT_TRUE(parent->GetChild(0)->is_folder()); |
| 68 } |
| 69 |
| 70 |
| 71 TEST_F(BookmarkNameFolderControllerTest, Rename) { |
| 72 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); |
| 73 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 74 const BookmarkNode* folder = model->AddGroup(parent, |
| 75 parent->GetChildCount(), |
| 76 L"group"); |
| 48 | 77 |
| 49 // Rename the folder by creating a controller that originates from | 78 // Rename the folder by creating a controller that originates from |
| 50 // the node. | 79 // the node. |
| 51 node = parent->GetChild(0); | 80 scoped_nsobject<BookmarkNameFolderController> |
| 52 controller.reset([[BookmarkNameFolderController alloc] | 81 controller([[BookmarkNameFolderController alloc] |
| 53 initWithParentWindow:cocoa_helper_.window() | 82 initWithParentWindow:cocoa_helper_.window() |
| 54 profile:helper_.profile() | 83 profile:helper_.profile() |
| 55 node:node]); | 84 node:folder]); |
| 56 [controller window]; // force nib load | 85 [controller window]; // force nib load |
| 57 | 86 |
| 87 EXPECT_TRUE([[controller folderName] isEqual:@"group"]); |
| 58 [controller setFolderName:@"Zobo"]; | 88 [controller setFolderName:@"Zobo"]; |
| 59 [controller ok:nil]; | 89 [controller ok:nil]; |
| 60 EXPECT_EQ(1, parent->GetChildCount()); | 90 EXPECT_EQ(1, parent->GetChildCount()); |
| 61 EXPECT_TRUE(parent->GetChild(0)->is_folder()); | 91 EXPECT_TRUE(parent->GetChild(0)->is_folder()); |
| 62 EXPECT_EQ(L"Zobo", parent->GetChild(0)->GetTitle()); | 92 EXPECT_EQ(L"Zobo", parent->GetChild(0)->GetTitle()); |
| 63 } | 93 } |
| 64 | 94 |
| 65 TEST_F(BookmarkNameFolderControllerTest, EditAndConfirmOKButton) { | 95 TEST_F(BookmarkNameFolderControllerTest, EditAndConfirmOKButton) { |
| 66 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | 96 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); |
| 67 const BookmarkNode* parent = model->GetBookmarkBarNode(); | 97 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 79 EXPECT_TRUE([[controller okButton] isEnabled]); | 109 EXPECT_TRUE([[controller okButton] isEnabled]); |
| 80 | 110 |
| 81 [controller setFolderName:@"Bozo"]; | 111 [controller setFolderName:@"Bozo"]; |
| 82 EXPECT_TRUE([[controller okButton] isEnabled]); | 112 EXPECT_TRUE([[controller okButton] isEnabled]); |
| 83 [controller setFolderName:@" "]; | 113 [controller setFolderName:@" "]; |
| 84 EXPECT_TRUE([[controller okButton] isEnabled]); | 114 EXPECT_TRUE([[controller okButton] isEnabled]); |
| 85 | 115 |
| 86 [controller setFolderName:@""]; | 116 [controller setFolderName:@""]; |
| 87 EXPECT_FALSE([[controller okButton] isEnabled]); | 117 EXPECT_FALSE([[controller okButton] isEnabled]); |
| 88 } | 118 } |
| OLD | NEW |