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

Unified Diff: components/bookmarks/browser/bookmark_node_data_unittest.cc

Issue 634523004: Allow copying of multiple bookmarks from within the bookmark manager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add unit tests Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/bookmarks/browser/bookmark_node_data.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/bookmarks/browser/bookmark_node_data_unittest.cc
diff --git a/components/bookmarks/browser/bookmark_node_data_unittest.cc b/components/bookmarks/browser/bookmark_node_data_unittest.cc
index 4e93fa298d21e7d20f3b008b2a4f3c52bdd43cf8..9643b8d37b3a25f9d763095ee0b1877224e7a655 100644
--- a/components/bookmarks/browser/bookmark_node_data_unittest.cc
+++ b/components/bookmarks/browser/bookmark_node_data_unittest.cc
@@ -269,6 +269,117 @@ TEST_F(BookmarkNodeDataTest, MultipleNodes) {
EXPECT_TRUE(read_data.GetFirstNode(model(), GetProfilePath()) == NULL);
}
+TEST_F(BookmarkNodeDataTest, WriteToClipboardURL) {
sky 2014/10/16 16:04:06 Does this inject a fake clipboard so that the test
+ BookmarkNodeData data;
+ GURL url(GURL("http://foo.com"));
+ const base::string16 title(ASCIIToUTF16("blah"));
+
+ // Write to clipboard
+ data.ReadFromTuple(url, title);
+ data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+
+ // Now read the data back in.
+ BookmarkNodeData read_data;
+ read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+ ASSERT_EQ(1u, read_data.elements.size());
+ EXPECT_TRUE(read_data.elements[0].is_url);
+ EXPECT_EQ(url, read_data.elements[0].url);
+ EXPECT_EQ(title, read_data.elements[0].title);
+}
+
+TEST_F(BookmarkNodeDataTest, WriteToClipboardMultipleURLs) {
+ BookmarkNodeData data;
+ const BookmarkNode* root = model()->bookmark_bar_node();
+ GURL url(GURL("http://foo.com"));
+ const base::string16 title(ASCIIToUTF16("blah"));
+ GURL url2(GURL("http://bar.com"));
+ const base::string16 title2(ASCIIToUTF16("blah2"));
+ const BookmarkNode* url_node = model()->AddURL(root, 0, title, url);
+ const BookmarkNode* url_node2 = model()->AddURL(root, 1, title2, url2);
+ std::vector<const BookmarkNode*> nodes;
+ nodes.push_back(url_node);
+ nodes.push_back(url_node2);
+
+ // Write to clipboard
+ data.ReadFromVector(nodes);
+ data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+
+ // Now read the data back in.
+ BookmarkNodeData read_data;
+ read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+ ASSERT_EQ(2u, read_data.elements.size());
+ EXPECT_TRUE(read_data.elements[0].is_url);
+ EXPECT_EQ(url, read_data.elements[0].url);
+ EXPECT_TRUE(read_data.elements[1].is_url);
+ EXPECT_EQ(url2, read_data.elements[1].url);
+}
+
+TEST_F(BookmarkNodeDataTest, WriteToClipboardEmptyFolder) {
+ BookmarkNodeData data;
+ const BookmarkNode* root = model()->bookmark_bar_node();
+ const BookmarkNode* folder = model()->AddFolder(root, 0, ASCIIToUTF16("g1"));
+ std::vector<const BookmarkNode*> nodes;
+ nodes.push_back(folder);
+
+ // Write to clipboard
+ data.ReadFromVector(nodes);
+ data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+
+ // Now read the data back in.
+ BookmarkNodeData read_data;
+ read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+ ASSERT_EQ(1u, read_data.elements.size());
+ EXPECT_FALSE(read_data.elements[0].is_url);
+ EXPECT_EQ(ASCIIToUTF16("g1"), read_data.elements[0].title);
+}
+
+TEST_F(BookmarkNodeDataTest, WriteToClipboardFolderWithChildren) {
+ BookmarkNodeData data;
+ const BookmarkNode* root = model()->bookmark_bar_node();
+ const BookmarkNode* folder = model()->AddFolder(root, 0, ASCIIToUTF16("g1"));
+ GURL url(GURL("http://foo.com"));
+ const base::string16 title(ASCIIToUTF16("blah"));
+ const BookmarkNode* url_node = model()->AddURL(folder, 0, title, url);
+ std::vector<const BookmarkNode*> nodes;
+ nodes.push_back(folder);
+
+ // Write to clipboard
+ data.ReadFromVector(nodes);
+ data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+
+ // Now read the data back in.
+ BookmarkNodeData read_data;
+ read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+ ASSERT_EQ(1u, read_data.elements.size());
+ EXPECT_FALSE(read_data.elements[0].is_url);
+ EXPECT_EQ(ASCIIToUTF16("g1"), read_data.elements[0].title);
+}
+
+TEST_F(BookmarkNodeDataTest, WriteToClipboardFolderAndURL) {
+ BookmarkNodeData data;
+ GURL url(GURL("http://foo.com"));
+ const base::string16 title(ASCIIToUTF16("blah"));
+ const BookmarkNode* root = model()->bookmark_bar_node();
+ const BookmarkNode* url_node = model()->AddURL(root, 0, title, url);
+ const BookmarkNode* folder = model()->AddFolder(root, 0, ASCIIToUTF16("g1"));
+ std::vector<const BookmarkNode*> nodes;
+ nodes.push_back(url_node);
+ nodes.push_back(folder);
+
+ // Write to clipboard
+ data.ReadFromVector(nodes);
+ data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+
+ // Now read the data back in.
+ BookmarkNodeData read_data;
+ read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE);
+ ASSERT_EQ(2u, read_data.elements.size());
+ EXPECT_TRUE(read_data.elements[0].is_url);
+ EXPECT_EQ(url, read_data.elements[0].url);
+ EXPECT_FALSE(read_data.elements[1].is_url);
+ EXPECT_EQ(ASCIIToUTF16("g1"), read_data.elements[1].title);
+}
+
// Tests reading/writing of meta info.
TEST_F(BookmarkNodeDataTest, MetaInfo) {
// Create a node containing meta info.
« no previous file with comments | « components/bookmarks/browser/bookmark_node_data.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698