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

Side by Side Diff: chrome/browser/safe_browsing/incident_reporting/delayed_callback_runner_unittest.cc

Issue 1870003002: Convert //chrome/browser/safe_browsing from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and address comments Created 4 years, 8 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 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 "chrome/browser/safe_browsing/incident_reporting/delayed_callback_runne r.h" 5 #include "chrome/browser/safe_browsing/incident_reporting/delayed_callback_runne r.h"
6 6
7 #include <map> 7 #include <map>
8 #include <memory>
8 #include <string> 9 #include <string>
9 10
10 #include "base/callback.h" 11 #include "base/callback.h"
11 #include "base/macros.h" 12 #include "base/macros.h"
12 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/ptr_util.h"
13 #include "base/test/test_simple_task_runner.h" 14 #include "base/test/test_simple_task_runner.h"
14 #include "base/thread_task_runner_handle.h" 15 #include "base/thread_task_runner_handle.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 17
17 namespace { 18 namespace {
18 19
19 // A class of objects that invoke a callback upon destruction. This is used as 20 // A class of objects that invoke a callback upon destruction. This is used as
20 // an owned argument on callbacks given to a DelayedCallbackRunner under test. 21 // an owned argument on callbacks given to a DelayedCallbackRunner under test.
21 class CallbackArgument { 22 class CallbackArgument {
22 public: 23 public:
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 callbacks_[name].run = true; 62 callbacks_[name].run = true;
62 } 63 }
63 64
64 void OnDelete(const std::string& name) { 65 void OnDelete(const std::string& name) {
65 EXPECT_FALSE(callbacks_[name].deleted); 66 EXPECT_FALSE(callbacks_[name].deleted);
66 callbacks_[name].deleted = true; 67 callbacks_[name].deleted = true;
67 } 68 }
68 69
69 // Returns a callback argument that calls the test fixture's OnDelete method 70 // Returns a callback argument that calls the test fixture's OnDelete method
70 // on behalf of the given callback name. 71 // on behalf of the given callback name.
71 scoped_ptr<CallbackArgument> MakeCallbackArgument(const std::string& name) { 72 std::unique_ptr<CallbackArgument> MakeCallbackArgument(
72 return make_scoped_ptr(new CallbackArgument(base::Bind( 73 const std::string& name) {
74 return base::WrapUnique(new CallbackArgument(base::Bind(
73 &DelayedCallbackRunnerTest::OnDelete, base::Unretained(this), name))); 75 &DelayedCallbackRunnerTest::OnDelete, base::Unretained(this), name)));
74 } 76 }
75 77
76 // Returns a closure that calls |OnRun| when run and |OnDelete| when deleted 78 // Returns a closure that calls |OnRun| when run and |OnDelete| when deleted
77 // on behalf of the given callback name. 79 // on behalf of the given callback name.
78 base::Closure MakeCallback(const std::string& name) { 80 base::Closure MakeCallback(const std::string& name) {
79 return base::Bind(&DelayedCallbackRunnerTest::OnRun, 81 return base::Bind(&DelayedCallbackRunnerTest::OnRun,
80 base::Unretained(this), 82 base::Unretained(this),
81 name, 83 name,
82 base::Owned(MakeCallbackArgument(name).release())); 84 base::Owned(MakeCallbackArgument(name).release()));
83 } 85 }
84 86
85 bool CallbackWasRun(const std::string& name) { return callbacks_[name].run; } 87 bool CallbackWasRun(const std::string& name) { return callbacks_[name].run; }
86 88
87 bool CallbackWasDeleted(const std::string& name) { 89 bool CallbackWasDeleted(const std::string& name) {
88 return callbacks_[name].deleted; 90 return callbacks_[name].deleted;
89 } 91 }
90 92
91 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; 93 scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
92 base::ThreadTaskRunnerHandle thread_task_runner_handle_; 94 base::ThreadTaskRunnerHandle thread_task_runner_handle_;
93 scoped_ptr<safe_browsing::DelayedCallbackRunner> instance_; 95 std::unique_ptr<safe_browsing::DelayedCallbackRunner> instance_;
94 96
95 private: 97 private:
96 struct CallbackState { 98 struct CallbackState {
97 CallbackState() : run(), deleted() {} 99 CallbackState() : run(), deleted() {}
98 bool run; 100 bool run;
99 bool deleted; 101 bool deleted;
100 }; 102 };
101 103
102 std::map<std::string, CallbackState> callbacks_; 104 std::map<std::string, CallbackState> callbacks_;
103 }; 105 };
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 task_runner_->RunUntilIdle(); 154 task_runner_->RunUntilIdle();
153 EXPECT_TRUE(CallbackWasRun(name)); 155 EXPECT_TRUE(CallbackWasRun(name));
154 EXPECT_TRUE(CallbackWasDeleted(name)); 156 EXPECT_TRUE(CallbackWasDeleted(name));
155 157
156 RegisterTestCallback(name2); 158 RegisterTestCallback(name2);
157 instance_->Start(); 159 instance_->Start();
158 task_runner_->RunUntilIdle(); 160 task_runner_->RunUntilIdle();
159 EXPECT_TRUE(CallbackWasRun(name2)); 161 EXPECT_TRUE(CallbackWasRun(name2));
160 EXPECT_TRUE(CallbackWasDeleted(name2)); 162 EXPECT_TRUE(CallbackWasDeleted(name2));
161 } 163 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698