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

Side by Side Diff: chrome/browser/bookmarks/bookmark_node_data_unittest.cc

Issue 22855011: Added date_added and folder_modification_time to BookmarkNodeData. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix clang and android compile errors. Created 7 years, 4 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
7 #include "base/strings/string16.h" 7 #include "base/strings/string16.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/bookmarks/bookmark_model.h" 9 #include "chrome/browser/bookmarks/bookmark_model.h"
10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 ui::OSExchangeData data; 57 ui::OSExchangeData data;
58 data.SetURL(url, title); 58 data.SetURL(url, title);
59 59
60 BookmarkNodeData drag_data; 60 BookmarkNodeData drag_data;
61 EXPECT_TRUE(drag_data.Read(ui::OSExchangeData(CloneProvider(data)))); 61 EXPECT_TRUE(drag_data.Read(ui::OSExchangeData(CloneProvider(data))));
62 EXPECT_TRUE(drag_data.is_valid()); 62 EXPECT_TRUE(drag_data.is_valid());
63 ASSERT_EQ(1, drag_data.elements.size()); 63 ASSERT_EQ(1, drag_data.elements.size());
64 EXPECT_TRUE(drag_data.elements[0].is_url); 64 EXPECT_TRUE(drag_data.elements[0].is_url);
65 EXPECT_EQ(url, drag_data.elements[0].url); 65 EXPECT_EQ(url, drag_data.elements[0].url);
66 EXPECT_EQ(title, drag_data.elements[0].title); 66 EXPECT_EQ(title, drag_data.elements[0].title);
67 EXPECT_TRUE(drag_data.elements[0].date_added.is_null());
68 EXPECT_TRUE(drag_data.elements[0].date_folder_modified.is_null());
67 EXPECT_EQ(0, drag_data.elements[0].children.size()); 69 EXPECT_EQ(0, drag_data.elements[0].children.size());
68 } 70 }
69 71
70 TEST_F(BookmarkNodeDataTest, URL) { 72 TEST_F(BookmarkNodeDataTest, URL) {
71 // Write a single node representing a URL to the clipboard. 73 // Write a single node representing a URL to the clipboard.
72 TestingProfile profile; 74 TestingProfile profile;
73 profile.SetID(L"id"); 75 profile.SetID(L"id");
74 profile.CreateBookmarkModel(false); 76 profile.CreateBookmarkModel(false);
75 BookmarkModel* model = BookmarkModelFactory::GetForProfile(&profile); 77 BookmarkModel* model = BookmarkModelFactory::GetForProfile(&profile);
76 ui_test_utils::WaitForBookmarkModelToLoad(model); 78 ui_test_utils::WaitForBookmarkModelToLoad(model);
77 const BookmarkNode* root = model->bookmark_bar_node(); 79 const BookmarkNode* root = model->bookmark_bar_node();
78 GURL url(GURL("http://foo.com")); 80 GURL url(GURL("http://foo.com"));
79 const string16 title(ASCIIToUTF16("foo.com")); 81 const string16 title(ASCIIToUTF16("foo.com"));
80 const BookmarkNode* node = model->AddURL(root, 0, title, url); 82 const BookmarkNode* node = model->AddURL(root, 0, title, url);
81 BookmarkNodeData drag_data(node); 83 BookmarkNodeData drag_data(node);
82 EXPECT_TRUE(drag_data.is_valid()); 84 EXPECT_TRUE(drag_data.is_valid());
83 ASSERT_EQ(1, drag_data.elements.size()); 85 ASSERT_EQ(1, drag_data.elements.size());
84 EXPECT_TRUE(drag_data.elements[0].is_url); 86 EXPECT_TRUE(drag_data.elements[0].is_url);
85 EXPECT_EQ(url, drag_data.elements[0].url); 87 EXPECT_EQ(url, drag_data.elements[0].url);
86 EXPECT_EQ(title, drag_data.elements[0].title); 88 EXPECT_EQ(title, drag_data.elements[0].title);
89 EXPECT_EQ(node->date_added(), drag_data.elements[0].date_added);
90 EXPECT_EQ(node->date_folder_modified(),
91 drag_data.elements[0].date_folder_modified);
87 ui::OSExchangeData data; 92 ui::OSExchangeData data;
88 drag_data.Write(&profile, &data); 93 drag_data.Write(&profile, &data);
89 94
90 // Now read the data back in. 95 // Now read the data back in.
91 ui::OSExchangeData data2(CloneProvider(data)); 96 ui::OSExchangeData data2(CloneProvider(data));
92 BookmarkNodeData read_data; 97 BookmarkNodeData read_data;
93 EXPECT_TRUE(read_data.Read(data2)); 98 EXPECT_TRUE(read_data.Read(data2));
94 EXPECT_TRUE(read_data.is_valid()); 99 EXPECT_TRUE(read_data.is_valid());
95 ASSERT_EQ(1, read_data.elements.size()); 100 ASSERT_EQ(1, read_data.elements.size());
96 EXPECT_TRUE(read_data.elements[0].is_url); 101 EXPECT_TRUE(read_data.elements[0].is_url);
97 EXPECT_EQ(url, read_data.elements[0].url); 102 EXPECT_EQ(url, read_data.elements[0].url);
98 EXPECT_EQ(title, read_data.elements[0].title); 103 EXPECT_EQ(title, read_data.elements[0].title);
104 EXPECT_TRUE(read_data.elements[0].date_added.is_null());
105 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null());
99 EXPECT_TRUE(read_data.GetFirstNode(&profile) == node); 106 EXPECT_TRUE(read_data.GetFirstNode(&profile) == node);
100 107
101 // Make sure asking for the node with a different profile returns NULL. 108 // Make sure asking for the node with a different profile returns NULL.
102 TestingProfile profile2; 109 TestingProfile profile2;
103 EXPECT_TRUE(read_data.GetFirstNode(&profile2) == NULL); 110 EXPECT_TRUE(read_data.GetFirstNode(&profile2) == NULL);
104 111
105 // Writing should also put the URL and title on the clipboard. 112 // Writing should also put the URL and title on the clipboard.
106 GURL read_url; 113 GURL read_url;
107 string16 read_title; 114 string16 read_title;
108 EXPECT_TRUE(data2.GetURLAndTitle(&read_url, &read_title)); 115 EXPECT_TRUE(data2.GetURLAndTitle(&read_url, &read_title));
(...skipping 13 matching lines...) Expand all
122 const BookmarkNode* root = model->bookmark_bar_node(); 129 const BookmarkNode* root = model->bookmark_bar_node();
123 const BookmarkNode* g1 = model->AddFolder(root, 0, ASCIIToUTF16("g1")); 130 const BookmarkNode* g1 = model->AddFolder(root, 0, ASCIIToUTF16("g1"));
124 const BookmarkNode* g11 = model->AddFolder(g1, 0, ASCIIToUTF16("g11")); 131 const BookmarkNode* g11 = model->AddFolder(g1, 0, ASCIIToUTF16("g11"));
125 const BookmarkNode* g12 = model->AddFolder(g1, 0, ASCIIToUTF16("g12")); 132 const BookmarkNode* g12 = model->AddFolder(g1, 0, ASCIIToUTF16("g12"));
126 133
127 BookmarkNodeData drag_data(g12); 134 BookmarkNodeData drag_data(g12);
128 EXPECT_TRUE(drag_data.is_valid()); 135 EXPECT_TRUE(drag_data.is_valid());
129 ASSERT_EQ(1, drag_data.elements.size()); 136 ASSERT_EQ(1, drag_data.elements.size());
130 EXPECT_EQ(g12->GetTitle(), drag_data.elements[0].title); 137 EXPECT_EQ(g12->GetTitle(), drag_data.elements[0].title);
131 EXPECT_FALSE(drag_data.elements[0].is_url); 138 EXPECT_FALSE(drag_data.elements[0].is_url);
139 EXPECT_EQ(g12->date_added(), drag_data.elements[0].date_added);
140 EXPECT_EQ(g12->date_folder_modified(),
141 drag_data.elements[0].date_folder_modified);
132 142
133 ui::OSExchangeData data; 143 ui::OSExchangeData data;
134 drag_data.Write(&profile, &data); 144 drag_data.Write(&profile, &data);
135 145
136 // Now read the data back in. 146 // Now read the data back in.
137 ui::OSExchangeData data2(CloneProvider(data)); 147 ui::OSExchangeData data2(CloneProvider(data));
138 BookmarkNodeData read_data; 148 BookmarkNodeData read_data;
139 EXPECT_TRUE(read_data.Read(data2)); 149 EXPECT_TRUE(read_data.Read(data2));
140 EXPECT_TRUE(read_data.is_valid()); 150 EXPECT_TRUE(read_data.is_valid());
141 ASSERT_EQ(1, read_data.elements.size()); 151 ASSERT_EQ(1, read_data.elements.size());
142 EXPECT_EQ(g12->GetTitle(), read_data.elements[0].title); 152 EXPECT_EQ(g12->GetTitle(), read_data.elements[0].title);
143 EXPECT_FALSE(read_data.elements[0].is_url); 153 EXPECT_FALSE(read_data.elements[0].is_url);
154 EXPECT_TRUE(read_data.elements[0].date_added.is_null());
155 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null());
144 156
145 // We should get back the same node when asking for the same profile. 157 // We should get back the same node when asking for the same profile.
146 const BookmarkNode* r_g12 = read_data.GetFirstNode(&profile); 158 const BookmarkNode* r_g12 = read_data.GetFirstNode(&profile);
147 EXPECT_TRUE(g12 == r_g12); 159 EXPECT_TRUE(g12 == r_g12);
148 160
149 // A different profile should return NULL for the node. 161 // A different profile should return NULL for the node.
150 TestingProfile profile2; 162 TestingProfile profile2;
151 EXPECT_TRUE(read_data.GetFirstNode(&profile2) == NULL); 163 EXPECT_TRUE(read_data.GetFirstNode(&profile2) == NULL);
152 } 164 }
153 165
(...skipping 24 matching lines...) Expand all
178 BookmarkNodeData read_data; 190 BookmarkNodeData read_data;
179 EXPECT_TRUE(read_data.Read(data2)); 191 EXPECT_TRUE(read_data.Read(data2));
180 ASSERT_EQ(1, read_data.elements.size()); 192 ASSERT_EQ(1, read_data.elements.size());
181 ASSERT_EQ(1, read_data.elements[0].children.size()); 193 ASSERT_EQ(1, read_data.elements[0].children.size());
182 const BookmarkNodeData::Element& read_child = 194 const BookmarkNodeData::Element& read_child =
183 read_data.elements[0].children[0]; 195 read_data.elements[0].children[0];
184 196
185 EXPECT_TRUE(read_child.is_url); 197 EXPECT_TRUE(read_child.is_url);
186 EXPECT_EQ(title, read_child.title); 198 EXPECT_EQ(title, read_child.title);
187 EXPECT_EQ(url, read_child.url); 199 EXPECT_EQ(url, read_child.url);
200 EXPECT_TRUE(read_data.elements[0].date_added.is_null());
201 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null());
188 EXPECT_TRUE(read_child.is_url); 202 EXPECT_TRUE(read_child.is_url);
189 203
190 // And make sure we get the node back. 204 // And make sure we get the node back.
191 const BookmarkNode* r_folder = read_data.GetFirstNode(&profile); 205 const BookmarkNode* r_folder = read_data.GetFirstNode(&profile);
192 EXPECT_TRUE(folder == r_folder); 206 EXPECT_TRUE(folder == r_folder);
193 } 207 }
194 208
195 // Tests reading/writing of multiple nodes. 209 // Tests reading/writing of multiple nodes.
196 TEST_F(BookmarkNodeDataTest, MultipleNodes) { 210 TEST_F(BookmarkNodeDataTest, MultipleNodes) {
197 TestingProfile profile; 211 TestingProfile profile;
(...skipping 19 matching lines...) Expand all
217 ui::OSExchangeData data; 231 ui::OSExchangeData data;
218 drag_data.Write(&profile, &data); 232 drag_data.Write(&profile, &data);
219 233
220 // Read the data back in. 234 // Read the data back in.
221 ui::OSExchangeData data2(CloneProvider(data)); 235 ui::OSExchangeData data2(CloneProvider(data));
222 BookmarkNodeData read_data; 236 BookmarkNodeData read_data;
223 EXPECT_TRUE(read_data.Read(data2)); 237 EXPECT_TRUE(read_data.Read(data2));
224 EXPECT_TRUE(read_data.is_valid()); 238 EXPECT_TRUE(read_data.is_valid());
225 ASSERT_EQ(2, read_data.elements.size()); 239 ASSERT_EQ(2, read_data.elements.size());
226 ASSERT_EQ(1, read_data.elements[0].children.size()); 240 ASSERT_EQ(1, read_data.elements[0].children.size());
241 EXPECT_TRUE(read_data.elements[0].date_added.is_null());
242 EXPECT_TRUE(read_data.elements[0].date_folder_modified.is_null());
227 243
228 const BookmarkNodeData::Element& read_folder = read_data.elements[0]; 244 const BookmarkNodeData::Element& read_folder = read_data.elements[0];
229 EXPECT_FALSE(read_folder.is_url); 245 EXPECT_FALSE(read_folder.is_url);
230 EXPECT_EQ(L"g1", read_folder.title); 246 EXPECT_EQ(L"g1", read_folder.title);
231 EXPECT_EQ(1, read_folder.children.size()); 247 EXPECT_EQ(1, read_folder.children.size());
232 248
233 const BookmarkNodeData::Element& read_url = read_data.elements[1]; 249 const BookmarkNodeData::Element& read_url = read_data.elements[1];
234 EXPECT_TRUE(read_url.is_url); 250 EXPECT_TRUE(read_url.is_url);
235 EXPECT_EQ(title, read_url.title); 251 EXPECT_EQ(title, read_url.title);
236 EXPECT_EQ(0, read_url.children.size()); 252 EXPECT_EQ(0, read_url.children.size());
237 253
238 // And make sure we get the node back. 254 // And make sure we get the node back.
239 std::vector<const BookmarkNode*> read_nodes = read_data.GetNodes(&profile); 255 std::vector<const BookmarkNode*> read_nodes = read_data.GetNodes(&profile);
240 ASSERT_EQ(2, read_nodes.size()); 256 ASSERT_EQ(2, read_nodes.size());
241 EXPECT_TRUE(read_nodes[0] == folder); 257 EXPECT_TRUE(read_nodes[0] == folder);
242 EXPECT_TRUE(read_nodes[1] == url_node); 258 EXPECT_TRUE(read_nodes[1] == url_node);
243 259
244 // Asking for the first node should return NULL with more than one element 260 // Asking for the first node should return NULL with more than one element
245 // present. 261 // present.
246 EXPECT_TRUE(read_data.GetFirstNode(&profile) == NULL); 262 EXPECT_TRUE(read_data.GetFirstNode(&profile) == NULL);
247 } 263 }
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/bookmark_node_data.cc ('k') | chrome/browser/bookmarks/bookmark_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698