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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « components/bookmarks/browser/bookmark_node_data.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« 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