| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/files/scoped_temp_dir.h" | 6 #include "base/files/scoped_temp_dir.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/strings/string16.h" | 9 #include "base/strings/string16.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 TEST_F(BookmarkNodeDataTest, JustURL) { | 86 TEST_F(BookmarkNodeDataTest, JustURL) { |
| 87 const GURL url("http://google.com"); | 87 const GURL url("http://google.com"); |
| 88 const base::string16 title(ASCIIToUTF16("google.com")); | 88 const base::string16 title(ASCIIToUTF16("google.com")); |
| 89 | 89 |
| 90 ui::OSExchangeData data; | 90 ui::OSExchangeData data; |
| 91 data.SetURL(url, title); | 91 data.SetURL(url, title); |
| 92 | 92 |
| 93 BookmarkNodeData drag_data; | 93 BookmarkNodeData drag_data; |
| 94 EXPECT_TRUE(drag_data.Read(ui::OSExchangeData(CloneProvider(data)))); | 94 EXPECT_TRUE(drag_data.Read(ui::OSExchangeData(CloneProvider(data)))); |
| 95 EXPECT_TRUE(drag_data.is_valid()); | 95 EXPECT_TRUE(drag_data.is_valid()); |
| 96 ASSERT_EQ(1u, drag_data.elements.size()); | 96 ASSERT_EQ(1u, drag_data.num_elements()); |
| 97 EXPECT_TRUE(drag_data.elements[0].is_url); | 97 EXPECT_TRUE(drag_data.elements[0].is_url); |
| 98 EXPECT_EQ(url, drag_data.elements[0].url); | 98 EXPECT_EQ(url, drag_data.elements[0].url); |
| 99 EXPECT_EQ(title, drag_data.elements[0].title); | 99 EXPECT_EQ(title, drag_data.elements[0].title); |
| 100 EXPECT_TRUE(drag_data.elements[0].date_added.is_null()); | 100 EXPECT_TRUE(drag_data.elements[0].date_added.is_null()); |
| 101 EXPECT_TRUE(drag_data.elements[0].date_folder_modified.is_null()); | 101 EXPECT_TRUE(drag_data.elements[0].date_folder_modified.is_null()); |
| 102 EXPECT_EQ(0u, drag_data.elements[0].children.size()); | 102 EXPECT_EQ(0u, drag_data.elements[0].children.size()); |
| 103 } | 103 } |
| 104 | 104 |
| 105 TEST_F(BookmarkNodeDataTest, URL) { | 105 TEST_F(BookmarkNodeDataTest, URL) { |
| 106 // Write a single node representing a URL to the clipboard. | 106 // Write a single node representing a URL to the clipboard. |
| 107 const BookmarkNode* root = model()->bookmark_bar_node(); | 107 const BookmarkNode* root = model()->bookmark_bar_node(); |
| 108 GURL url(GURL("http://foo.com")); | 108 GURL url(GURL("http://foo.com")); |
| 109 const base::string16 title(ASCIIToUTF16("foo.com")); | 109 const base::string16 title(ASCIIToUTF16("foo.com")); |
| 110 const BookmarkNode* node = model()->AddURL(root, 0, title, url); | 110 const BookmarkNode* node = model()->AddURL(root, 0, title, url); |
| 111 BookmarkNodeData drag_data(node); | 111 BookmarkNodeData drag_data(node); |
| 112 EXPECT_TRUE(drag_data.is_valid()); | 112 EXPECT_TRUE(drag_data.is_valid()); |
| 113 ASSERT_EQ(1u, drag_data.elements.size()); | 113 ASSERT_EQ(1u, drag_data.num_elements()); |
| 114 EXPECT_TRUE(drag_data.elements[0].is_url); | 114 EXPECT_TRUE(drag_data.elements[0].is_url); |
| 115 EXPECT_EQ(url, drag_data.elements[0].url); | 115 EXPECT_EQ(url, drag_data.elements[0].url); |
| 116 EXPECT_EQ(title, drag_data.elements[0].title); | 116 EXPECT_EQ(title, drag_data.elements[0].title); |
| 117 EXPECT_EQ(node->date_added(), drag_data.elements[0].date_added); | 117 EXPECT_EQ(node->date_added(), drag_data.elements[0].date_added); |
| 118 EXPECT_EQ(node->date_folder_modified(), | 118 EXPECT_EQ(node->date_folder_modified(), |
| 119 drag_data.elements[0].date_folder_modified); | 119 drag_data.elements[0].date_folder_modified); |
| 120 ui::OSExchangeData data; | 120 ui::OSExchangeData data; |
| 121 drag_data.Write(GetProfilePath(), &data); | 121 drag_data.Write(GetProfilePath(), &data); |
| 122 | 122 |
| 123 // Now read the data back in. | 123 // Now read the data back in. |
| 124 ui::OSExchangeData data2(CloneProvider(data)); | 124 ui::OSExchangeData data2(CloneProvider(data)); |
| 125 BookmarkNodeData read_data; | 125 BookmarkNodeData read_data; |
| 126 EXPECT_TRUE(read_data.Read(data2)); | 126 EXPECT_TRUE(read_data.Read(data2)); |
| 127 EXPECT_TRUE(read_data.is_valid()); | 127 EXPECT_TRUE(read_data.is_valid()); |
| 128 ASSERT_EQ(1u, read_data.elements.size()); | 128 ASSERT_EQ(1u, read_data.num_elements()); |
| 129 EXPECT_TRUE(read_data.elements[0].is_url); | 129 EXPECT_TRUE(read_data.elements[0].is_url); |
| 130 EXPECT_EQ(url, read_data.elements[0].url); | 130 EXPECT_EQ(url, read_data.elements[0].url); |
| 131 EXPECT_EQ(title, read_data.elements[0].title); | 131 EXPECT_EQ(title, read_data.elements[0].title); |
| 132 EXPECT_TRUE(read_data.elements[0].date_added.is_null()); | 132 EXPECT_TRUE(read_data.elements[0].date_added.is_null()); |
| 133 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null()); | 133 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null()); |
| 134 EXPECT_TRUE(read_data.GetFirstNode(model(), GetProfilePath()) == node); | 134 EXPECT_TRUE(read_data.GetFirstNode(model(), GetProfilePath()) == node); |
| 135 | 135 |
| 136 // Make sure asking for the node with a different profile returns NULL. | 136 // Make sure asking for the node with a different profile returns NULL. |
| 137 base::ScopedTempDir other_profile_dir; | 137 base::ScopedTempDir other_profile_dir; |
| 138 EXPECT_TRUE(other_profile_dir.CreateUniqueTempDir()); | 138 EXPECT_TRUE(other_profile_dir.CreateUniqueTempDir()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 150 | 150 |
| 151 // Tests writing a folder to the clipboard. | 151 // Tests writing a folder to the clipboard. |
| 152 TEST_F(BookmarkNodeDataTest, Folder) { | 152 TEST_F(BookmarkNodeDataTest, Folder) { |
| 153 const BookmarkNode* root = model()->bookmark_bar_node(); | 153 const BookmarkNode* root = model()->bookmark_bar_node(); |
| 154 const BookmarkNode* g1 = model()->AddFolder(root, 0, ASCIIToUTF16("g1")); | 154 const BookmarkNode* g1 = model()->AddFolder(root, 0, ASCIIToUTF16("g1")); |
| 155 model()->AddFolder(g1, 0, ASCIIToUTF16("g11")); | 155 model()->AddFolder(g1, 0, ASCIIToUTF16("g11")); |
| 156 const BookmarkNode* g12 = model()->AddFolder(g1, 0, ASCIIToUTF16("g12")); | 156 const BookmarkNode* g12 = model()->AddFolder(g1, 0, ASCIIToUTF16("g12")); |
| 157 | 157 |
| 158 BookmarkNodeData drag_data(g12); | 158 BookmarkNodeData drag_data(g12); |
| 159 EXPECT_TRUE(drag_data.is_valid()); | 159 EXPECT_TRUE(drag_data.is_valid()); |
| 160 ASSERT_EQ(1u, drag_data.elements.size()); | 160 ASSERT_EQ(1u, drag_data.num_elements()); |
| 161 EXPECT_EQ(g12->GetTitle(), drag_data.elements[0].title); | 161 EXPECT_EQ(g12->GetTitle(), drag_data.elements[0].title); |
| 162 EXPECT_FALSE(drag_data.elements[0].is_url); | 162 EXPECT_FALSE(drag_data.elements[0].is_url); |
| 163 EXPECT_EQ(g12->date_added(), drag_data.elements[0].date_added); | 163 EXPECT_EQ(g12->date_added(), drag_data.elements[0].date_added); |
| 164 EXPECT_EQ(g12->date_folder_modified(), | 164 EXPECT_EQ(g12->date_folder_modified(), |
| 165 drag_data.elements[0].date_folder_modified); | 165 drag_data.elements[0].date_folder_modified); |
| 166 | 166 |
| 167 ui::OSExchangeData data; | 167 ui::OSExchangeData data; |
| 168 drag_data.Write(GetProfilePath(), &data); | 168 drag_data.Write(GetProfilePath(), &data); |
| 169 | 169 |
| 170 // Now read the data back in. | 170 // Now read the data back in. |
| 171 ui::OSExchangeData data2(CloneProvider(data)); | 171 ui::OSExchangeData data2(CloneProvider(data)); |
| 172 BookmarkNodeData read_data; | 172 BookmarkNodeData read_data; |
| 173 EXPECT_TRUE(read_data.Read(data2)); | 173 EXPECT_TRUE(read_data.Read(data2)); |
| 174 EXPECT_TRUE(read_data.is_valid()); | 174 EXPECT_TRUE(read_data.is_valid()); |
| 175 ASSERT_EQ(1u, read_data.elements.size()); | 175 ASSERT_EQ(1u, read_data.num_elements()); |
| 176 EXPECT_EQ(g12->GetTitle(), read_data.elements[0].title); | 176 EXPECT_EQ(g12->GetTitle(), read_data.elements[0].title); |
| 177 EXPECT_FALSE(read_data.elements[0].is_url); | 177 EXPECT_FALSE(read_data.elements[0].is_url); |
| 178 EXPECT_TRUE(read_data.elements[0].date_added.is_null()); | 178 EXPECT_TRUE(read_data.elements[0].date_added.is_null()); |
| 179 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null()); | 179 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null()); |
| 180 | 180 |
| 181 // We should get back the same node when asking for the same profile. | 181 // We should get back the same node when asking for the same profile. |
| 182 const BookmarkNode* r_g12 = read_data.GetFirstNode(model(), GetProfilePath()); | 182 const BookmarkNode* r_g12 = read_data.GetFirstNode(model(), GetProfilePath()); |
| 183 EXPECT_TRUE(g12 == r_g12); | 183 EXPECT_TRUE(g12 == r_g12); |
| 184 | 184 |
| 185 // A different profile should return NULL for the node. | 185 // A different profile should return NULL for the node. |
| (...skipping 15 matching lines...) Expand all Loading... |
| 201 | 201 |
| 202 BookmarkNodeData drag_data(folder); | 202 BookmarkNodeData drag_data(folder); |
| 203 | 203 |
| 204 ui::OSExchangeData data; | 204 ui::OSExchangeData data; |
| 205 drag_data.Write(GetProfilePath(), &data); | 205 drag_data.Write(GetProfilePath(), &data); |
| 206 | 206 |
| 207 // Now read the data back in. | 207 // Now read the data back in. |
| 208 ui::OSExchangeData data2(CloneProvider(data)); | 208 ui::OSExchangeData data2(CloneProvider(data)); |
| 209 BookmarkNodeData read_data; | 209 BookmarkNodeData read_data; |
| 210 EXPECT_TRUE(read_data.Read(data2)); | 210 EXPECT_TRUE(read_data.Read(data2)); |
| 211 ASSERT_EQ(1u, read_data.elements.size()); | 211 ASSERT_EQ(1u, read_data.num_elements()); |
| 212 ASSERT_EQ(1u, read_data.elements[0].children.size()); | 212 ASSERT_EQ(1u, read_data.elements[0].children.size()); |
| 213 const BookmarkNodeData::Element& read_child = | 213 const BookmarkNodeData::Element& read_child = |
| 214 read_data.elements[0].children[0]; | 214 read_data.elements[0].children[0]; |
| 215 | 215 |
| 216 EXPECT_TRUE(read_child.is_url); | 216 EXPECT_TRUE(read_child.is_url); |
| 217 EXPECT_EQ(title, read_child.title); | 217 EXPECT_EQ(title, read_child.title); |
| 218 EXPECT_EQ(url, read_child.url); | 218 EXPECT_EQ(url, read_child.url); |
| 219 EXPECT_TRUE(read_data.elements[0].date_added.is_null()); | 219 EXPECT_TRUE(read_data.elements[0].date_added.is_null()); |
| 220 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null()); | 220 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null()); |
| 221 EXPECT_TRUE(read_child.is_url); | 221 EXPECT_TRUE(read_child.is_url); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 242 nodes.push_back(url_node); | 242 nodes.push_back(url_node); |
| 243 BookmarkNodeData drag_data(nodes); | 243 BookmarkNodeData drag_data(nodes); |
| 244 ui::OSExchangeData data; | 244 ui::OSExchangeData data; |
| 245 drag_data.Write(GetProfilePath(), &data); | 245 drag_data.Write(GetProfilePath(), &data); |
| 246 | 246 |
| 247 // Read the data back in. | 247 // Read the data back in. |
| 248 ui::OSExchangeData data2(CloneProvider(data)); | 248 ui::OSExchangeData data2(CloneProvider(data)); |
| 249 BookmarkNodeData read_data; | 249 BookmarkNodeData read_data; |
| 250 EXPECT_TRUE(read_data.Read(data2)); | 250 EXPECT_TRUE(read_data.Read(data2)); |
| 251 EXPECT_TRUE(read_data.is_valid()); | 251 EXPECT_TRUE(read_data.is_valid()); |
| 252 ASSERT_EQ(2u, read_data.elements.size()); | 252 ASSERT_EQ(2u, read_data.num_elements()); |
| 253 ASSERT_EQ(1u, read_data.elements[0].children.size()); | 253 ASSERT_EQ(1u, read_data.elements[0].children.size()); |
| 254 EXPECT_TRUE(read_data.elements[0].date_added.is_null()); | 254 EXPECT_TRUE(read_data.elements[0].date_added.is_null()); |
| 255 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null()); | 255 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null()); |
| 256 | 256 |
| 257 const BookmarkNodeData::Element& read_folder = read_data.elements[0]; | 257 const BookmarkNodeData::Element& read_folder = read_data.elements[0]; |
| 258 EXPECT_FALSE(read_folder.is_url); | 258 EXPECT_FALSE(read_folder.is_url); |
| 259 EXPECT_EQ(ASCIIToUTF16("g1"), read_folder.title); | 259 EXPECT_EQ(ASCIIToUTF16("g1"), read_folder.title); |
| 260 EXPECT_EQ(1u, read_folder.children.size()); | 260 EXPECT_EQ(1u, read_folder.children.size()); |
| 261 | 261 |
| 262 const BookmarkNodeData::Element& read_url = read_data.elements[1]; | 262 const BookmarkNodeData::Element& read_url = read_data.elements[1]; |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 | 387 |
| 388 BookmarkNodeData node_data(node); | 388 BookmarkNodeData node_data(node); |
| 389 ui::OSExchangeData data; | 389 ui::OSExchangeData data; |
| 390 node_data.Write(GetProfilePath(), &data); | 390 node_data.Write(GetProfilePath(), &data); |
| 391 | 391 |
| 392 // Read the data back in. | 392 // Read the data back in. |
| 393 ui::OSExchangeData data2(CloneProvider(data)); | 393 ui::OSExchangeData data2(CloneProvider(data)); |
| 394 BookmarkNodeData read_data; | 394 BookmarkNodeData read_data; |
| 395 EXPECT_TRUE(read_data.Read(data2)); | 395 EXPECT_TRUE(read_data.Read(data2)); |
| 396 EXPECT_TRUE(read_data.is_valid()); | 396 EXPECT_TRUE(read_data.is_valid()); |
| 397 ASSERT_EQ(1u, read_data.elements.size()); | 397 ASSERT_EQ(1u, read_data.num_elements()); |
| 398 | 398 |
| 399 // Verify that the read data contains the same meta info. | 399 // Verify that the read data contains the same meta info. |
| 400 BookmarkNode::MetaInfoMap meta_info_map = read_data.elements[0].meta_info_map; | 400 BookmarkNode::MetaInfoMap meta_info_map = read_data.elements[0].meta_info_map; |
| 401 EXPECT_EQ(2u, meta_info_map.size()); | 401 EXPECT_EQ(2u, meta_info_map.size()); |
| 402 EXPECT_EQ("somevalue", meta_info_map["somekey"]); | 402 EXPECT_EQ("somevalue", meta_info_map["somekey"]); |
| 403 EXPECT_EQ("someothervalue", meta_info_map["someotherkey"]); | 403 EXPECT_EQ("someothervalue", meta_info_map["someotherkey"]); |
| 404 } | 404 } |
| 405 | 405 |
| 406 } // namespace bookmarks | 406 } // namespace bookmarks |
| OLD | NEW |