Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_name_folder_controller_unittest.mm

Issue 17593006: mac: Update clients of scoped_nsobject.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: iwyu, scoped_nsprotocol Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/memory/scoped_nsobject.h" 7 #include "base/mac/scoped_nsobject.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 9 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
10 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_name_folder_controller.h" 10 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_name_folder_controller.h"
11 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" 11 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #import "testing/gtest_mac.h" 13 #import "testing/gtest_mac.h"
14 #include "testing/platform_test.h" 14 #include "testing/platform_test.h"
15 15
16 class BookmarkNameFolderControllerTest : public CocoaProfileTest { 16 class BookmarkNameFolderControllerTest : public CocoaProfileTest {
17 }; 17 };
18 18
19 19
20 // Simple add of a node (at the end). 20 // Simple add of a node (at the end).
21 TEST_F(BookmarkNameFolderControllerTest, AddNew) { 21 TEST_F(BookmarkNameFolderControllerTest, AddNew) {
22 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 22 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
23 const BookmarkNode* parent = model->bookmark_bar_node(); 23 const BookmarkNode* parent = model->bookmark_bar_node();
24 EXPECT_EQ(0, parent->child_count()); 24 EXPECT_EQ(0, parent->child_count());
25 25
26 scoped_nsobject<BookmarkNameFolderController> 26 base::scoped_nsobject<BookmarkNameFolderController> controller(
27 controller([[BookmarkNameFolderController alloc] 27 [[BookmarkNameFolderController alloc] initWithParentWindow:test_window()
28 initWithParentWindow:test_window() 28 profile:profile()
29 profile:profile() 29 parent:parent
30 parent:parent 30 newIndex:0]);
31 newIndex:0]);
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->child_count()); 35 EXPECT_EQ(0, parent->child_count());
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->child_count()); 40 EXPECT_EQ(0, parent->child_count());
(...skipping 10 matching lines...) Expand all
52 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 51 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
53 const BookmarkNode* parent = model->bookmark_bar_node(); 52 const BookmarkNode* parent = model->bookmark_bar_node();
54 53
55 // Add 2 nodes. We will place the new folder in the middle of these. 54 // Add 2 nodes. We will place the new folder in the middle of these.
56 model->AddURL(parent, 0, ASCIIToUTF16("title 1"), 55 model->AddURL(parent, 0, ASCIIToUTF16("title 1"),
57 GURL("http://www.google.com")); 56 GURL("http://www.google.com"));
58 model->AddURL(parent, 1, ASCIIToUTF16("title 3"), 57 model->AddURL(parent, 1, ASCIIToUTF16("title 3"),
59 GURL("http://www.google.com")); 58 GURL("http://www.google.com"));
60 EXPECT_EQ(2, parent->child_count()); 59 EXPECT_EQ(2, parent->child_count());
61 60
62 scoped_nsobject<BookmarkNameFolderController> 61 base::scoped_nsobject<BookmarkNameFolderController> controller(
63 controller([[BookmarkNameFolderController alloc] 62 [[BookmarkNameFolderController alloc] initWithParentWindow:test_window()
64 initWithParentWindow:test_window() 63 profile:profile()
65 profile:profile() 64 parent:parent
66 parent:parent 65 newIndex:1]);
67 newIndex:1]);
68 [controller window]; // force nib load 66 [controller window]; // force nib load
69 67
70 // Add a new folder. 68 // Add a new folder.
71 [controller setFolderName:@"middle"]; 69 [controller setFolderName:@"middle"];
72 [controller ok:nil]; 70 [controller ok:nil];
73 71
74 // Confirm we now have 3, and that the new one is in the middle. 72 // Confirm we now have 3, and that the new one is in the middle.
75 EXPECT_EQ(3, parent->child_count()); 73 EXPECT_EQ(3, parent->child_count());
76 EXPECT_TRUE(parent->GetChild(1)->is_folder()); 74 EXPECT_TRUE(parent->GetChild(1)->is_folder());
77 EXPECT_EQ(ASCIIToUTF16("middle"), parent->GetChild(1)->GetTitle()); 75 EXPECT_EQ(ASCIIToUTF16("middle"), parent->GetChild(1)->GetTitle());
78 } 76 }
79 77
80 // Make sure we are allowed to create a folder named "New Folder". 78 // Make sure we are allowed to create a folder named "New Folder".
81 TEST_F(BookmarkNameFolderControllerTest, AddNewDefaultName) { 79 TEST_F(BookmarkNameFolderControllerTest, AddNewDefaultName) {
82 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 80 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
83 const BookmarkNode* parent = model->bookmark_bar_node(); 81 const BookmarkNode* parent = model->bookmark_bar_node();
84 EXPECT_EQ(0, parent->child_count()); 82 EXPECT_EQ(0, parent->child_count());
85 83
86 scoped_nsobject<BookmarkNameFolderController> 84 base::scoped_nsobject<BookmarkNameFolderController> controller(
87 controller([[BookmarkNameFolderController alloc] 85 [[BookmarkNameFolderController alloc] initWithParentWindow:test_window()
88 initWithParentWindow:test_window() 86 profile:profile()
89 profile:profile() 87 parent:parent
90 parent:parent 88 newIndex:0]);
91 newIndex:0]);
92 89
93 [controller window]; // force nib load 90 [controller window]; // force nib load
94 91
95 // Click OK without changing the name 92 // Click OK without changing the name
96 [controller ok:nil]; 93 [controller ok:nil];
97 EXPECT_EQ(1, parent->child_count()); 94 EXPECT_EQ(1, parent->child_count());
98 EXPECT_TRUE(parent->GetChild(0)->is_folder()); 95 EXPECT_TRUE(parent->GetChild(0)->is_folder());
99 } 96 }
100 97
101 // Make sure we are allowed to create a folder with an empty name. 98 // Make sure we are allowed to create a folder with an empty name.
102 TEST_F(BookmarkNameFolderControllerTest, AddNewBlankName) { 99 TEST_F(BookmarkNameFolderControllerTest, AddNewBlankName) {
103 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 100 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
104 const BookmarkNode* parent = model->bookmark_bar_node(); 101 const BookmarkNode* parent = model->bookmark_bar_node();
105 EXPECT_EQ(0, parent->child_count()); 102 EXPECT_EQ(0, parent->child_count());
106 103
107 scoped_nsobject<BookmarkNameFolderController> 104 base::scoped_nsobject<BookmarkNameFolderController> controller(
108 controller([[BookmarkNameFolderController alloc] 105 [[BookmarkNameFolderController alloc] initWithParentWindow:test_window()
109 initWithParentWindow:test_window() 106 profile:profile()
110 profile:profile() 107 parent:parent
111 parent:parent 108 newIndex:0]);
112 newIndex:0]);
113 [controller window]; // force nib load 109 [controller window]; // force nib load
114 110
115 // Change the name to blank, click OK. 111 // Change the name to blank, click OK.
116 [controller setFolderName:@""]; 112 [controller setFolderName:@""];
117 [controller ok:nil]; 113 [controller ok:nil];
118 EXPECT_EQ(1, parent->child_count()); 114 EXPECT_EQ(1, parent->child_count());
119 EXPECT_TRUE(parent->GetChild(0)->is_folder()); 115 EXPECT_TRUE(parent->GetChild(0)->is_folder());
120 } 116 }
121 117
122 TEST_F(BookmarkNameFolderControllerTest, Rename) { 118 TEST_F(BookmarkNameFolderControllerTest, Rename) {
123 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 119 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
124 const BookmarkNode* parent = model->bookmark_bar_node(); 120 const BookmarkNode* parent = model->bookmark_bar_node();
125 const BookmarkNode* folder = model->AddFolder(parent, 121 const BookmarkNode* folder = model->AddFolder(parent,
126 parent->child_count(), 122 parent->child_count(),
127 ASCIIToUTF16("folder")); 123 ASCIIToUTF16("folder"));
128 124
129 // Rename the folder by creating a controller that originates from 125 // Rename the folder by creating a controller that originates from
130 // the node. 126 // the node.
131 scoped_nsobject<BookmarkNameFolderController> 127 base::scoped_nsobject<BookmarkNameFolderController> controller(
132 controller([[BookmarkNameFolderController alloc] 128 [[BookmarkNameFolderController alloc] initWithParentWindow:test_window()
133 initWithParentWindow:test_window() 129 profile:profile()
134 profile:profile() 130 node:folder]);
135 node:folder]);
136 [controller window]; // force nib load 131 [controller window]; // force nib load
137 132
138 EXPECT_NSEQ(@"folder", [controller folderName]); 133 EXPECT_NSEQ(@"folder", [controller folderName]);
139 [controller setFolderName:@"Zobo"]; 134 [controller setFolderName:@"Zobo"];
140 [controller ok:nil]; 135 [controller ok:nil];
141 EXPECT_EQ(1, parent->child_count()); 136 EXPECT_EQ(1, parent->child_count());
142 EXPECT_TRUE(parent->GetChild(0)->is_folder()); 137 EXPECT_TRUE(parent->GetChild(0)->is_folder());
143 EXPECT_EQ(ASCIIToUTF16("Zobo"), parent->GetChild(0)->GetTitle()); 138 EXPECT_EQ(ASCIIToUTF16("Zobo"), parent->GetChild(0)->GetTitle());
144 } 139 }
145 140
146 TEST_F(BookmarkNameFolderControllerTest, EditAndConfirmOKButton) { 141 TEST_F(BookmarkNameFolderControllerTest, EditAndConfirmOKButton) {
147 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 142 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
148 const BookmarkNode* parent = model->bookmark_bar_node(); 143 const BookmarkNode* parent = model->bookmark_bar_node();
149 EXPECT_EQ(0, parent->child_count()); 144 EXPECT_EQ(0, parent->child_count());
150 145
151 scoped_nsobject<BookmarkNameFolderController> 146 base::scoped_nsobject<BookmarkNameFolderController> controller(
152 controller([[BookmarkNameFolderController alloc] 147 [[BookmarkNameFolderController alloc] initWithParentWindow:test_window()
153 initWithParentWindow:test_window() 148 profile:profile()
154 profile:profile() 149 parent:parent
155 parent:parent 150 newIndex:0]);
156 newIndex:0]);
157 [controller window]; // force nib load 151 [controller window]; // force nib load
158 152
159 // We start enabled since the default "New Folder" is added for us. 153 // We start enabled since the default "New Folder" is added for us.
160 EXPECT_TRUE([[controller okButton] isEnabled]); 154 EXPECT_TRUE([[controller okButton] isEnabled]);
161 155
162 [controller setFolderName:@"Bozo"]; 156 [controller setFolderName:@"Bozo"];
163 EXPECT_TRUE([[controller okButton] isEnabled]); 157 EXPECT_TRUE([[controller okButton] isEnabled]);
164 [controller setFolderName:@" "]; 158 [controller setFolderName:@" "];
165 EXPECT_TRUE([[controller okButton] isEnabled]); 159 EXPECT_TRUE([[controller okButton] isEnabled]);
166 160
167 [controller setFolderName:@""]; 161 [controller setFolderName:@""];
168 EXPECT_TRUE([[controller okButton] isEnabled]); 162 EXPECT_TRUE([[controller okButton] isEnabled]);
169 } 163 }
170 164
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698