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/strings/string16.h" | 8 #include "base/strings/string16.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "components/bookmarks/browser/bookmark_model.h" | 10 #include "components/bookmarks/browser/bookmark_model.h" |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
262 read_data.GetNodes(model(), GetProfilePath()); | 262 read_data.GetNodes(model(), GetProfilePath()); |
263 ASSERT_EQ(2u, read_nodes.size()); | 263 ASSERT_EQ(2u, read_nodes.size()); |
264 EXPECT_TRUE(read_nodes[0] == folder); | 264 EXPECT_TRUE(read_nodes[0] == folder); |
265 EXPECT_TRUE(read_nodes[1] == url_node); | 265 EXPECT_TRUE(read_nodes[1] == url_node); |
266 | 266 |
267 // Asking for the first node should return NULL with more than one element | 267 // Asking for the first node should return NULL with more than one element |
268 // present. | 268 // present. |
269 EXPECT_TRUE(read_data.GetFirstNode(model(), GetProfilePath()) == NULL); | 269 EXPECT_TRUE(read_data.GetFirstNode(model(), GetProfilePath()) == NULL); |
270 } | 270 } |
271 | 271 |
272 TEST_F(BookmarkNodeDataTest, WriteToClipboardURL) { | |
sky
2014/10/16 16:04:06
Does this inject a fake clipboard so that the test
| |
273 BookmarkNodeData data; | |
274 GURL url(GURL("http://foo.com")); | |
275 const base::string16 title(ASCIIToUTF16("blah")); | |
276 | |
277 // Write to clipboard | |
278 data.ReadFromTuple(url, title); | |
279 data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
280 | |
281 // Now read the data back in. | |
282 BookmarkNodeData read_data; | |
283 read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
284 ASSERT_EQ(1u, read_data.elements.size()); | |
285 EXPECT_TRUE(read_data.elements[0].is_url); | |
286 EXPECT_EQ(url, read_data.elements[0].url); | |
287 EXPECT_EQ(title, read_data.elements[0].title); | |
288 } | |
289 | |
290 TEST_F(BookmarkNodeDataTest, WriteToClipboardMultipleURLs) { | |
291 BookmarkNodeData data; | |
292 const BookmarkNode* root = model()->bookmark_bar_node(); | |
293 GURL url(GURL("http://foo.com")); | |
294 const base::string16 title(ASCIIToUTF16("blah")); | |
295 GURL url2(GURL("http://bar.com")); | |
296 const base::string16 title2(ASCIIToUTF16("blah2")); | |
297 const BookmarkNode* url_node = model()->AddURL(root, 0, title, url); | |
298 const BookmarkNode* url_node2 = model()->AddURL(root, 1, title2, url2); | |
299 std::vector<const BookmarkNode*> nodes; | |
300 nodes.push_back(url_node); | |
301 nodes.push_back(url_node2); | |
302 | |
303 // Write to clipboard | |
304 data.ReadFromVector(nodes); | |
305 data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
306 | |
307 // Now read the data back in. | |
308 BookmarkNodeData read_data; | |
309 read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
310 ASSERT_EQ(2u, read_data.elements.size()); | |
311 EXPECT_TRUE(read_data.elements[0].is_url); | |
312 EXPECT_EQ(url, read_data.elements[0].url); | |
313 EXPECT_TRUE(read_data.elements[1].is_url); | |
314 EXPECT_EQ(url2, read_data.elements[1].url); | |
315 } | |
316 | |
317 TEST_F(BookmarkNodeDataTest, WriteToClipboardEmptyFolder) { | |
318 BookmarkNodeData data; | |
319 const BookmarkNode* root = model()->bookmark_bar_node(); | |
320 const BookmarkNode* folder = model()->AddFolder(root, 0, ASCIIToUTF16("g1")); | |
321 std::vector<const BookmarkNode*> nodes; | |
322 nodes.push_back(folder); | |
323 | |
324 // Write to clipboard | |
325 data.ReadFromVector(nodes); | |
326 data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
327 | |
328 // Now read the data back in. | |
329 BookmarkNodeData read_data; | |
330 read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
331 ASSERT_EQ(1u, read_data.elements.size()); | |
332 EXPECT_FALSE(read_data.elements[0].is_url); | |
333 EXPECT_EQ(ASCIIToUTF16("g1"), read_data.elements[0].title); | |
334 } | |
335 | |
336 TEST_F(BookmarkNodeDataTest, WriteToClipboardFolderWithChildren) { | |
337 BookmarkNodeData data; | |
338 const BookmarkNode* root = model()->bookmark_bar_node(); | |
339 const BookmarkNode* folder = model()->AddFolder(root, 0, ASCIIToUTF16("g1")); | |
340 GURL url(GURL("http://foo.com")); | |
341 const base::string16 title(ASCIIToUTF16("blah")); | |
342 const BookmarkNode* url_node = model()->AddURL(folder, 0, title, url); | |
343 std::vector<const BookmarkNode*> nodes; | |
344 nodes.push_back(folder); | |
345 | |
346 // Write to clipboard | |
347 data.ReadFromVector(nodes); | |
348 data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
349 | |
350 // Now read the data back in. | |
351 BookmarkNodeData read_data; | |
352 read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
353 ASSERT_EQ(1u, read_data.elements.size()); | |
354 EXPECT_FALSE(read_data.elements[0].is_url); | |
355 EXPECT_EQ(ASCIIToUTF16("g1"), read_data.elements[0].title); | |
356 } | |
357 | |
358 TEST_F(BookmarkNodeDataTest, WriteToClipboardFolderAndURL) { | |
359 BookmarkNodeData data; | |
360 GURL url(GURL("http://foo.com")); | |
361 const base::string16 title(ASCIIToUTF16("blah")); | |
362 const BookmarkNode* root = model()->bookmark_bar_node(); | |
363 const BookmarkNode* url_node = model()->AddURL(root, 0, title, url); | |
364 const BookmarkNode* folder = model()->AddFolder(root, 0, ASCIIToUTF16("g1")); | |
365 std::vector<const BookmarkNode*> nodes; | |
366 nodes.push_back(url_node); | |
367 nodes.push_back(folder); | |
368 | |
369 // Write to clipboard | |
370 data.ReadFromVector(nodes); | |
371 data.WriteToClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
372 | |
373 // Now read the data back in. | |
374 BookmarkNodeData read_data; | |
375 read_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE); | |
376 ASSERT_EQ(2u, read_data.elements.size()); | |
377 EXPECT_TRUE(read_data.elements[0].is_url); | |
378 EXPECT_EQ(url, read_data.elements[0].url); | |
379 EXPECT_FALSE(read_data.elements[1].is_url); | |
380 EXPECT_EQ(ASCIIToUTF16("g1"), read_data.elements[1].title); | |
381 } | |
382 | |
272 // Tests reading/writing of meta info. | 383 // Tests reading/writing of meta info. |
273 TEST_F(BookmarkNodeDataTest, MetaInfo) { | 384 TEST_F(BookmarkNodeDataTest, MetaInfo) { |
274 // Create a node containing meta info. | 385 // Create a node containing meta info. |
275 const BookmarkNode* node = model()->AddURL(model()->other_node(), | 386 const BookmarkNode* node = model()->AddURL(model()->other_node(), |
276 0, | 387 0, |
277 ASCIIToUTF16("foo bar"), | 388 ASCIIToUTF16("foo bar"), |
278 GURL("http://www.google.com")); | 389 GURL("http://www.google.com")); |
279 model()->SetNodeMetaInfo(node, "somekey", "somevalue"); | 390 model()->SetNodeMetaInfo(node, "somekey", "somevalue"); |
280 model()->SetNodeMetaInfo(node, "someotherkey", "someothervalue"); | 391 model()->SetNodeMetaInfo(node, "someotherkey", "someothervalue"); |
281 | 392 |
282 BookmarkNodeData node_data(node); | 393 BookmarkNodeData node_data(node); |
283 ui::OSExchangeData data; | 394 ui::OSExchangeData data; |
284 node_data.Write(GetProfilePath(), &data); | 395 node_data.Write(GetProfilePath(), &data); |
285 | 396 |
286 // Read the data back in. | 397 // Read the data back in. |
287 ui::OSExchangeData data2(CloneProvider(data)); | 398 ui::OSExchangeData data2(CloneProvider(data)); |
288 BookmarkNodeData read_data; | 399 BookmarkNodeData read_data; |
289 EXPECT_TRUE(read_data.Read(data2)); | 400 EXPECT_TRUE(read_data.Read(data2)); |
290 EXPECT_TRUE(read_data.is_valid()); | 401 EXPECT_TRUE(read_data.is_valid()); |
291 ASSERT_EQ(1u, read_data.elements.size()); | 402 ASSERT_EQ(1u, read_data.elements.size()); |
292 | 403 |
293 // Verify that the read data contains the same meta info. | 404 // Verify that the read data contains the same meta info. |
294 BookmarkNode::MetaInfoMap meta_info_map = read_data.elements[0].meta_info_map; | 405 BookmarkNode::MetaInfoMap meta_info_map = read_data.elements[0].meta_info_map; |
295 EXPECT_EQ(2u, meta_info_map.size()); | 406 EXPECT_EQ(2u, meta_info_map.size()); |
296 EXPECT_EQ("somevalue", meta_info_map["somekey"]); | 407 EXPECT_EQ("somevalue", meta_info_map["somekey"]); |
297 EXPECT_EQ("someothervalue", meta_info_map["someotherkey"]); | 408 EXPECT_EQ("someothervalue", meta_info_map["someotherkey"]); |
298 } | 409 } |
299 | 410 |
300 } // namespace bookmarks | 411 } // namespace bookmarks |
OLD | NEW |