Index: chrome/browser/bookmarks/bookmark_tag_model_unittest.cc |
diff --git a/chrome/browser/bookmarks/bookmark_tag_model_unittest.cc b/chrome/browser/bookmarks/bookmark_tag_model_unittest.cc |
deleted file mode 100644 |
index 9a7e639d538c6b02b7befddffa2bf9d8e02029f0..0000000000000000000000000000000000000000 |
--- a/chrome/browser/bookmarks/bookmark_tag_model_unittest.cc |
+++ /dev/null |
@@ -1,566 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/bookmarks/bookmark_tag_model.h" |
- |
-#include "base/strings/utf_string_conversions.h" |
-#include "chrome/browser/bookmarks/bookmark_tag_model_observer.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-using base::ASCIIToUTF16; |
- |
-namespace { |
- |
-static struct { |
- const std::string input_tag; |
- const std::string expected_tag; |
-} whitespace_test_cases[] = { |
- // Newlines. |
- {"foo\nbar", "foo bar"}, |
- {"foo\n\nbar", "foo bar"}, |
- {"foo\n\n\nbar", "foo bar"}, |
- {"foo\r\nbar", "foo bar"}, |
- {"foo\r\n\r\nbar", "foo bar"}, |
- {"\nfoo\nbar\n", "foo bar"}, |
- // Spaces. |
- {"foo bar", "foo bar"}, |
- {" foo bar ", "foo bar"}, |
- {" foo bar ", "foo bar"}, |
- // Tabs. |
- {"\tfoo\tbar\t", "foo bar"}, |
- {"\tfoo bar\t", "foo bar"}, |
- // Mixed cases. |
- {"\tfoo\nbar\t", "foo bar"}, |
- {"\tfoo\r\nbar\t", "foo bar"}, |
- {" foo\tbar\n", "foo bar"}, |
- {"\t foo \t bar \t", "foo bar"}, |
- {"\n foo\r\n\tbar\n \t", "foo bar"}, |
-}; |
- |
-enum ObserverCounts { |
- OBSERVER_COUNTS_ADD = 0, |
- OBSERVER_COUNTS_BEFORE_REMOVE, |
- OBSERVER_COUNTS_REMOVE, |
- OBSERVER_COUNTS_BEFORE_CHANGE, |
- OBSERVER_COUNTS_CHANGE, |
- OBSERVER_COUNTS_BEFORE_TAG_CHANGE, |
- OBSERVER_COUNTS_TAG_CHANGE, |
- OBSERVER_COUNTS_FAVICON_CHANGE, |
- OBSERVER_COUNTS_EXTENSIVE_CHANGE_BEGIN, |
- OBSERVER_COUNTS_EXTENSIVE_CHANGE_END, |
- OBSERVER_COUNTS_BEFORE_REMOVE_ALL, |
- OBSERVER_COUNTS_REMOVE_ALL, |
- OBSERVER_COUNTS_TOTAL_NUMBER_OF_COUNTS |
-}; |
- |
-const std::string count_name[] = { |
- "OBSERVER_COUNTS_ADD", |
- "OBSERVER_COUNTS_BEFORE_REMOVE", |
- "OBSERVER_COUNTS_REMOVE", |
- "OBSERVER_COUNTS_BEFORE_CHANGE", |
- "OBSERVER_COUNTS_CHANGE", |
- "OBSERVER_COUNTS_BEFORE_TAG_CHANGE", |
- "OBSERVER_COUNTS_TAG_CHANGE", |
- "OBSERVER_COUNTS_FAVICON_CHANGE", |
- "OBSERVER_COUNTS_EXTENSIVE_CHANGE_BEGIN", |
- "OBSERVER_COUNTS_EXTENSIVE_CHANGE_END", |
- "OBSERVER_COUNTS_BEFORE_REMOVE_ALL", |
- "OBSERVER_COUNTS_REMOVE_ALL" |
-}; |
- |
- |
-class BookmarkTagModelTest |
- : public testing::Test, public BookmarkTagModelObserver { |
- public: |
- struct ObserverDetails { |
- ObserverDetails() : bookmark_(NULL) {} |
- |
- void Set(const BookmarkNode* bookmark, |
- const std::set<BookmarkTag>& tags) { |
- bookmark_ = bookmark; |
- tags_ = tags; |
- } |
- |
- void ExpectEquals(const BookmarkNode* bookmark, |
- const std::set<BookmarkTag>& tags) { |
- EXPECT_EQ(bookmark_, bookmark); |
- EXPECT_EQ(tags_, tags); |
- } |
- |
- private: |
- const BookmarkNode* bookmark_; |
- std::set<BookmarkTag> tags_; |
- }; |
- |
- BookmarkTagModelTest() : model_(NULL), |
- tag_model_(new BookmarkTagModel(&model_)) { |
- tag_model_->AddObserver(this); |
- ClearCounts(); |
- } |
- |
- virtual ~BookmarkTagModelTest() { |
- } |
- |
- // BookmarkTagModelObserver: |
- virtual void BookmarkTagModelLoaded(BookmarkTagModel* model) OVERRIDE { |
- // We never load from the db, so that this should never get invoked. |
- NOTREACHED(); |
- } |
- |
- // Invoked when a node has been added. |
- virtual void BookmarkNodeAdded(BookmarkTagModel* model, |
- const BookmarkNode* bookmark) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_ADD]; |
- observer_details_.Set(bookmark, model->GetTagsForBookmark(bookmark)); |
- } |
- |
- // Invoked before a node is removed. |
- // |node| is the node to be removed. |
- virtual void OnWillRemoveBookmarks(BookmarkTagModel* model, |
- const BookmarkNode* bookmark) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_BEFORE_REMOVE]; |
- } |
- |
- // Invoked when a node has been removed, the item may still be starred though. |
- // |node| is the node that was removed. |
- virtual void BookmarkNodeRemoved(BookmarkTagModel* model, |
- const BookmarkNode* bookmark) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_REMOVE]; |
- } |
- |
- // Invoked before the title or url of a node is changed. |
- virtual void OnWillChangeBookmarkNode(BookmarkTagModel* model, |
- const BookmarkNode* bookmark) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_BEFORE_CHANGE]; |
- } |
- |
- // Invoked when the title or url of a node changes. |
- virtual void BookmarkNodeChanged(BookmarkTagModel* model, |
- const BookmarkNode* bookmark) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_CHANGE]; |
- observer_details_.Set(bookmark, model->GetTagsForBookmark(bookmark)); |
- } |
- |
- virtual void OnWillChangeBookmarkTags(BookmarkTagModel* model, |
- const BookmarkNode* bookmark) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_BEFORE_TAG_CHANGE]; |
- } |
- |
- virtual void BookmarkTagsChanged(BookmarkTagModel* model, |
- const BookmarkNode* bookmark) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_TAG_CHANGE]; |
- observer_details_.Set(bookmark, model->GetTagsForBookmark(bookmark)); |
- } |
- |
- virtual void BookmarkNodeFaviconChanged(BookmarkTagModel* model, |
- const BookmarkNode* node) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_FAVICON_CHANGE]; |
- } |
- |
- virtual void ExtensiveBookmarkChangesBeginning(BookmarkTagModel* model) |
- OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_EXTENSIVE_CHANGE_BEGIN]; |
- } |
- |
- virtual void ExtensiveBookmarkChangesEnded(BookmarkTagModel* model) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_EXTENSIVE_CHANGE_END]; |
- } |
- |
- virtual void OnWillRemoveAllBookmarks(BookmarkTagModel* model) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_BEFORE_REMOVE_ALL]; |
- } |
- |
- virtual void BookmarkAllNodesRemoved(BookmarkTagModel* model) OVERRIDE { |
- ++counts_[OBSERVER_COUNTS_REMOVE_ALL]; |
- } |
- |
- void ClearCounts() { |
- for (unsigned int i = 0; i < OBSERVER_COUNTS_TOTAL_NUMBER_OF_COUNTS; ++i) |
- counts_[i] = 0; |
- } |
- |
- void AssertAndClearObserverCount(ObserverCounts count, int expected) { |
- ASSERT_EQ(expected, counts_[count]) << count_name[count]; |
- counts_[count] = 0; |
- } |
- |
- void AssertAllCountsClear() { |
- for (unsigned int i = 0; i < OBSERVER_COUNTS_TOTAL_NUMBER_OF_COUNTS; ++i) |
- ASSERT_EQ(0, counts_[i]) << count_name[i]; |
- } |
- |
- const BookmarkNode* AddURLWithTags( |
- const std::string& name, |
- const std::set<BookmarkTag>& tags) { |
- const base::string16 title(ASCIIToUTF16(name)); |
- const GURL url("http://" + name + ".com"); |
- |
- return tag_model_->AddURL(title, url, tags); |
- } |
- |
- protected: |
- BookmarkModel model_; |
- scoped_ptr<BookmarkTagModel> tag_model_; |
- ObserverDetails observer_details_; |
- |
- private: |
- int counts_[OBSERVER_COUNTS_TOTAL_NUMBER_OF_COUNTS]; |
- |
- DISALLOW_COPY_AND_ASSIGN(BookmarkTagModelTest); |
-}; |
- |
-TEST_F(BookmarkTagModelTest, InitialState) { |
- std::vector<BookmarkTag> tags(tag_model_->TagsRelatedToTag(base::string16())); |
- EXPECT_EQ(0UL, tags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, AddURL) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- tags.insert(ASCIIToUTF16("baz")); |
- |
- AddURLWithTags("orly", tags); |
- const BookmarkNode* new_node = AddURLWithTags("foo", tags); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_ADD, 2); |
- AssertAllCountsClear(); |
- |
- observer_details_.ExpectEquals(new_node, tags); |
- |
- EXPECT_EQ(2UL, tag_model_->BookmarksForTag(ASCIIToUTF16("bar")).size()); |
- EXPECT_EQ(2UL, tag_model_->BookmarksForTag(ASCIIToUTF16("baz")).size()); |
- EXPECT_EQ(tags, tag_model_->GetTagsForBookmark(new_node)); |
- |
- std::vector<BookmarkTag> alltags( |
- tag_model_->TagsRelatedToTag(base::string16())); |
- EXPECT_EQ(2UL, alltags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, RelatedTo) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- tags.insert(ASCIIToUTF16("baz")); |
- |
- AddURLWithTags("orly", tags); |
- AddURLWithTags("foo", tags); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_ADD, 2); |
- AssertAllCountsClear(); |
- |
- std::vector<BookmarkTag> bartags(tag_model_->TagsRelatedToTag( |
- ASCIIToUTF16("bar"))); |
- EXPECT_EQ(1UL, bartags.size()); |
- std::vector<BookmarkTag> baztags(tag_model_->TagsRelatedToTag( |
- ASCIIToUTF16("baz"))); |
- EXPECT_EQ(1UL, baztags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, AddURLWithWhitespaceTitle) { |
- std::set<BookmarkTag> tags; |
- |
- for (size_t i = 0; i < ARRAYSIZE_UNSAFE(whitespace_test_cases); ++i) { |
- const BookmarkNode* new_node = AddURLWithTags( |
- whitespace_test_cases[i].input_tag, tags); |
- |
- EXPECT_EQ(ASCIIToUTF16(whitespace_test_cases[i].expected_tag), |
- new_node->GetTitle()); |
- EXPECT_EQ(BookmarkNode::URL, new_node->type()); |
- } |
-} |
- |
-TEST_F(BookmarkTagModelTest, CheckTagsWithWhitespace) { |
- std::set<BookmarkTag> tags; |
- |
- for (size_t i = 0; i < ARRAYSIZE_UNSAFE(whitespace_test_cases); ++i) |
- tags.insert(ASCIIToUTF16(whitespace_test_cases[i].input_tag)); |
- |
- AddURLWithTags("foo", tags); |
- |
- std::vector<BookmarkTag> alltags(tag_model_->TagsRelatedToTag( |
- base::string16())); |
- |
- for (size_t i = 0; i < ARRAYSIZE_UNSAFE(whitespace_test_cases); ++i) { |
- EXPECT_EQ(0UL, tag_model_->BookmarksForTag( |
- ASCIIToUTF16(whitespace_test_cases[i].input_tag)).size()); |
- EXPECT_EQ(1UL, tag_model_->BookmarksForTag( |
- ASCIIToUTF16(whitespace_test_cases[i].expected_tag)).size()); |
- } |
-} |
- |
-TEST_F(BookmarkTagModelTest, RemoveURL) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- tags.insert(ASCIIToUTF16("baz")); |
- |
- const BookmarkNode* new_node = AddURLWithTags("foo", tags); |
- const BookmarkNode* new_node2 = AddURLWithTags("flou", tags); |
- ClearCounts(); |
- |
- tag_model_->Remove(new_node); |
- tag_model_->Remove(new_node2); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_REMOVE, 2); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_REMOVE, 2); |
- AssertAllCountsClear(); |
- |
- std::vector<BookmarkTag> alltags(tag_model_->TagsRelatedToTag( |
- base::string16())); |
- EXPECT_EQ(0UL, alltags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, AddTagToBookmarks) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- tags.insert(ASCIIToUTF16("baz")); |
- |
- std::set<const BookmarkNode*> bookmarks; |
- bookmarks.insert(AddURLWithTags("foo", tags)); |
- bookmarks.insert(AddURLWithTags("flou", tags)); |
- ClearCounts(); |
- |
- std::set<BookmarkTag> new_tags; |
- new_tags.insert(ASCIIToUTF16("new_bar")); |
- new_tags.insert(ASCIIToUTF16("new_baz")); |
- |
- tag_model_->AddTagsToBookmarks(new_tags, bookmarks); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_TAG_CHANGE, 2); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_TAG_CHANGE, 2); |
- AssertAllCountsClear(); |
- |
- std::vector<BookmarkTag> alltags(tag_model_->TagsRelatedToTag( |
- base::string16())); |
- EXPECT_EQ(4UL, alltags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, AddTagToBookmark) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- tags.insert(ASCIIToUTF16("baz")); |
- |
- const BookmarkNode* bookmark = AddURLWithTags("foo", tags); |
- ClearCounts(); |
- |
- std::set<BookmarkTag> new_tags; |
- new_tags.insert(ASCIIToUTF16("new_bar")); |
- new_tags.insert(ASCIIToUTF16("new_baz")); |
- |
- tag_model_->AddTagsToBookmark(new_tags, bookmark); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_TAG_CHANGE, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_TAG_CHANGE, 1); |
- AssertAllCountsClear(); |
- |
- std::vector<BookmarkTag> alltags(tag_model_->TagsRelatedToTag( |
- base::string16())); |
- EXPECT_EQ(4UL, alltags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, RemoveTagFromBookmarks) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- tags.insert(ASCIIToUTF16("baz")); |
- |
- std::set<const BookmarkNode*> bookmarks; |
- |
- bookmarks.insert(AddURLWithTags("foo", tags)); |
- bookmarks.insert(AddURLWithTags("flou", tags)); |
- ClearCounts(); |
- |
- tag_model_->RemoveTagsFromBookmarks(tags, bookmarks); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_TAG_CHANGE, 2); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_TAG_CHANGE, 2); |
- AssertAllCountsClear(); |
- |
- std::vector<BookmarkTag> alltags(tag_model_->TagsRelatedToTag( |
- base::string16())); |
- EXPECT_EQ(0UL, alltags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, RemoveTagFromBookmark) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- tags.insert(ASCIIToUTF16("baz")); |
- |
- const BookmarkNode* bookmark = AddURLWithTags("foo", tags); |
- ClearCounts(); |
- |
- tag_model_->RemoveTagsFromBookmark(tags, bookmark); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_TAG_CHANGE, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_TAG_CHANGE, 1); |
- AssertAllCountsClear(); |
- |
- std::vector<BookmarkTag> alltags(tag_model_->TagsRelatedToTag( |
- base::string16())); |
- EXPECT_EQ(0UL, alltags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, RemoveAll) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- tags.insert(ASCIIToUTF16("baz")); |
- |
- AddURLWithTags("foo", tags); |
- ClearCounts(); |
- |
- model_.RemoveAll(); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_EXTENSIVE_CHANGE_BEGIN, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_REMOVE_ALL, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_REMOVE_ALL, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_EXTENSIVE_CHANGE_END, 1); |
- AssertAllCountsClear(); |
- |
- std::vector<BookmarkTag> alltags(tag_model_->TagsRelatedToTag( |
- base::string16())); |
- EXPECT_EQ(0UL, alltags.size()); |
-} |
- |
-TEST_F(BookmarkTagModelTest, DuplicateFolders) { |
- const BookmarkNode* left = model_.AddFolder(model_.bookmark_bar_node(), 0, |
- ASCIIToUTF16("left")); |
- const BookmarkNode* right = model_.AddFolder(model_.bookmark_bar_node(), 0, |
- ASCIIToUTF16("right")); |
- const BookmarkNode* left_handed = model_.AddFolder(left, 0, |
- ASCIIToUTF16("handed")); |
- const BookmarkNode* right_handed = model_.AddFolder(right, 0, |
- ASCIIToUTF16("handed")); |
- model_.AddURL( |
- left_handed, 0, ASCIIToUTF16("red"), GURL("http://random.com")); |
- model_.AddURL( |
- right_handed, 0, ASCIIToUTF16("der"), GURL("http://random.com")); |
- |
- EXPECT_EQ(2UL, tag_model_->BookmarksForTag(ASCIIToUTF16("handed")).size()); |
- EXPECT_EQ(1UL, tag_model_->BookmarksForTag(ASCIIToUTF16("left")).size()); |
- EXPECT_EQ(1UL, tag_model_->BookmarksForTag(ASCIIToUTF16("right")).size()); |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("left")); |
- tags.insert(ASCIIToUTF16("handed")); |
- EXPECT_EQ(1UL, tag_model_->BookmarksForTags(tags).size()); |
-} |
- |
-class PreloadedBookmarkTagModelTest : public BookmarkTagModelTest { |
- public: |
- PreloadedBookmarkTagModelTest() : BookmarkTagModelTest() { |
- PopulateUnderlyingModel(); |
- } |
- |
- void PopulateUnderlyingModel() { |
- ClearCounts(); |
- top_node_ = model_.AddURL(model_.bookmark_bar_node(), 0, |
- ASCIIToUTF16("Tagless"), GURL("http://example.com")); |
- folder_1_ = model_.AddFolder(model_.bookmark_bar_node(), 0, |
- ASCIIToUTF16("folder1")); |
- one_tag_ = model_.AddURL(folder_1_, 0, ASCIIToUTF16("OneTag"), |
- GURL("http://random.com")); |
- folder_2_ = model_.AddFolder(folder_1_, 0, ASCIIToUTF16("folder2")); |
- two_tags_ = model_.AddURL(folder_2_, 0, ASCIIToUTF16("TwoTags"), |
- GURL("http://moveit.com")); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_ADD, 3); |
- AssertAllCountsClear(); |
- } |
- |
- void AssertModelMatches() { |
- EXPECT_EQ(2UL, tag_model_->BookmarksForTag(ASCIIToUTF16("folder1")).size()); |
- EXPECT_EQ(1UL, tag_model_->BookmarksForTag(ASCIIToUTF16("folder2")).size()); |
- |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("folder1")); |
- EXPECT_EQ(tags, tag_model_->GetTagsForBookmark(one_tag_)); |
- |
- tags.insert(ASCIIToUTF16("folder2")); |
- const BookmarkNode* two_tags = tag_model_-> |
- GetMostRecentlyAddedBookmarkForURL(GURL("http://moveit.com")); |
- EXPECT_EQ(tags, tag_model_->GetTagsForBookmark(two_tags)); |
- |
- std::vector<BookmarkTag> alltags(tag_model_->TagsRelatedToTag( |
- base::string16())); |
- EXPECT_EQ(2UL, alltags.size()); |
- } |
- |
- protected: |
- const BookmarkNode* folder_1_; |
- const BookmarkNode* folder_2_; |
- const BookmarkNode* top_node_; |
- const BookmarkNode* one_tag_; |
- const BookmarkNode* two_tags_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PreloadedBookmarkTagModelTest); |
-}; |
- |
-TEST_F(PreloadedBookmarkTagModelTest, InitialState) { |
- AssertAllCountsClear(); |
- AssertModelMatches(); |
-} |
- |
-TEST_F(PreloadedBookmarkTagModelTest, FromExistingState) { |
- tag_model_.reset(new BookmarkTagModel(&model_)); |
- tag_model_->AddObserver(this); |
- AssertAllCountsClear(); |
- AssertModelMatches(); |
-} |
- |
-TEST_F(PreloadedBookmarkTagModelTest, BookmarkChange) { |
- AssertAllCountsClear(); |
- tag_model_->SetTitle(top_node_, ASCIIToUTF16("newname")); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_CHANGE, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_CHANGE, 1); |
- AssertAllCountsClear(); |
-} |
- |
-TEST_F(PreloadedBookmarkTagModelTest, UnchangedBookmarkMove) { |
- AssertAllCountsClear(); |
- model_.Move(top_node_, folder_2_, 0); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_TAG_CHANGE, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_TAG_CHANGE, 1); |
- AssertAllCountsClear(); |
-} |
- |
-TEST_F(PreloadedBookmarkTagModelTest, ChangedBookmarkMove) { |
- std::set<BookmarkTag> tags; |
- tags.insert(ASCIIToUTF16("bar")); |
- |
- AssertAllCountsClear(); |
- tag_model_->AddTagsToBookmark(tags, top_node_); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_TAG_CHANGE, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_TAG_CHANGE, 1); |
- AssertAllCountsClear(); |
- |
- model_.Move(top_node_, folder_2_, 0); |
- AssertAllCountsClear(); |
-} |
- |
-TEST_F(PreloadedBookmarkTagModelTest, DuplicateBookmark) { |
- EXPECT_EQ(2UL, tag_model_->BookmarksForTag(folder_1_->GetTitle()).size()); |
- model_.AddURL(folder_1_, 0, one_tag_->GetTitle(), one_tag_->url()); |
- EXPECT_EQ(3UL, tag_model_->BookmarksForTag(folder_1_->GetTitle()).size()); |
-} |
- |
-TEST_F(PreloadedBookmarkTagModelTest, NamelessFolders) { |
- const BookmarkNode* folder = model_.AddFolder(model_.bookmark_bar_node(), 0, |
- ASCIIToUTF16("")); |
- model_.AddURL(folder, 0, ASCIIToUTF16("StillNotag"), |
- GURL("http://random.com")); |
- AssertModelMatches(); |
-} |
- |
-TEST_F(PreloadedBookmarkTagModelTest, FolderNameChange) { |
- EXPECT_EQ(2UL, tag_model_->BookmarksForTag(folder_1_->GetTitle()).size()); |
- model_.SetTitle(folder_1_, ASCIIToUTF16("Bummer")); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_EXTENSIVE_CHANGE_BEGIN, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_EXTENSIVE_CHANGE_END, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_TAG_CHANGE, 2); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_TAG_CHANGE, 2); |
- AssertAllCountsClear(); |
- |
- EXPECT_EQ(2UL, tag_model_->BookmarksForTag(folder_1_->GetTitle()).size()); |
-} |
- |
-TEST_F(PreloadedBookmarkTagModelTest, FolderMoved) { |
- EXPECT_EQ(2UL, tag_model_->BookmarksForTag(folder_1_->GetTitle()).size()); |
- model_.Move(folder_2_, model_.bookmark_bar_node(), 0); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_EXTENSIVE_CHANGE_BEGIN, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_EXTENSIVE_CHANGE_END, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_BEFORE_TAG_CHANGE, 1); |
- AssertAndClearObserverCount(OBSERVER_COUNTS_TAG_CHANGE, 1); |
- AssertAllCountsClear(); |
- |
- EXPECT_EQ(1UL, tag_model_->BookmarksForTag(folder_1_->GetTitle()).size()); |
-} |
- |
-} // namespace |