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

Side by Side Diff: chrome/browser/bookmarks/bookmark_utils_unittest.cc

Issue 155913004: Eliminate Bookmarks dependence to bookmark_undo_utils.h. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix for Android Unit Tests failing Created 6 years, 10 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
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 #include "chrome/browser/bookmarks/bookmark_utils.h" 5 #include "chrome/browser/bookmarks/bookmark_utils.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
11 #include "chrome/browser/bookmarks/base_bookmark_model_observer.h"
11 #include "chrome/browser/bookmarks/bookmark_model.h" 12 #include "chrome/browser/bookmarks/bookmark_model.h"
12 #include "chrome/browser/bookmarks/bookmark_node_data.h" 13 #include "chrome/browser/bookmarks/bookmark_node_data.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 #include "ui/base/clipboard/clipboard.h" 15 #include "ui/base/clipboard/clipboard.h"
15 #include "ui/base/clipboard/scoped_clipboard_writer.h" 16 #include "ui/base/clipboard/scoped_clipboard_writer.h"
16 17
17 using base::ASCIIToUTF16; 18 using base::ASCIIToUTF16;
18 using std::string; 19 using std::string;
19 20
20 namespace bookmark_utils { 21 namespace bookmark_utils {
21 namespace { 22 namespace {
22 23
23 class BookmarkUtilsTest : public ::testing::Test { 24 class BookmarkUtilsTest : public testing::Test,
25 public BaseBookmarkModelObserver {
24 public: 26 public:
25 BookmarkUtilsTest() {} 27 BookmarkUtilsTest()
28 : grouped_changes_beginning_count_(0), grouped_changes_ended_count_(0) {}
26 virtual ~BookmarkUtilsTest() {} 29 virtual ~BookmarkUtilsTest() {}
27 30
28 virtual void TearDown() OVERRIDE { 31 virtual void TearDown() OVERRIDE {
29 ui::Clipboard::DestroyClipboardForCurrentThread(); 32 ui::Clipboard::DestroyClipboardForCurrentThread();
30 } 33 }
31 34
35 void ExpectGroupedChangeCount(int expected_beginning_count,
36 int expected_ended_count) {
37 EXPECT_EQ(grouped_changes_beginning_count_, expected_beginning_count);
38 EXPECT_EQ(grouped_changes_ended_count_, expected_ended_count);
39 }
40
41 // BaseBookmarkModelObserver:
42 virtual void BookmarkModelChanged() OVERRIDE {}
43
44 virtual void GroupedBookmarkChangesBeginning(BookmarkModel* model) OVERRIDE {
45 ++grouped_changes_beginning_count_;
46 }
47
48 virtual void GroupedBookmarkChangesEnded(BookmarkModel* model) OVERRIDE {
49 ++grouped_changes_ended_count_;
50 }
51
32 private: 52 private:
53 int grouped_changes_beginning_count_;
54 int grouped_changes_ended_count_;
55
33 // Clipboard requires a message loop. 56 // Clipboard requires a message loop.
34 base::MessageLoopForUI loop_; 57 base::MessageLoopForUI loop_;
35 58
36 DISALLOW_COPY_AND_ASSIGN(BookmarkUtilsTest); 59 DISALLOW_COPY_AND_ASSIGN(BookmarkUtilsTest);
37 }; 60 };
38 61
39 TEST_F(BookmarkUtilsTest, GetBookmarksMatchingPropertiesWordPhraseQuery) { 62 TEST_F(BookmarkUtilsTest, GetBookmarksMatchingPropertiesWordPhraseQuery) {
40 BookmarkModel model(NULL); 63 BookmarkModel model(NULL);
41 const BookmarkNode* node1 = model.AddURL(model.other_node(), 64 const BookmarkNode* node1 = model.AddURL(model.other_node(),
42 0, 65 0,
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 ui::ScopedClipboardWriter clipboard_writer( 258 ui::ScopedClipboardWriter clipboard_writer(
236 ui::Clipboard::GetForCurrentThread(), 259 ui::Clipboard::GetForCurrentThread(),
237 ui::CLIPBOARD_TYPE_COPY_PASTE); 260 ui::CLIPBOARD_TYPE_COPY_PASTE);
238 clipboard_writer.WriteText(ASCIIToUTF16("foo")); 261 clipboard_writer.WriteText(ASCIIToUTF16("foo"));
239 } 262 }
240 263
241 // Now we shouldn't be able to paste from the clipboard. 264 // Now we shouldn't be able to paste from the clipboard.
242 EXPECT_FALSE(CanPasteFromClipboard(model.bookmark_bar_node())); 265 EXPECT_FALSE(CanPasteFromClipboard(model.bookmark_bar_node()));
243 } 266 }
244 267
268 TEST_F(BookmarkUtilsTest, CutToClipboard) {
269 BookmarkModel model(NULL);
270 model.AddObserver(this);
271
272 base::string16 title(ASCIIToUTF16("foo"));
273 GURL url("http://foo.com");
274 const BookmarkNode* n1 = model.AddURL(model.other_node(), 0, title, url);
275 const BookmarkNode* n2 = model.AddURL(model.other_node(), 1, title, url);
276
277 // Cut the nodes to the clipboard.
278 std::vector<const BookmarkNode*> nodes;
279 nodes.push_back(n1);
280 nodes.push_back(n2);
281 CopyToClipboard(&model, nodes, true);
282
283 // Make sure the nodes were removed.
284 EXPECT_EQ(0, model.other_node()->child_count());
285
286 #if !defined(OS_ANDROID)
287 // Make sure observers were notified the set of changes should be grouped.
288 ExpectGroupedChangeCount(1, 1);
289 #endif
290
291 // And make sure we can paste from the clipboard.
292 EXPECT_TRUE(CanPasteFromClipboard(model.other_node()));
293 }
294
245 TEST_F(BookmarkUtilsTest, GetParentForNewNodes) { 295 TEST_F(BookmarkUtilsTest, GetParentForNewNodes) {
246 BookmarkModel model(NULL); 296 BookmarkModel model(NULL);
247 // This tests the case where selection contains one item and that item is a 297 // This tests the case where selection contains one item and that item is a
248 // folder. 298 // folder.
249 std::vector<const BookmarkNode*> nodes; 299 std::vector<const BookmarkNode*> nodes;
250 nodes.push_back(model.bookmark_bar_node()); 300 nodes.push_back(model.bookmark_bar_node());
251 int index = -1; 301 int index = -1;
252 const BookmarkNode* real_parent = GetParentForNewNodes( 302 const BookmarkNode* real_parent = GetParentForNewNodes(
253 model.bookmark_bar_node(), nodes, &index); 303 model.bookmark_bar_node(), nodes, &index);
254 EXPECT_EQ(real_parent, model.bookmark_bar_node()); 304 EXPECT_EQ(real_parent, model.bookmark_bar_node());
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 EXPECT_EQ(2u, clone->GetMetaInfoMap()->size()); 359 EXPECT_EQ(2u, clone->GetMetaInfoMap()->size());
310 std::string value; 360 std::string value;
311 EXPECT_TRUE(clone->GetMetaInfo("somekey", &value)); 361 EXPECT_TRUE(clone->GetMetaInfo("somekey", &value));
312 EXPECT_EQ("somevalue", value); 362 EXPECT_EQ("somevalue", value);
313 EXPECT_TRUE(clone->GetMetaInfo("someotherkey", &value)); 363 EXPECT_TRUE(clone->GetMetaInfo("someotherkey", &value));
314 EXPECT_EQ("someothervalue", value); 364 EXPECT_EQ("someothervalue", value);
315 } 365 }
316 366
317 } // namespace 367 } // namespace
318 } // namespace bookmark_utils 368 } // namespace bookmark_utils
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/bookmark_utils.cc ('k') | chrome/browser/bookmarks/scoped_group_bookmark_actions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698