| 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 CocoaTest { |
| 15 public: | 15 public: |
| 16 CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc... | |
| 17 BrowserTestHelper helper_; | 16 BrowserTestHelper helper_; |
| 18 }; | 17 }; |
| 19 | 18 |
| 20 | 19 |
| 21 TEST_F(BookmarkNameFolderControllerTest, AddNew) { | 20 TEST_F(BookmarkNameFolderControllerTest, AddNew) { |
| 22 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | 21 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); |
| 23 const BookmarkNode* parent = model->GetBookmarkBarNode(); | 22 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 24 const BookmarkNode* node = NULL; | 23 const BookmarkNode* node = NULL; |
| 25 EXPECT_EQ(0, parent->GetChildCount()); | 24 EXPECT_EQ(0, parent->GetChildCount()); |
| 26 | 25 |
| 27 scoped_nsobject<BookmarkNameFolderController> | 26 scoped_nsobject<BookmarkNameFolderController> |
| 28 controller([[BookmarkNameFolderController alloc] | 27 controller([[BookmarkNameFolderController alloc] |
| 29 initWithParentWindow:cocoa_helper_.window() | 28 initWithParentWindow:test_window() |
| 30 profile:helper_.profile() | 29 profile:helper_.profile() |
| 31 node:node]); | 30 node:node]); |
| 32 [controller window]; // force nib load | 31 [controller window]; // force nib load |
| 33 | 32 |
| 34 // Do nothing. | 33 // Do nothing. |
| 35 [controller cancel:nil]; | 34 [controller cancel:nil]; |
| 36 EXPECT_EQ(0, parent->GetChildCount()); | 35 EXPECT_EQ(0, parent->GetChildCount()); |
| 37 | 36 |
| 38 // Change name then cancel. | 37 // Change name then cancel. |
| 39 [controller setFolderName:@"Bozo"]; | 38 [controller setFolderName:@"Bozo"]; |
| 40 [controller cancel:nil]; | 39 [controller cancel:nil]; |
| 41 EXPECT_EQ(0, parent->GetChildCount()); | 40 EXPECT_EQ(0, parent->GetChildCount()); |
| 42 | 41 |
| 43 // Add a new folder. | 42 // Add a new folder. |
| 44 [controller ok:nil]; | 43 [controller ok:nil]; |
| 45 EXPECT_EQ(1, parent->GetChildCount()); | 44 EXPECT_EQ(1, parent->GetChildCount()); |
| 46 EXPECT_TRUE(parent->GetChild(0)->is_folder()); | 45 EXPECT_TRUE(parent->GetChild(0)->is_folder()); |
| 47 EXPECT_EQ(L"Bozo", parent->GetChild(0)->GetTitle()); | 46 EXPECT_EQ(L"Bozo", parent->GetChild(0)->GetTitle()); |
| 48 } | 47 } |
| 49 | 48 |
| 50 | 49 |
| 51 // Make sure we are allowed to create a folder named "New Folder". | 50 // Make sure we are allowed to create a folder named "New Folder". |
| 52 TEST_F(BookmarkNameFolderControllerTest, AddNewDefaultName) { | 51 TEST_F(BookmarkNameFolderControllerTest, AddNewDefaultName) { |
| 53 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | 52 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); |
| 54 const BookmarkNode* parent = model->GetBookmarkBarNode(); | 53 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 55 EXPECT_EQ(0, parent->GetChildCount()); | 54 EXPECT_EQ(0, parent->GetChildCount()); |
| 56 | 55 |
| 57 scoped_nsobject<BookmarkNameFolderController> | 56 scoped_nsobject<BookmarkNameFolderController> |
| 58 controller([[BookmarkNameFolderController alloc] | 57 controller([[BookmarkNameFolderController alloc] |
| 59 initWithParentWindow:cocoa_helper_.window() | 58 initWithParentWindow:test_window() |
| 60 profile:helper_.profile() | 59 profile:helper_.profile() |
| 61 node:NULL]); | 60 node:NULL]); |
| 62 [controller window]; // force nib load | 61 [controller window]; // force nib load |
| 63 | 62 |
| 64 // Click OK without changing the name | 63 // Click OK without changing the name |
| 65 [controller ok:nil]; | 64 [controller ok:nil]; |
| 66 EXPECT_EQ(1, parent->GetChildCount()); | 65 EXPECT_EQ(1, parent->GetChildCount()); |
| 67 EXPECT_TRUE(parent->GetChild(0)->is_folder()); | 66 EXPECT_TRUE(parent->GetChild(0)->is_folder()); |
| 68 } | 67 } |
| 69 | 68 |
| 70 | 69 |
| 71 TEST_F(BookmarkNameFolderControllerTest, Rename) { | 70 TEST_F(BookmarkNameFolderControllerTest, Rename) { |
| 72 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | 71 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); |
| 73 const BookmarkNode* parent = model->GetBookmarkBarNode(); | 72 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 74 const BookmarkNode* folder = model->AddGroup(parent, | 73 const BookmarkNode* folder = model->AddGroup(parent, |
| 75 parent->GetChildCount(), | 74 parent->GetChildCount(), |
| 76 L"group"); | 75 L"group"); |
| 77 | 76 |
| 78 // Rename the folder by creating a controller that originates from | 77 // Rename the folder by creating a controller that originates from |
| 79 // the node. | 78 // the node. |
| 80 scoped_nsobject<BookmarkNameFolderController> | 79 scoped_nsobject<BookmarkNameFolderController> |
| 81 controller([[BookmarkNameFolderController alloc] | 80 controller([[BookmarkNameFolderController alloc] |
| 82 initWithParentWindow:cocoa_helper_.window() | 81 initWithParentWindow:test_window() |
| 83 profile:helper_.profile() | 82 profile:helper_.profile() |
| 84 node:folder]); | 83 node:folder]); |
| 85 [controller window]; // force nib load | 84 [controller window]; // force nib load |
| 86 | 85 |
| 87 EXPECT_TRUE([[controller folderName] isEqual:@"group"]); | 86 EXPECT_TRUE([[controller folderName] isEqual:@"group"]); |
| 88 [controller setFolderName:@"Zobo"]; | 87 [controller setFolderName:@"Zobo"]; |
| 89 [controller ok:nil]; | 88 [controller ok:nil]; |
| 90 EXPECT_EQ(1, parent->GetChildCount()); | 89 EXPECT_EQ(1, parent->GetChildCount()); |
| 91 EXPECT_TRUE(parent->GetChild(0)->is_folder()); | 90 EXPECT_TRUE(parent->GetChild(0)->is_folder()); |
| 92 EXPECT_EQ(L"Zobo", parent->GetChild(0)->GetTitle()); | 91 EXPECT_EQ(L"Zobo", parent->GetChild(0)->GetTitle()); |
| 93 } | 92 } |
| 94 | 93 |
| 95 TEST_F(BookmarkNameFolderControllerTest, EditAndConfirmOKButton) { | 94 TEST_F(BookmarkNameFolderControllerTest, EditAndConfirmOKButton) { |
| 96 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | 95 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); |
| 97 const BookmarkNode* parent = model->GetBookmarkBarNode(); | 96 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 98 const BookmarkNode* node = NULL; | 97 const BookmarkNode* node = NULL; |
| 99 EXPECT_EQ(0, parent->GetChildCount()); | 98 EXPECT_EQ(0, parent->GetChildCount()); |
| 100 | 99 |
| 101 scoped_nsobject<BookmarkNameFolderController> | 100 scoped_nsobject<BookmarkNameFolderController> |
| 102 controller([[BookmarkNameFolderController alloc] | 101 controller([[BookmarkNameFolderController alloc] |
| 103 initWithParentWindow:cocoa_helper_.window() | 102 initWithParentWindow:test_window() |
| 104 profile:helper_.profile() | 103 profile:helper_.profile() |
| 105 node:node]); | 104 node:node]); |
| 106 [controller window]; // force nib load | 105 [controller window]; // force nib load |
| 107 | 106 |
| 108 // We start enabled since the default "New Folder" is added for us. | 107 // We start enabled since the default "New Folder" is added for us. |
| 109 EXPECT_TRUE([[controller okButton] isEnabled]); | 108 EXPECT_TRUE([[controller okButton] isEnabled]); |
| 110 | 109 |
| 111 [controller setFolderName:@"Bozo"]; | 110 [controller setFolderName:@"Bozo"]; |
| 112 EXPECT_TRUE([[controller okButton] isEnabled]); | 111 EXPECT_TRUE([[controller okButton] isEnabled]); |
| 113 [controller setFolderName:@" "]; | 112 [controller setFolderName:@" "]; |
| 114 EXPECT_TRUE([[controller okButton] isEnabled]); | 113 EXPECT_TRUE([[controller okButton] isEnabled]); |
| 115 | 114 |
| 116 [controller setFolderName:@""]; | 115 [controller setFolderName:@""]; |
| 117 EXPECT_FALSE([[controller okButton] isEnabled]); | 116 EXPECT_FALSE([[controller okButton] isEnabled]); |
| 118 } | 117 } |
| OLD | NEW |