| 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 | 5 |
| 6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
| 7 #include "base/memory/scoped_vector.h" | 7 #include "base/memory/scoped_vector.h" |
| 8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
| 9 #include "base/test/test_simple_task_runner.h" | 9 #include "base/test/test_simple_task_runner.h" |
| 10 #include "base/thread_task_runner_handle.h" | 10 #include "base/thread_task_runner_handle.h" |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 pm->NextChunkUrl(url_https_full).spec()); | 308 pm->NextChunkUrl(url_https_full).spec()); |
| 309 EXPECT_EQ("https://localhost:1234/foo/bar?additional_query", | 309 EXPECT_EQ("https://localhost:1234/foo/bar?additional_query", |
| 310 pm->NextChunkUrl(url_https_no_query).spec()); | 310 pm->NextChunkUrl(url_https_no_query).spec()); |
| 311 } | 311 } |
| 312 | 312 |
| 313 namespace { | 313 namespace { |
| 314 | 314 |
| 315 class MockProtocolDelegate : public SafeBrowsingProtocolManagerDelegate { | 315 class MockProtocolDelegate : public SafeBrowsingProtocolManagerDelegate { |
| 316 public: | 316 public: |
| 317 MockProtocolDelegate() {} | 317 MockProtocolDelegate() {} |
| 318 virtual ~MockProtocolDelegate() {} | 318 ~MockProtocolDelegate() override {} |
| 319 | 319 |
| 320 MOCK_METHOD0(UpdateStarted, void()); | 320 MOCK_METHOD0(UpdateStarted, void()); |
| 321 MOCK_METHOD1(UpdateFinished, void(bool)); | 321 MOCK_METHOD1(UpdateFinished, void(bool)); |
| 322 MOCK_METHOD0(ResetDatabase, void()); | 322 MOCK_METHOD0(ResetDatabase, void()); |
| 323 MOCK_METHOD1(GetChunks, void(GetChunksCallback)); | 323 MOCK_METHOD1(GetChunks, void(GetChunksCallback)); |
| 324 | 324 |
| 325 // gmock does not work with scoped_ptr<> at this time. Add a local method to | 325 // gmock does not work with scoped_ptr<> at this time. Add a local method to |
| 326 // mock, then call that from an override. Beware of object ownership when | 326 // mock, then call that from an override. Beware of object ownership when |
| 327 // making changes here. | 327 // making changes here. |
| 328 MOCK_METHOD3(AddChunksRaw, void(const std::string& lists, | 328 MOCK_METHOD3(AddChunksRaw, void(const std::string& lists, |
| 329 const ScopedVector<SBChunkData>& chunks, | 329 const ScopedVector<SBChunkData>& chunks, |
| 330 AddChunksCallback)); | 330 AddChunksCallback)); |
| 331 virtual void AddChunks(const std::string& list, | 331 void AddChunks(const std::string& list, |
| 332 scoped_ptr<ScopedVector<SBChunkData> > chunks, | 332 scoped_ptr<ScopedVector<SBChunkData>> chunks, |
| 333 AddChunksCallback callback) override { | 333 AddChunksCallback callback) override { |
| 334 AddChunksRaw(list, *chunks, callback); | 334 AddChunksRaw(list, *chunks, callback); |
| 335 } | 335 } |
| 336 | 336 |
| 337 // TODO(shess): Actually test this case somewhere. | 337 // TODO(shess): Actually test this case somewhere. |
| 338 MOCK_METHOD1(DeleteChunksRaw, | 338 MOCK_METHOD1(DeleteChunksRaw, |
| 339 void(const std::vector<SBChunkDelete>& chunk_deletes)); | 339 void(const std::vector<SBChunkDelete>& chunk_deletes)); |
| 340 virtual void DeleteChunks( | 340 void DeleteChunks( |
| 341 scoped_ptr<std::vector<SBChunkDelete> > chunk_deletes) override{ | 341 scoped_ptr<std::vector<SBChunkDelete>> chunk_deletes) override { |
| 342 DeleteChunksRaw(*chunk_deletes); | 342 DeleteChunksRaw(*chunk_deletes); |
| 343 } | 343 } |
| 344 }; | 344 }; |
| 345 | 345 |
| 346 // |InvokeGetChunksCallback| is required because GMock's InvokeArgument action | 346 // |InvokeGetChunksCallback| is required because GMock's InvokeArgument action |
| 347 // expects to use operator(), and a Callback only provides Run(). | 347 // expects to use operator(), and a Callback only provides Run(). |
| 348 // TODO(cbentzel): Use ACTION or ACTION_TEMPLATE instead? | 348 // TODO(cbentzel): Use ACTION or ACTION_TEMPLATE instead? |
| 349 void InvokeGetChunksCallback( | 349 void InvokeGetChunksCallback( |
| 350 const std::vector<SBListChunkRanges>& ranges, | 350 const std::vector<SBListChunkRanges>& ranges, |
| 351 bool database_error, | 351 bool database_error, |
| (...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1126 second_chunk_url_fetcher->delegate()->OnURLFetchComplete( | 1126 second_chunk_url_fetcher->delegate()->OnURLFetchComplete( |
| 1127 second_chunk_url_fetcher); | 1127 second_chunk_url_fetcher); |
| 1128 | 1128 |
| 1129 EXPECT_FALSE(pm->IsUpdateScheduled()); | 1129 EXPECT_FALSE(pm->IsUpdateScheduled()); |
| 1130 | 1130 |
| 1131 // Invoke the AddChunksCallback to finish the update. | 1131 // Invoke the AddChunksCallback to finish the update. |
| 1132 runner->RunPendingTasks(); | 1132 runner->RunPendingTasks(); |
| 1133 | 1133 |
| 1134 EXPECT_TRUE(pm->IsUpdateScheduled()); | 1134 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 1135 } | 1135 } |
| OLD | NEW |