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 |