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

Side by Side Diff: chrome/browser/bookmark_drag_data_unittest.cc

Issue 1868: Moves bookmark related classes into bookmarks directory. There are no... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/bookmark_drag_data.cc ('k') | chrome/browser/bookmark_storage.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/scoped_ptr.h"
6 #include "chrome/browser/bookmark_drag_data.h"
7 #include "chrome/browser/bookmark_bar_model.h"
8 #include "chrome/common/os_exchange_data.h"
9 #include "googleurl/src/gurl.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 typedef testing::Test BookmarkDragDataTest;
13
14 TEST_F(BookmarkDragDataTest, InitialState) {
15 BookmarkDragData data;
16 EXPECT_FALSE(data.is_valid);
17 }
18
19 TEST_F(BookmarkDragDataTest, BogusRead) {
20 scoped_refptr<OSExchangeData> data(new OSExchangeData());
21 BookmarkDragData drag_data;
22 drag_data.is_valid = true;
23 EXPECT_FALSE(drag_data.Read(data.get()));
24 EXPECT_FALSE(drag_data.is_valid);
25 }
26
27 TEST_F(BookmarkDragDataTest, URL) {
28 BookmarkBarModel model(NULL);
29 BookmarkBarNode* root = model.GetBookmarkBarNode();
30 GURL url(GURL("http://foo.com"));
31 const std::wstring profile_id(L"blah");
32 const std::wstring title(L"blah");
33 BookmarkBarNode* node = model.AddURL(root, 0, title, url);
34 BookmarkDragData drag_data(node);
35 drag_data.profile_id = profile_id;
36 EXPECT_TRUE(drag_data.url == url);
37 EXPECT_EQ(title, drag_data.title);
38 EXPECT_TRUE(drag_data.is_url);
39
40 scoped_refptr<OSExchangeData> data(new OSExchangeData());
41 drag_data.Write(data.get());
42
43 // Now read the data back in.
44 scoped_refptr<OSExchangeData> data2(new OSExchangeData(data.get()));
45 BookmarkDragData read_data;
46 EXPECT_TRUE(read_data.Read(*data2));
47 EXPECT_TRUE(read_data.url == url);
48 EXPECT_EQ(title, read_data.title);
49 EXPECT_TRUE(read_data.is_valid);
50 EXPECT_TRUE(read_data.is_url);
51
52 // Writing should also put the URL and title on the clipboard.
53 GURL read_url;
54 std::wstring read_title;
55 EXPECT_TRUE(data2->GetURLAndTitle(&read_url, &read_title));
56 EXPECT_TRUE(read_url == url);
57 EXPECT_EQ(title, read_title);
58 }
59
60 TEST_F(BookmarkDragDataTest, Group) {
61 BookmarkBarModel model(NULL);
62 BookmarkBarNode* root = model.GetBookmarkBarNode();
63 BookmarkBarNode* g1 = model.AddGroup(root, 0, L"g1");
64 BookmarkBarNode* g11 = model.AddGroup(g1, 0, L"g11");
65 BookmarkBarNode* g12 = model.AddGroup(g1, 0, L"g12");
66
67 BookmarkDragData drag_data(g12);
68 const std::wstring profile_id(L"blah");
69 drag_data.profile_id = profile_id;
70 EXPECT_EQ(g12->GetTitle(), drag_data.title);
71 EXPECT_FALSE(drag_data.is_url);
72
73 scoped_refptr<OSExchangeData> data(new OSExchangeData());
74 drag_data.Write(data.get());
75
76 // Now read the data back in.
77 scoped_refptr<OSExchangeData> data2(new OSExchangeData(data.get()));
78 BookmarkDragData read_data;
79 EXPECT_TRUE(read_data.Read(*data2));
80 EXPECT_EQ(g12->GetTitle(), read_data.title);
81 EXPECT_EQ(profile_id, read_data.profile_id);
82 EXPECT_TRUE(read_data.is_valid);
83 EXPECT_FALSE(read_data.is_url);
84
85 BookmarkBarNode* r_g12 = read_data.GetNode(&model);
86 EXPECT_TRUE(g12 == r_g12);
87 }
88
89 TEST_F(BookmarkDragDataTest, GroupWithChild) {
90 BookmarkBarModel model(NULL);
91 BookmarkBarNode* root = model.GetBookmarkBarNode();
92 BookmarkBarNode* group = model.AddGroup(root, 0, L"g1");
93
94 GURL url(GURL("http://foo.com"));
95 const std::wstring profile_id(L"blah");
96 const std::wstring title(L"blah2");
97
98 model.AddURL(group, 0, title, url);
99
100 BookmarkDragData drag_data(group);
101 drag_data.profile_id = profile_id;
102
103 scoped_refptr<OSExchangeData> data(new OSExchangeData());
104 drag_data.Write(data.get());
105
106 // Now read the data back in.
107 scoped_refptr<OSExchangeData> data2(new OSExchangeData(data.get()));
108 BookmarkDragData read_data;
109 EXPECT_TRUE(read_data.Read(*data2));
110
111 EXPECT_EQ(1, read_data.children.size());
112 EXPECT_TRUE(read_data.children[0].is_valid);
113 EXPECT_TRUE(read_data.children[0].is_url);
114 EXPECT_EQ(title, read_data.children[0].title);
115 EXPECT_TRUE(url == read_data.children[0].url);
116 EXPECT_TRUE(read_data.children[0].is_url);
117
118 BookmarkBarNode* r_group = read_data.GetNode(&model);
119 EXPECT_TRUE(group == r_group);
120 }
121
OLDNEW
« no previous file with comments | « chrome/browser/bookmark_drag_data.cc ('k') | chrome/browser/bookmark_storage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698