OLD | NEW |
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 <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 EXPECT_EQ(expected_pb.referrer_url(), report_pb.referrer_url()); | 263 EXPECT_EQ(expected_pb.referrer_url(), report_pb.referrer_url()); |
264 EXPECT_EQ(expected_pb.did_proceed(), report_pb.did_proceed()); | 264 EXPECT_EQ(expected_pb.did_proceed(), report_pb.did_proceed()); |
265 EXPECT_EQ(expected_pb.has_repeat_visit(), report_pb.has_repeat_visit()); | 265 EXPECT_EQ(expected_pb.has_repeat_visit(), report_pb.has_repeat_visit()); |
266 if (expected_pb.has_repeat_visit() && report_pb.has_repeat_visit()) { | 266 if (expected_pb.has_repeat_visit() && report_pb.has_repeat_visit()) { |
267 EXPECT_EQ(expected_pb.repeat_visit(), report_pb.repeat_visit()); | 267 EXPECT_EQ(expected_pb.repeat_visit(), report_pb.repeat_visit()); |
268 } | 268 } |
269 | 269 |
270 ASSERT_EQ(expected_pb.resources_size(), report_pb.resources_size()); | 270 ASSERT_EQ(expected_pb.resources_size(), report_pb.resources_size()); |
271 // Put the actual resources in a map, then iterate over the expected | 271 // Put the actual resources in a map, then iterate over the expected |
272 // resources, making sure each exists and is equal. | 272 // resources, making sure each exists and is equal. |
273 base::hash_map<int, const ClientSafeBrowsingReportRequest::Resource*> | 273 std::map<int, const ClientSafeBrowsingReportRequest::Resource*> |
274 actual_resource_map; | 274 actual_resource_map; |
275 for (const ClientSafeBrowsingReportRequest::Resource& resource : | 275 for (const ClientSafeBrowsingReportRequest::Resource& resource : |
276 report_pb.resources()) { | 276 report_pb.resources()) { |
277 actual_resource_map[resource.id()] = &resource; | 277 actual_resource_map[resource.id()] = &resource; |
278 } | 278 } |
279 // Make sure no resources disappeared when moving them to a map (IDs should | 279 // Make sure no resources disappeared when moving them to a map (IDs should |
280 // be unique). | 280 // be unique). |
281 ASSERT_EQ(expected_pb.resources_size(), | 281 ASSERT_EQ(expected_pb.resources_size(), |
282 static_cast<int>(actual_resource_map.size())); | 282 static_cast<int>(actual_resource_map.size())); |
283 for (const ClientSafeBrowsingReportRequest::Resource& expected_resource : | 283 for (const ClientSafeBrowsingReportRequest::Resource& expected_resource : |
284 expected_pb.resources()) { | 284 expected_pb.resources()) { |
285 ASSERT_TRUE(actual_resource_map.count(expected_resource.id()) > 0); | 285 ASSERT_TRUE(actual_resource_map.count(expected_resource.id()) > 0); |
286 VerifyResource(*actual_resource_map[expected_resource.id()], | 286 VerifyResource(*actual_resource_map[expected_resource.id()], |
287 expected_resource); | 287 expected_resource); |
288 } | 288 } |
289 | 289 |
290 ASSERT_EQ(expected_pb.dom_size(), report_pb.dom_size()); | 290 ASSERT_EQ(expected_pb.dom_size(), report_pb.dom_size()); |
291 // Put the actual elements in a map, then iterate over the expected | 291 // Put the actual elements in a map, then iterate over the expected |
292 // elements, making sure each exists and is equal. | 292 // elements, making sure each exists and is equal. |
293 base::hash_map<int, const HTMLElement*> actual_dom_map; | 293 std::map<int, const HTMLElement*> actual_dom_map; |
294 for (const HTMLElement& element : report_pb.dom()) { | 294 for (const HTMLElement& element : report_pb.dom()) { |
295 actual_dom_map[element.id()] = &element; | 295 actual_dom_map[element.id()] = &element; |
296 } | 296 } |
297 // Make sure no elements disappeared when moving them to a map (IDs should | 297 // Make sure no elements disappeared when moving them to a map (IDs should |
298 // be unique). | 298 // be unique). |
299 ASSERT_EQ(expected_pb.dom_size(), static_cast<int>(actual_dom_map.size())); | 299 ASSERT_EQ(expected_pb.dom_size(), static_cast<int>(actual_dom_map.size())); |
300 for (const HTMLElement& expected_element : expected_pb.dom()) { | 300 for (const HTMLElement& expected_element : expected_pb.dom()) { |
301 ASSERT_TRUE(actual_dom_map.count(expected_element.id()) > 0); | 301 ASSERT_TRUE(actual_dom_map.count(expected_element.id()) > 0); |
302 VerifyElement(*actual_dom_map[expected_element.id()], expected_element); | 302 VerifyElement(*actual_dom_map[expected_element.id()], expected_element); |
303 } | 303 } |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 EXPECT_EQ(expected.response().remote_ip(), resource.response().remote_ip()); | 345 EXPECT_EQ(expected.response().remote_ip(), resource.response().remote_ip()); |
346 } | 346 } |
347 | 347 |
348 void VerifyElement(const HTMLElement& element, const HTMLElement& expected) { | 348 void VerifyElement(const HTMLElement& element, const HTMLElement& expected) { |
349 EXPECT_EQ(expected.id(), element.id()); | 349 EXPECT_EQ(expected.id(), element.id()); |
350 EXPECT_EQ(expected.tag(), element.tag()); | 350 EXPECT_EQ(expected.tag(), element.tag()); |
351 EXPECT_EQ(expected.resource_id(), element.resource_id()); | 351 EXPECT_EQ(expected.resource_id(), element.resource_id()); |
352 EXPECT_THAT(element.child_ids(), | 352 EXPECT_THAT(element.child_ids(), |
353 UnorderedPointwise(Eq(), expected.child_ids())); | 353 UnorderedPointwise(Eq(), expected.child_ids())); |
354 ASSERT_EQ(expected.attribute_size(), element.attribute_size()); | 354 ASSERT_EQ(expected.attribute_size(), element.attribute_size()); |
355 base::hash_map<std::string, std::string> actual_attributes_map; | 355 std::map<std::string, std::string> actual_attributes_map; |
356 for (const HTMLElement::Attribute& attribute : element.attribute()) { | 356 for (const HTMLElement::Attribute& attribute : element.attribute()) { |
357 actual_attributes_map[attribute.name()] = attribute.value(); | 357 actual_attributes_map[attribute.name()] = attribute.value(); |
358 } | 358 } |
359 ASSERT_EQ(expected.attribute_size(), | 359 ASSERT_EQ(expected.attribute_size(), |
360 static_cast<int>(actual_attributes_map.size())); | 360 static_cast<int>(actual_attributes_map.size())); |
361 for (const HTMLElement::Attribute& expected_attribute : | 361 for (const HTMLElement::Attribute& expected_attribute : |
362 expected.attribute()) { | 362 expected.attribute()) { |
363 ASSERT_TRUE(actual_attributes_map.count(expected_attribute.name()) > 0); | 363 ASSERT_TRUE(actual_attributes_map.count(expected_attribute.name()) > 0); |
364 EXPECT_EQ(expected_attribute.value(), | 364 EXPECT_EQ(expected_attribute.value(), |
365 actual_attributes_map[expected_attribute.name()]); | 365 actual_attributes_map[expected_attribute.name()]); |
(...skipping 997 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1363 pb_resource->set_parent_id(3); | 1363 pb_resource->set_parent_id(3); |
1364 pb_resource->set_url(kSecondRedirectURL); | 1364 pb_resource->set_url(kSecondRedirectURL); |
1365 pb_resource = expected.add_resources(); | 1365 pb_resource = expected.add_resources(); |
1366 pb_resource->set_id(3); | 1366 pb_resource->set_id(3); |
1367 pb_resource->set_url(kFirstRedirectURL); | 1367 pb_resource->set_url(kFirstRedirectURL); |
1368 | 1368 |
1369 VerifyResults(actual, expected); | 1369 VerifyResults(actual, expected); |
1370 } | 1370 } |
1371 | 1371 |
1372 } // namespace safe_browsing | 1372 } // namespace safe_browsing |
OLD | NEW |