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

Side by Side Diff: chrome/browser/safe_browsing/local_database_manager_unittest.cc

Issue 2442953002: Remove stl_util's deletion function use from chrome/. (Closed)
Patch Set: fix Created 4 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/safe_browsing/local_database_manager.h" 5 #include "chrome/browser/safe_browsing/local_database_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 24 matching lines...) Expand all
35 35
36 bool RunSBHashTest(const ListType list_type, 36 bool RunSBHashTest(const ListType list_type,
37 const std::vector<SBThreatType>& expected_threats, 37 const std::vector<SBThreatType>& expected_threats,
38 const std::vector<std::string>& result_lists); 38 const std::vector<std::string>& result_lists);
39 bool RunUrlTest( 39 bool RunUrlTest(
40 const GURL& url, ListType list_type, 40 const GURL& url, ListType list_type,
41 const std::vector<SBThreatType>& expected_threats, 41 const std::vector<SBThreatType>& expected_threats,
42 const std::vector<HostListPair>& host_list_results); 42 const std::vector<HostListPair>& host_list_results);
43 43
44 private: 44 private:
45 bool RunTest(LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck* check, 45 bool RunTest(std::unique_ptr<
46 LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck> check,
46 const std::vector<SBFullHashResult>& hash_results); 47 const std::vector<SBFullHashResult>& hash_results);
47 48
48 TestBrowserThreadBundle thread_bundle_; 49 TestBrowserThreadBundle thread_bundle_;
49 }; 50 };
50 51
51 bool LocalDatabaseManagerTest::RunSBHashTest( 52 bool LocalDatabaseManagerTest::RunSBHashTest(
52 const ListType list_type, 53 const ListType list_type,
53 const std::vector<SBThreatType>& expected_threats, 54 const std::vector<SBThreatType>& expected_threats,
54 const std::vector<std::string>& result_lists) { 55 const std::vector<std::string>& result_lists) {
55 const SBFullHash same_full_hash = {}; 56 const SBFullHash same_full_hash = {};
56 std::unique_ptr<LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck> check( 57 std::unique_ptr<LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck> check(
57 new LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck( 58 new LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck(
58 std::vector<GURL>(), std::vector<SBFullHash>(1, same_full_hash), NULL, 59 std::vector<GURL>(), std::vector<SBFullHash>(1, same_full_hash), NULL,
59 list_type, expected_threats)); 60 list_type, expected_threats));
60 61
61 std::vector<SBFullHashResult> fake_results; 62 std::vector<SBFullHashResult> fake_results;
62 for (const auto& result_list : result_lists) { 63 for (const auto& result_list : result_lists) {
63 const SBFullHashResult full_hash_result = {same_full_hash, 64 const SBFullHashResult full_hash_result = {same_full_hash,
64 GetListId(result_list)}; 65 GetListId(result_list)};
65 fake_results.push_back(full_hash_result); 66 fake_results.push_back(full_hash_result);
66 } 67 }
67 return RunTest(check.get(), fake_results); 68 return RunTest(std::move(check), fake_results);
68 } 69 }
69 70
70 bool LocalDatabaseManagerTest::RunUrlTest( 71 bool LocalDatabaseManagerTest::RunUrlTest(
71 const GURL& url, ListType list_type, 72 const GURL& url, ListType list_type,
72 const std::vector<SBThreatType>& expected_threats, 73 const std::vector<SBThreatType>& expected_threats,
73 const std::vector<HostListPair>& host_list_results) { 74 const std::vector<HostListPair>& host_list_results) {
74 std::unique_ptr<LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck> check( 75 std::unique_ptr<LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck> check(
75 new LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck( 76 new LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck(
76 std::vector<GURL>(1, url), std::vector<SBFullHash>(), NULL, list_type, 77 std::vector<GURL>(1, url), std::vector<SBFullHash>(), NULL, list_type,
77 expected_threats)); 78 expected_threats));
78 std::vector<SBFullHashResult> full_hash_results; 79 std::vector<SBFullHashResult> full_hash_results;
79 for (const auto& host_list : host_list_results) { 80 for (const auto& host_list : host_list_results) {
80 SBFullHashResult hash_result = 81 SBFullHashResult hash_result =
81 {SBFullHashForString(host_list.host), GetListId(host_list.list_type)}; 82 {SBFullHashForString(host_list.host), GetListId(host_list.list_type)};
82 full_hash_results.push_back(hash_result); 83 full_hash_results.push_back(hash_result);
83 } 84 }
84 return RunTest(check.get(), full_hash_results); 85 return RunTest(std::move(check), full_hash_results);
85 } 86 }
86 87
87 bool LocalDatabaseManagerTest::RunTest( 88 bool LocalDatabaseManagerTest::RunTest(
88 LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck* check, 89 std::unique_ptr<LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck> check,
89 const std::vector<SBFullHashResult>& hash_results) { 90 const std::vector<SBFullHashResult>& hash_results) {
90 scoped_refptr<SafeBrowsingService> sb_service_( 91 scoped_refptr<SafeBrowsingService> sb_service_(
91 SafeBrowsingService::CreateSafeBrowsingService()); 92 SafeBrowsingService::CreateSafeBrowsingService());
92 scoped_refptr<LocalSafeBrowsingDatabaseManager> db_manager_( 93 scoped_refptr<LocalSafeBrowsingDatabaseManager> db_manager_(
93 new LocalSafeBrowsingDatabaseManager(sb_service_)); 94 new LocalSafeBrowsingDatabaseManager(sb_service_));
94 db_manager_->checks_.insert(check); 95 LocalSafeBrowsingDatabaseManager::SafeBrowsingCheck* check_ptr = check.get();
96 db_manager_->checks_[check_ptr] = std::move(check);
95 97
96 bool result = db_manager_->HandleOneCheck(check, hash_results); 98 bool result = db_manager_->HandleOneCheck(check_ptr, hash_results);
97 db_manager_->checks_.erase(check); 99 db_manager_->checks_.erase(check_ptr);
98 return result; 100 return result;
99 } 101 }
100 102
101 TEST_F(LocalDatabaseManagerTest, CheckCorrespondsListTypeForHash) { 103 TEST_F(LocalDatabaseManagerTest, CheckCorrespondsListTypeForHash) {
102 std::vector<SBThreatType> malware_threat(1, 104 std::vector<SBThreatType> malware_threat(1,
103 SB_THREAT_TYPE_BINARY_MALWARE_URL); 105 SB_THREAT_TYPE_BINARY_MALWARE_URL);
104 EXPECT_FALSE(RunSBHashTest(BINURL, malware_threat, {kMalwareList})); 106 EXPECT_FALSE(RunSBHashTest(BINURL, malware_threat, {kMalwareList}));
105 EXPECT_TRUE(RunSBHashTest(BINURL, malware_threat, {kBinUrlList})); 107 EXPECT_TRUE(RunSBHashTest(BINURL, malware_threat, {kBinUrlList}));
106 108
107 // Check for multiple threats 109 // Check for multiple threats
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 // Stop the service without first flushing above tasks. 331 // Stop the service without first flushing above tasks.
330 db_manager->StopOnIOThread(false); 332 db_manager->StopOnIOThread(false);
331 333
332 // Now run posted tasks, whish should include the extension check which has 334 // Now run posted tasks, whish should include the extension check which has
333 // been posted to the safe browsing task runner. This should not crash. 335 // been posted to the safe browsing task runner. This should not crash.
334 content::RunAllBlockingPoolTasksUntilIdle(); 336 content::RunAllBlockingPoolTasksUntilIdle();
335 base::RunLoop().RunUntilIdle(); 337 base::RunLoop().RunUntilIdle();
336 } 338 }
337 339
338 } // namespace safe_browsing 340 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/local_database_manager.cc ('k') | chrome/browser/safe_browsing/safe_browsing_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698