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.size()); |
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.size()); |
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.size()); |
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.size()); |
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.size()); |
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.size()); |
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.size()); |
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.size()); |
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 |