Chromium Code Reviews| 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. |