| 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" | |
| 8 #include "base/sys_string_conversions.h" | 7 #include "base/sys_string_conversions.h" |
| 9 #import "chrome/browser/cocoa/bookmark_editor_controller.h" | 8 #import "chrome/browser/cocoa/bookmark_editor_controller.h" |
| 10 #include "chrome/browser/cocoa/browser_test_helper.h" | 9 #include "chrome/browser/cocoa/browser_test_helper.h" |
| 11 #import "chrome/browser/cocoa/cocoa_test_helper.h" | 10 #import "chrome/browser/cocoa/cocoa_test_helper.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
| 13 #include "testing/platform_test.h" | 12 #include "testing/platform_test.h" |
| 14 | 13 |
| 15 class BookmarkEditorControllerTest : public CocoaTest { | 14 class BookmarkEditorControllerTest : public CocoaTest { |
| 16 public: | 15 public: |
| 17 BrowserTestHelper helper_; | 16 BrowserTestHelper browser_helper_; |
| 18 const BookmarkNode* default_node_; | 17 const BookmarkNode* default_node_; |
| 19 const BookmarkNode* default_parent_; | 18 const BookmarkNode* default_parent_; |
| 20 const char* default_name_; | 19 const char* default_name_; |
| 21 std::wstring default_title_; | 20 std::wstring default_title_; |
| 22 BookmarkEditorController* default_controller_; | 21 BookmarkEditorController* controller_; |
| 23 | 22 |
| 24 virtual void SetUp() { | 23 virtual void SetUp() { |
| 25 CocoaTest::SetUp(); | 24 CocoaTest::SetUp(); |
| 26 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | 25 BookmarkModel* model = browser_helper_.profile()->GetBookmarkModel(); |
| 27 default_parent_ = model->GetBookmarkBarNode(); | 26 default_parent_ = model->GetBookmarkBarNode(); |
| 28 default_name_ = "http://www.zim-bop-a-dee.com/"; | 27 default_name_ = "http://www.zim-bop-a-dee.com/"; |
| 29 default_title_ = L"ooh title"; | 28 default_title_ = L"ooh title"; |
| 30 const BookmarkNode* default_node = model->AddURL(default_parent_, 0, | 29 const BookmarkNode* default_node = model->AddURL(default_parent_, 0, |
| 31 default_title_, | 30 default_title_, |
| 32 GURL(default_name_)); | 31 GURL(default_name_)); |
| 33 default_controller_ = [[BookmarkEditorController alloc] | 32 controller_ = [[BookmarkEditorController alloc] |
| 34 initWithParentWindow:test_window() | 33 initWithParentWindow:test_window() |
| 35 profile:helper_.profile() | 34 profile:browser_helper_.profile() |
| 36 parent:default_parent_ | 35 parent:default_parent_ |
| 37 node:default_node | 36 node:default_node |
| 38 configuration:BookmarkEditor::NO_TREE | 37 configuration:BookmarkEditor::NO_TREE |
| 39 handler:nil]; | 38 handler:nil]; |
| 40 [default_controller_ window]; // Forces a nib load | 39 [controller_ runAsModalSheet]; |
| 41 } | 40 } |
| 42 | 41 |
| 43 virtual void TearDown() { | 42 virtual void TearDown() { |
| 44 [default_controller_ close]; | 43 controller_ = NULL; |
| 45 CocoaTest::TearDown(); | 44 CocoaTest::TearDown(); |
| 46 } | 45 } |
| 47 }; | 46 }; |
| 48 | 47 |
| 49 TEST_F(BookmarkEditorControllerTest, NoNodeNoTree) { | |
| 50 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | |
| 51 const BookmarkNode* parent = model->GetBookmarkBarNode(); | |
| 52 const BookmarkNode* node = NULL; | |
| 53 | |
| 54 BookmarkEditorController* controller = | |
| 55 [[BookmarkEditorController alloc] | |
| 56 initWithParentWindow:test_window() | |
| 57 profile:helper_.profile() | |
| 58 parent:parent | |
| 59 node:node | |
| 60 configuration:BookmarkEditor::NO_TREE | |
| 61 handler:nil]; | |
| 62 | |
| 63 EXPECT_NE((NSWindow*)nil, [controller window]); // Forces a nib load | |
| 64 EXPECT_EQ(@"", [controller displayName]); | |
| 65 EXPECT_EQ(@"", [controller displayURL]); | |
| 66 EXPECT_FALSE([controller okButtonEnabled]); | |
| 67 [controller close]; | |
| 68 } | |
| 69 | |
| 70 TEST_F(BookmarkEditorControllerTest, YesNodeShowTree) { | |
| 71 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | |
| 72 const BookmarkNode* parent = model->GetBookmarkBarNode(); | |
| 73 const char* url_name = "http://www.zim-bop-a-dee.com/"; | |
| 74 const BookmarkNode* node = model->AddURL(parent, 0, default_title_, | |
| 75 GURL(url_name)); | |
| 76 | |
| 77 BookmarkEditorController* controller = | |
| 78 [[BookmarkEditorController alloc] | |
| 79 initWithParentWindow:test_window() | |
| 80 profile:helper_.profile() | |
| 81 parent:parent | |
| 82 node:node | |
| 83 configuration:BookmarkEditor::SHOW_TREE | |
| 84 handler:nil]; | |
| 85 | |
| 86 EXPECT_NE((NSWindow*)nil, [controller window]); // Forces a nib load | |
| 87 EXPECT_TRUE([base::SysWideToNSString(default_title_) | |
| 88 isEqual:[controller displayName]]); | |
| 89 EXPECT_TRUE([[NSString stringWithCString:url_name | |
| 90 encoding:NSUTF8StringEncoding] | |
| 91 isEqual:[controller displayURL]]); | |
| 92 [controller close]; | |
| 93 } | |
| 94 | |
| 95 TEST_F(BookmarkEditorControllerTest, NoEdit) { | 48 TEST_F(BookmarkEditorControllerTest, NoEdit) { |
| 96 [default_controller_ ok:nil]; | 49 [controller_ cancel:nil]; |
| 97 ASSERT_EQ(default_parent_->GetChildCount(), 1); | 50 ASSERT_EQ(default_parent_->GetChildCount(), 1); |
| 98 const BookmarkNode* child = default_parent_->GetChild(0); | 51 const BookmarkNode* child = default_parent_->GetChild(0); |
| 99 EXPECT_EQ(child->GetTitle(), default_title_); | 52 EXPECT_EQ(child->GetTitle(), default_title_); |
| 100 EXPECT_EQ(child->GetURL(), GURL(default_name_)); | 53 EXPECT_EQ(child->GetURL(), GURL(default_name_)); |
| 101 } | 54 } |
| 102 | 55 |
| 103 TEST_F(BookmarkEditorControllerTest, EditTitle) { | 56 TEST_F(BookmarkEditorControllerTest, EditTitle) { |
| 104 [default_controller_ setDisplayName:@"whamma jamma bamma"]; | 57 [controller_ setDisplayName:@"whamma jamma bamma"]; |
| 105 [default_controller_ ok:nil]; | 58 [controller_ ok:nil]; |
| 106 ASSERT_EQ(default_parent_->GetChildCount(), 1); | 59 ASSERT_EQ(default_parent_->GetChildCount(), 1); |
| 107 const BookmarkNode* child = default_parent_->GetChild(0); | 60 const BookmarkNode* child = default_parent_->GetChild(0); |
| 108 EXPECT_EQ(child->GetTitle(), L"whamma jamma bamma"); | 61 EXPECT_EQ(child->GetTitle(), L"whamma jamma bamma"); |
| 109 EXPECT_EQ(child->GetURL(), GURL(default_name_)); | 62 EXPECT_EQ(child->GetURL(), GURL(default_name_)); |
| 110 } | 63 } |
| 111 | 64 |
| 112 TEST_F(BookmarkEditorControllerTest, EditURL) { | 65 TEST_F(BookmarkEditorControllerTest, EditURL) { |
| 113 EXPECT_TRUE([default_controller_ okButtonEnabled]); | 66 EXPECT_TRUE([controller_ okButtonEnabled]); |
| 114 [default_controller_ setDisplayURL:@"http://yellow-sneakers.com/"]; | 67 [controller_ setDisplayURL:@"http://yellow-sneakers.com/"]; |
| 115 EXPECT_TRUE([default_controller_ okButtonEnabled]); | 68 EXPECT_TRUE([controller_ okButtonEnabled]); |
| 116 [default_controller_ ok:nil]; | 69 [controller_ ok:nil]; |
| 117 ASSERT_EQ(default_parent_->GetChildCount(), 1); | 70 ASSERT_EQ(default_parent_->GetChildCount(), 1); |
| 118 const BookmarkNode* child = default_parent_->GetChild(0); | 71 const BookmarkNode* child = default_parent_->GetChild(0); |
| 119 EXPECT_EQ(child->GetTitle(), default_title_); | 72 EXPECT_EQ(child->GetTitle(), default_title_); |
| 120 EXPECT_EQ(child->GetURL(), GURL("http://yellow-sneakers.com/")); | 73 EXPECT_EQ(child->GetURL(), GURL("http://yellow-sneakers.com/")); |
| 121 } | 74 } |
| 122 | 75 |
| 123 TEST_F(BookmarkEditorControllerTest, EditAndFixPrefix) { | 76 TEST_F(BookmarkEditorControllerTest, EditAndFixPrefix) { |
| 124 [default_controller_ setDisplayURL:@"x"]; | 77 [controller_ setDisplayURL:@"x"]; |
| 125 [default_controller_ ok:nil]; | 78 [controller_ ok:nil]; |
| 126 ASSERT_EQ(default_parent_->GetChildCount(), 1); | 79 ASSERT_EQ(default_parent_->GetChildCount(), 1); |
| 127 const BookmarkNode* child = default_parent_->GetChild(0); | 80 const BookmarkNode* child = default_parent_->GetChild(0); |
| 128 EXPECT_TRUE(child->GetURL().is_valid()); | 81 EXPECT_TRUE(child->GetURL().is_valid()); |
| 129 } | 82 } |
| 130 | 83 |
| 131 TEST_F(BookmarkEditorControllerTest, EditAndConfirmOKButton) { | 84 TEST_F(BookmarkEditorControllerTest, EditAndConfirmOKButton) { |
| 132 // Confirm OK button enabled/disabled as appropriate: | 85 // Confirm OK button enabled/disabled as appropriate: |
| 133 // First test the URL. | 86 // First test the URL. |
| 134 EXPECT_TRUE([default_controller_ okButtonEnabled]); | 87 EXPECT_TRUE([controller_ okButtonEnabled]); |
| 135 [default_controller_ setDisplayURL:@""]; | 88 [controller_ setDisplayURL:@""]; |
| 136 EXPECT_FALSE([default_controller_ okButtonEnabled]); | 89 EXPECT_FALSE([controller_ okButtonEnabled]); |
| 137 [default_controller_ setDisplayURL:@"http://www.cnn.com"]; | 90 [controller_ setDisplayURL:@"http://www.cnn.com"]; |
| 138 EXPECT_TRUE([default_controller_ okButtonEnabled]); | 91 EXPECT_TRUE([controller_ okButtonEnabled]); |
| 139 // Then test the name. | 92 // Then test the name. |
| 140 [default_controller_ setDisplayName:@""]; | 93 [controller_ setDisplayName:@""]; |
| 141 EXPECT_TRUE([default_controller_ okButtonEnabled]); | 94 EXPECT_TRUE([controller_ okButtonEnabled]); |
| 142 [default_controller_ setDisplayName:@" "]; | 95 [controller_ setDisplayName:@" "]; |
| 143 EXPECT_TRUE([default_controller_ okButtonEnabled]); | 96 EXPECT_TRUE([controller_ okButtonEnabled]); |
| 144 // Then little mix of both. | 97 // Then little mix of both. |
| 145 [default_controller_ setDisplayName:@"name"]; | 98 [controller_ setDisplayName:@"name"]; |
| 146 EXPECT_TRUE([default_controller_ okButtonEnabled]); | 99 EXPECT_TRUE([controller_ okButtonEnabled]); |
| 147 [default_controller_ setDisplayURL:@""]; | 100 [controller_ setDisplayURL:@""]; |
| 148 EXPECT_FALSE([default_controller_ okButtonEnabled]); | 101 EXPECT_FALSE([controller_ okButtonEnabled]); |
| 102 [controller_ cancel:nil]; |
| 103 } |
| 104 |
| 105 class BookmarkEditorControllerNoNodeTest : public CocoaTest { |
| 106 public: |
| 107 BrowserTestHelper browser_helper_; |
| 108 BookmarkEditorController* controller_; |
| 109 |
| 110 virtual void SetUp() { |
| 111 CocoaTest::SetUp(); |
| 112 BookmarkModel* model = browser_helper_.profile()->GetBookmarkModel(); |
| 113 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 114 controller_ = [[BookmarkEditorController alloc] |
| 115 initWithParentWindow:test_window() |
| 116 profile:browser_helper_.profile() |
| 117 parent:parent |
| 118 node:NULL |
| 119 configuration:BookmarkEditor::NO_TREE |
| 120 handler:nil]; |
| 121 |
| 122 [controller_ runAsModalSheet]; |
| 123 } |
| 124 |
| 125 virtual void TearDown() { |
| 126 controller_ = NULL; |
| 127 CocoaTest::TearDown(); |
| 128 } |
| 129 }; |
| 130 |
| 131 TEST_F(BookmarkEditorControllerNoNodeTest, NoNodeNoTree) { |
| 132 EXPECT_EQ(@"", [controller_ displayName]); |
| 133 EXPECT_EQ(@"", [controller_ displayURL]); |
| 134 EXPECT_FALSE([controller_ okButtonEnabled]); |
| 135 [controller_ cancel:nil]; |
| 136 } |
| 137 |
| 138 class BookmarkEditorControllerYesNodeTest : public CocoaTest { |
| 139 public: |
| 140 BrowserTestHelper browser_helper_; |
| 141 std::wstring default_title_; |
| 142 const char* url_name_; |
| 143 BookmarkEditorController* controller_; |
| 144 |
| 145 virtual void SetUp() { |
| 146 CocoaTest::SetUp(); |
| 147 BookmarkModel* model = browser_helper_.profile()->GetBookmarkModel(); |
| 148 const BookmarkNode* parent = model->GetBookmarkBarNode(); |
| 149 default_title_ = L"wooh title"; |
| 150 url_name_ = "http://www.zoom-baby-doo-da.com/"; |
| 151 const BookmarkNode* node = model->AddURL(parent, 0, default_title_, |
| 152 GURL(url_name_)); |
| 153 controller_ = [[BookmarkEditorController alloc] |
| 154 initWithParentWindow:test_window() |
| 155 profile:browser_helper_.profile() |
| 156 parent:parent |
| 157 node:node |
| 158 configuration:BookmarkEditor::NO_TREE |
| 159 handler:nil]; |
| 160 |
| 161 [controller_ runAsModalSheet]; |
| 162 } |
| 163 |
| 164 virtual void TearDown() { |
| 165 controller_ = NULL; |
| 166 CocoaTest::TearDown(); |
| 167 } |
| 168 }; |
| 169 |
| 170 TEST_F(BookmarkEditorControllerYesNodeTest, YesNodeShowTree) { |
| 171 EXPECT_TRUE([base::SysWideToNSString(default_title_) |
| 172 isEqual:[controller_ displayName]]); |
| 173 EXPECT_TRUE([[NSString stringWithCString:url_name_ |
| 174 encoding:NSUTF8StringEncoding] |
| 175 isEqual:[controller_ displayURL]]); |
| 176 [controller_ cancel:nil]; |
| 149 } | 177 } |
| 150 | 178 |
| 151 class BookmarkEditorControllerTreeTest : public CocoaTest { | 179 class BookmarkEditorControllerTreeTest : public CocoaTest { |
| 152 public: | 180 public: |
| 153 BrowserTestHelper helper_; | 181 BrowserTestHelper browser_helper_; |
| 154 BookmarkEditorController* default_controller_; | 182 BookmarkEditorController* controller_; |
| 155 const BookmarkNode* group_a_; | 183 const BookmarkNode* group_a_; |
| 156 const BookmarkNode* group_b_; | 184 const BookmarkNode* group_b_; |
| 157 const BookmarkNode* group_bb_; | 185 const BookmarkNode* group_bb_; |
| 158 const BookmarkNode* group_c_; | 186 const BookmarkNode* group_c_; |
| 159 const BookmarkNode* bookmark_bb_3_; | 187 const BookmarkNode* bookmark_bb_3_; |
| 160 | 188 |
| 161 BookmarkEditorControllerTreeTest() { | 189 BookmarkEditorControllerTreeTest() { |
| 162 // Set up a small bookmark hierarchy, which will look as follows: | 190 // Set up a small bookmark hierarchy, which will look as follows: |
| 163 // a b c d | 191 // a b c d |
| 164 // a-0 b-0 c-0 | 192 // a-0 b-0 c-0 |
| 165 // a-1 bb-0 c-1 | 193 // a-1 bb-0 c-1 |
| 166 // a-2 bb-1 c-2 | 194 // a-2 bb-1 c-2 |
| 167 // bb-2 | 195 // bb-2 |
| 168 // bb-3 | 196 // bb-3 |
| 169 // bb-4 | 197 // bb-4 |
| 170 // b-1 | 198 // b-1 |
| 171 // b-2 | 199 // b-2 |
| 172 BookmarkModel& model(*(helper_.profile()->GetBookmarkModel())); | 200 BookmarkModel& model(*(browser_helper_.profile()->GetBookmarkModel())); |
| 173 const BookmarkNode* root = model.GetBookmarkBarNode(); | 201 const BookmarkNode* root = model.GetBookmarkBarNode(); |
| 174 group_a_ = model.AddGroup(root, 0, L"a"); | 202 group_a_ = model.AddGroup(root, 0, L"a"); |
| 175 model.AddURL(group_a_, 0, L"a-0", GURL("http://a-0.com")); | 203 model.AddURL(group_a_, 0, L"a-0", GURL("http://a-0.com")); |
| 176 model.AddURL(group_a_, 1, L"a-1", GURL("http://a-1.com")); | 204 model.AddURL(group_a_, 1, L"a-1", GURL("http://a-1.com")); |
| 177 model.AddURL(group_a_, 2, L"a-2", GURL("http://a-2.com")); | 205 model.AddURL(group_a_, 2, L"a-2", GURL("http://a-2.com")); |
| 178 | 206 |
| 179 group_b_ = model.AddGroup(root, 1, L"b"); | 207 group_b_ = model.AddGroup(root, 1, L"b"); |
| 180 model.AddURL(group_b_, 0, L"b-0", GURL("http://b-0.com")); | 208 model.AddURL(group_b_, 0, L"b-0", GURL("http://b-0.com")); |
| 181 group_bb_ = model.AddGroup(group_b_, 1, L"bb"); | 209 group_bb_ = model.AddGroup(group_b_, 1, L"bb"); |
| 182 model.AddURL(group_bb_, 0, L"bb-0", GURL("http://bb-0.com")); | 210 model.AddURL(group_bb_, 0, L"bb-0", GURL("http://bb-0.com")); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 193 model.AddURL(group_c_, 1, L"c-1", GURL("http://c-1.com")); | 221 model.AddURL(group_c_, 1, L"c-1", GURL("http://c-1.com")); |
| 194 model.AddURL(group_c_, 2, L"c-2", GURL("http://c-2.com")); | 222 model.AddURL(group_c_, 2, L"c-2", GURL("http://c-2.com")); |
| 195 model.AddURL(group_c_, 3, L"c-3", GURL("http://c-3.com")); | 223 model.AddURL(group_c_, 3, L"c-3", GURL("http://c-3.com")); |
| 196 | 224 |
| 197 model.AddURL(root, 3, L"d", GURL("http://d-0.com")); | 225 model.AddURL(root, 3, L"d", GURL("http://d-0.com")); |
| 198 } | 226 } |
| 199 | 227 |
| 200 virtual BookmarkEditorController* CreateController() { | 228 virtual BookmarkEditorController* CreateController() { |
| 201 return [[BookmarkEditorController alloc] | 229 return [[BookmarkEditorController alloc] |
| 202 initWithParentWindow:test_window() | 230 initWithParentWindow:test_window() |
| 203 profile:helper_.profile() | 231 profile:browser_helper_.profile() |
| 204 parent:group_bb_ | 232 parent:group_bb_ |
| 205 node:bookmark_bb_3_ | 233 node:bookmark_bb_3_ |
| 206 configuration:BookmarkEditor::SHOW_TREE | 234 configuration:BookmarkEditor::SHOW_TREE |
| 207 handler:nil]; | 235 handler:nil]; |
| 208 } | 236 } |
| 209 | 237 |
| 210 virtual void SetUp() { | 238 virtual void SetUp() { |
| 211 CocoaTest::SetUp(); | 239 controller_ = CreateController(); |
| 212 default_controller_ = CreateController(); | 240 [controller_ runAsModalSheet]; |
| 213 EXPECT_TRUE([default_controller_ window]); | |
| 214 } | 241 } |
| 215 | 242 |
| 216 virtual void TearDown() { | 243 virtual void TearDown() { |
| 217 [default_controller_ close]; | 244 controller_ = NULL; |
| 218 CocoaTest::TearDown(); | 245 CocoaTest::TearDown(); |
| 219 } | 246 } |
| 220 }; | 247 }; |
| 221 | 248 |
| 222 TEST_F(BookmarkEditorControllerTreeTest, VerifyBookmarkTestModel) { | 249 TEST_F(BookmarkEditorControllerTreeTest, VerifyBookmarkTestModel) { |
| 223 BookmarkModel& model(*(helper_.profile()->GetBookmarkModel())); | 250 BookmarkModel& model(*(browser_helper_.profile()->GetBookmarkModel())); |
| 224 model.root_node(); | 251 model.root_node(); |
| 225 const BookmarkNode& root(*model.GetBookmarkBarNode()); | 252 const BookmarkNode& root(*model.GetBookmarkBarNode()); |
| 226 EXPECT_EQ(4, root.GetChildCount()); | 253 EXPECT_EQ(4, root.GetChildCount()); |
| 227 const BookmarkNode* child = root.GetChild(0); | 254 const BookmarkNode* child = root.GetChild(0); |
| 228 EXPECT_EQ(3, child->GetChildCount()); | 255 EXPECT_EQ(3, child->GetChildCount()); |
| 229 const BookmarkNode* subchild = child->GetChild(0); | 256 const BookmarkNode* subchild = child->GetChild(0); |
| 230 EXPECT_EQ(0, subchild->GetChildCount()); | 257 EXPECT_EQ(0, subchild->GetChildCount()); |
| 231 subchild = child->GetChild(1); | 258 subchild = child->GetChild(1); |
| 232 EXPECT_EQ(0, subchild->GetChildCount()); | 259 EXPECT_EQ(0, subchild->GetChildCount()); |
| 233 subchild = child->GetChild(2); | 260 subchild = child->GetChild(2); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 260 EXPECT_EQ(0, subchild->GetChildCount()); | 287 EXPECT_EQ(0, subchild->GetChildCount()); |
| 261 subchild = child->GetChild(1); | 288 subchild = child->GetChild(1); |
| 262 EXPECT_EQ(0, subchild->GetChildCount()); | 289 EXPECT_EQ(0, subchild->GetChildCount()); |
| 263 subchild = child->GetChild(2); | 290 subchild = child->GetChild(2); |
| 264 EXPECT_EQ(0, subchild->GetChildCount()); | 291 EXPECT_EQ(0, subchild->GetChildCount()); |
| 265 subchild = child->GetChild(3); | 292 subchild = child->GetChild(3); |
| 266 EXPECT_EQ(0, subchild->GetChildCount()); | 293 EXPECT_EQ(0, subchild->GetChildCount()); |
| 267 | 294 |
| 268 child = root.GetChild(3); | 295 child = root.GetChild(3); |
| 269 EXPECT_EQ(0, child->GetChildCount()); | 296 EXPECT_EQ(0, child->GetChildCount()); |
| 297 [controller_ cancel:nil]; |
| 270 } | 298 } |
| 271 | 299 |
| 272 TEST_F(BookmarkEditorControllerTreeTest, RenameBookmarkInPlace) { | 300 TEST_F(BookmarkEditorControllerTreeTest, RenameBookmarkInPlace) { |
| 273 const BookmarkNode* oldParent = bookmark_bb_3_->GetParent(); | 301 const BookmarkNode* oldParent = bookmark_bb_3_->GetParent(); |
| 274 [default_controller_ setDisplayName:@"NEW NAME"]; | 302 [controller_ setDisplayName:@"NEW NAME"]; |
| 275 [default_controller_ ok:nil]; | 303 [controller_ ok:nil]; |
| 276 const BookmarkNode* newParent = bookmark_bb_3_->GetParent(); | 304 const BookmarkNode* newParent = bookmark_bb_3_->GetParent(); |
| 277 ASSERT_EQ(newParent, oldParent); | 305 ASSERT_EQ(newParent, oldParent); |
| 278 int childIndex = newParent->IndexOfChild(bookmark_bb_3_); | 306 int childIndex = newParent->IndexOfChild(bookmark_bb_3_); |
| 279 ASSERT_EQ(3, childIndex); | 307 ASSERT_EQ(3, childIndex); |
| 280 } | 308 } |
| 281 | 309 |
| 282 TEST_F(BookmarkEditorControllerTreeTest, ChangeBookmarkURLInPlace) { | 310 TEST_F(BookmarkEditorControllerTreeTest, ChangeBookmarkURLInPlace) { |
| 283 const BookmarkNode* oldParent = bookmark_bb_3_->GetParent(); | 311 const BookmarkNode* oldParent = bookmark_bb_3_->GetParent(); |
| 284 [default_controller_ setDisplayURL:@"http://NEWURL.com"]; | 312 [controller_ setDisplayURL:@"http://NEWURL.com"]; |
| 285 [default_controller_ ok:nil]; | 313 [controller_ ok:nil]; |
| 286 const BookmarkNode* newParent = bookmark_bb_3_->GetParent(); | 314 const BookmarkNode* newParent = bookmark_bb_3_->GetParent(); |
| 287 ASSERT_EQ(newParent, oldParent); | 315 ASSERT_EQ(newParent, oldParent); |
| 288 int childIndex = newParent->IndexOfChild(bookmark_bb_3_); | 316 int childIndex = newParent->IndexOfChild(bookmark_bb_3_); |
| 289 ASSERT_EQ(3, childIndex); | 317 ASSERT_EQ(3, childIndex); |
| 290 } | 318 } |
| 291 | 319 |
| 292 TEST_F(BookmarkEditorControllerTreeTest, ChangeBookmarkGroup) { | 320 TEST_F(BookmarkEditorControllerTreeTest, ChangeBookmarkGroup) { |
| 293 [default_controller_ selectTestNodeInBrowser:group_c_]; | 321 [controller_ selectTestNodeInBrowser:group_c_]; |
| 294 [default_controller_ ok:nil]; | 322 [controller_ ok:nil]; |
| 295 const BookmarkNode* parent = bookmark_bb_3_->GetParent(); | 323 const BookmarkNode* parent = bookmark_bb_3_->GetParent(); |
| 296 ASSERT_EQ(parent, group_c_); | 324 ASSERT_EQ(parent, group_c_); |
| 297 int childIndex = parent->IndexOfChild(bookmark_bb_3_); | 325 int childIndex = parent->IndexOfChild(bookmark_bb_3_); |
| 298 ASSERT_EQ(4, childIndex); | 326 ASSERT_EQ(4, childIndex); |
| 299 } | 327 } |
| 300 | 328 |
| 301 TEST_F(BookmarkEditorControllerTreeTest, ChangeNameAndBookmarkGroup) { | 329 TEST_F(BookmarkEditorControllerTreeTest, ChangeNameAndBookmarkGroup) { |
| 302 [default_controller_ setDisplayName:@"NEW NAME"]; | 330 [controller_ setDisplayName:@"NEW NAME"]; |
| 303 [default_controller_ selectTestNodeInBrowser:group_c_]; | 331 [controller_ selectTestNodeInBrowser:group_c_]; |
| 304 [default_controller_ ok:nil]; | 332 [controller_ ok:nil]; |
| 305 const BookmarkNode* parent = bookmark_bb_3_->GetParent(); | 333 const BookmarkNode* parent = bookmark_bb_3_->GetParent(); |
| 306 ASSERT_EQ(parent, group_c_); | 334 ASSERT_EQ(parent, group_c_); |
| 307 int childIndex = parent->IndexOfChild(bookmark_bb_3_); | 335 int childIndex = parent->IndexOfChild(bookmark_bb_3_); |
| 308 ASSERT_EQ(4, childIndex); | 336 ASSERT_EQ(4, childIndex); |
| 309 EXPECT_EQ(bookmark_bb_3_->GetTitle(), L"NEW NAME"); | 337 EXPECT_EQ(bookmark_bb_3_->GetTitle(), L"NEW NAME"); |
| 310 } | 338 } |
| 311 | 339 |
| 312 TEST_F(BookmarkEditorControllerTreeTest, AddFolderWithGroupSelected) { | 340 TEST_F(BookmarkEditorControllerTreeTest, AddFolderWithGroupSelected) { |
| 313 [default_controller_ newFolder:nil]; | 341 // Folders are NOT added unless the OK button is pressed. |
| 314 [default_controller_ cancel:nil]; | 342 [controller_ newFolder:nil]; |
| 315 EXPECT_EQ(6, group_bb_->GetChildCount()); | 343 [controller_ cancel:nil]; |
| 316 const BookmarkNode* folderChild = group_bb_->GetChild(5); | 344 EXPECT_EQ(5, group_bb_->GetChildCount()); |
| 317 EXPECT_EQ(folderChild->GetTitle(), L"New folder"); | |
| 318 } | 345 } |
| 319 | 346 |
| 320 class BookmarkEditorControllerTreeNoNodeTest : | 347 class BookmarkEditorControllerTreeNoNodeTest : |
| 321 public BookmarkEditorControllerTreeTest { | 348 public BookmarkEditorControllerTreeTest { |
| 322 public: | 349 public: |
| 323 virtual BookmarkEditorController* CreateController() { | 350 virtual BookmarkEditorController* CreateController() { |
| 324 return [[BookmarkEditorController alloc] | 351 return [[BookmarkEditorController alloc] |
| 325 initWithParentWindow:test_window() | 352 initWithParentWindow:test_window() |
| 326 profile:helper_.profile() | 353 profile:browser_helper_.profile() |
| 327 parent:group_bb_ | 354 parent:group_bb_ |
| 328 node:nil | 355 node:nil |
| 329 configuration:BookmarkEditor::SHOW_TREE | 356 configuration:BookmarkEditor::SHOW_TREE |
| 330 handler:nil]; | 357 handler:nil]; |
| 331 } | 358 } |
| 332 | 359 |
| 333 }; | 360 }; |
| 334 | 361 |
| 335 TEST_F(BookmarkEditorControllerTreeNoNodeTest, NewBookmarkNoNode) { | 362 TEST_F(BookmarkEditorControllerTreeNoNodeTest, NewBookmarkNoNode) { |
| 336 [default_controller_ setDisplayName:@"NEW BOOKMARK"]; | 363 [controller_ setDisplayName:@"NEW BOOKMARK"]; |
| 337 [default_controller_ setDisplayURL:@"http://NEWURL.com"]; | 364 [controller_ setDisplayURL:@"http://NEWURL.com"]; |
| 338 [default_controller_ ok:nil]; | 365 [controller_ ok:nil]; |
| 339 const BookmarkNode* new_node = group_bb_->GetChild(5); | 366 const BookmarkNode* new_node = group_bb_->GetChild(5); |
| 340 ASSERT_EQ(0, new_node->GetChildCount()); | 367 ASSERT_EQ(0, new_node->GetChildCount()); |
| 341 EXPECT_EQ(new_node->GetTitle(), L"NEW BOOKMARK"); | 368 EXPECT_EQ(new_node->GetTitle(), L"NEW BOOKMARK"); |
| 342 EXPECT_EQ(new_node->GetURL(), GURL("http://NEWURL.com")); | 369 EXPECT_EQ(new_node->GetURL(), GURL("http://NEWURL.com")); |
| 343 } | 370 } |
| 344 | |
| 345 class BookmarkEditorControllerTreeNoParentTest : | |
| 346 public BookmarkEditorControllerTreeTest { | |
| 347 public: | |
| 348 virtual BookmarkEditorController* CreateController() { | |
| 349 return [[BookmarkEditorController alloc] | |
| 350 initWithParentWindow:test_window() | |
| 351 profile:helper_.profile() | |
| 352 parent:nil | |
| 353 node:nil | |
| 354 configuration:BookmarkEditor::SHOW_TREE | |
| 355 handler:nil]; | |
| 356 } | |
| 357 }; | |
| 358 | |
| 359 TEST_F(BookmarkEditorControllerTreeNoParentTest, AddFolderWithNoGroupSelected) { | |
| 360 [default_controller_ newFolder:nil]; | |
| 361 [default_controller_ cancel:nil]; | |
| 362 BookmarkModel* model = helper_.profile()->GetBookmarkModel(); | |
| 363 const BookmarkNode* bookmarkBar = model->GetBookmarkBarNode(); | |
| 364 EXPECT_EQ(5, bookmarkBar->GetChildCount()); | |
| 365 const BookmarkNode* folderChild = bookmarkBar->GetChild(4); | |
| 366 EXPECT_EQ(folderChild->GetTitle(), L"New folder"); | |
| 367 } | |
| OLD | NEW |