| 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 "components/rlz/rlz_tracker.h" | 5 #include "components/rlz/rlz_tracker.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| 11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
| 12 #include "base/message_loop/message_loop.h" | 12 #include "base/message_loop/message_loop.h" |
| 13 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
| 14 #include "base/test/sequenced_worker_pool_owner.h" | 14 #include "base/test/scoped_task_environment.h" |
| 15 #include "base/threading/thread_task_runner_handle.h" | 15 #include "base/threading/thread_task_runner_handle.h" |
| 16 #include "base/time/time.h" | 16 #include "base/time/time.h" |
| 17 #include "build/build_config.h" | 17 #include "build/build_config.h" |
| 18 #include "components/rlz/rlz_tracker_delegate.h" | 18 #include "components/rlz/rlz_tracker_delegate.h" |
| 19 #include "net/url_request/url_request_test_util.h" | 19 #include "net/url_request/url_request_test_util.h" |
| 20 #include "rlz/test/rlz_test_helpers.h" | 20 #include "rlz/test/rlz_test_helpers.h" |
| 21 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
| 22 | 22 |
| 23 #if defined(OS_IOS) | 23 #if defined(OS_IOS) |
| 24 #include "ui/base/device_form_factor.h" | 24 #include "ui/base/device_form_factor.h" |
| 25 #endif | 25 #endif |
| 26 | 26 |
| 27 using testing::AssertionResult; | 27 using testing::AssertionResult; |
| 28 using testing::AssertionSuccess; | 28 using testing::AssertionSuccess; |
| 29 using testing::AssertionFailure; | 29 using testing::AssertionFailure; |
| 30 | 30 |
| 31 namespace rlz { | 31 namespace rlz { |
| 32 namespace { | 32 namespace { |
| 33 | 33 |
| 34 class TestRLZTrackerDelegate : public RLZTrackerDelegate { | 34 class TestRLZTrackerDelegate : public RLZTrackerDelegate { |
| 35 public: | 35 public: |
| 36 TestRLZTrackerDelegate() | 36 TestRLZTrackerDelegate() |
| 37 : worker_pool_owner_(2, "TestRLZTracker"), | 37 : request_context_getter_(new net::TestURLRequestContextGetter( |
| 38 request_context_getter_(new net::TestURLRequestContextGetter( | |
| 39 base::ThreadTaskRunnerHandle::Get())) {} | 38 base::ThreadTaskRunnerHandle::Get())) {} |
| 40 | 39 |
| 41 void set_brand(const char* brand) { brand_override_ = brand; } | 40 void set_brand(const char* brand) { brand_override_ = brand; } |
| 42 | 41 |
| 43 void set_reactivation_brand(const char* reactivation_brand) { | 42 void set_reactivation_brand(const char* reactivation_brand) { |
| 44 // TODO(thakis): Reactivation doesn't exist on Mac yet. | 43 // TODO(thakis): Reactivation doesn't exist on Mac yet. |
| 45 reactivation_brand_override_ = reactivation_brand; | 44 reactivation_brand_override_ = reactivation_brand; |
| 46 } | 45 } |
| 47 | 46 |
| 48 void SimulateOmniboxUsage() { | 47 void SimulateOmniboxUsage() { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 62 } | 61 } |
| 63 | 62 |
| 64 // RLZTrackerDelegate implementation. | 63 // RLZTrackerDelegate implementation. |
| 65 void Cleanup() override { | 64 void Cleanup() override { |
| 66 on_omnibox_search_callback_.Reset(); | 65 on_omnibox_search_callback_.Reset(); |
| 67 on_homepage_search_callback_.Reset(); | 66 on_homepage_search_callback_.Reset(); |
| 68 } | 67 } |
| 69 | 68 |
| 70 bool IsOnUIThread() override { return true; } | 69 bool IsOnUIThread() override { return true; } |
| 71 | 70 |
| 72 base::SequencedWorkerPool* GetBlockingPool() override { | |
| 73 return worker_pool_owner_.pool().get(); | |
| 74 } | |
| 75 | |
| 76 net::URLRequestContextGetter* GetRequestContext() override { | 71 net::URLRequestContextGetter* GetRequestContext() override { |
| 77 return request_context_getter_.get(); | 72 return request_context_getter_.get(); |
| 78 } | 73 } |
| 79 | 74 |
| 80 bool GetBrand(std::string* brand) override { | 75 bool GetBrand(std::string* brand) override { |
| 81 *brand = brand_override_; | 76 *brand = brand_override_; |
| 82 return true; | 77 return true; |
| 83 } | 78 } |
| 84 | 79 |
| 85 bool IsBrandOrganic(const std::string& brand) override { | 80 bool IsBrandOrganic(const std::string& brand) override { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 103 DCHECK(!callback.is_null()); | 98 DCHECK(!callback.is_null()); |
| 104 on_omnibox_search_callback_ = callback; | 99 on_omnibox_search_callback_ = callback; |
| 105 } | 100 } |
| 106 | 101 |
| 107 void SetHomepageSearchCallback(const base::Closure& callback) override { | 102 void SetHomepageSearchCallback(const base::Closure& callback) override { |
| 108 DCHECK(!callback.is_null()); | 103 DCHECK(!callback.is_null()); |
| 109 on_homepage_search_callback_ = callback; | 104 on_homepage_search_callback_ = callback; |
| 110 } | 105 } |
| 111 | 106 |
| 112 private: | 107 private: |
| 113 base::SequencedWorkerPoolOwner worker_pool_owner_; | |
| 114 scoped_refptr<net::URLRequestContextGetter> request_context_getter_; | 108 scoped_refptr<net::URLRequestContextGetter> request_context_getter_; |
| 115 | 109 |
| 116 std::string brand_override_; | 110 std::string brand_override_; |
| 117 std::string reactivation_brand_override_; | 111 std::string reactivation_brand_override_; |
| 118 base::Closure on_omnibox_search_callback_; | 112 base::Closure on_omnibox_search_callback_; |
| 119 base::Closure on_homepage_search_callback_; | 113 base::Closure on_homepage_search_callback_; |
| 120 | 114 |
| 121 DISALLOW_COPY_AND_ASSIGN(TestRLZTrackerDelegate); | 115 DISALLOW_COPY_AND_ASSIGN(TestRLZTrackerDelegate); |
| 122 }; | 116 }; |
| 123 | 117 |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 | 244 |
| 251 void SimulateOmniboxUsage(); | 245 void SimulateOmniboxUsage(); |
| 252 void SimulateHomepageUsage(); | 246 void SimulateHomepageUsage(); |
| 253 void SimulateAppListUsage(); | 247 void SimulateAppListUsage(); |
| 254 void InvokeDelayedInit(); | 248 void InvokeDelayedInit(); |
| 255 | 249 |
| 256 void ExpectEventRecorded(const char* event_name, bool expected); | 250 void ExpectEventRecorded(const char* event_name, bool expected); |
| 257 void ExpectRlzPingSent(bool expected); | 251 void ExpectRlzPingSent(bool expected); |
| 258 void ExpectReactivationRlzPingSent(bool expected); | 252 void ExpectReactivationRlzPingSent(bool expected); |
| 259 | 253 |
| 260 base::MessageLoop message_loop_; | 254 base::test::ScopedTaskEnvironment scoped_task_environment_; |
| 261 TestRLZTrackerDelegate* delegate_; | 255 TestRLZTrackerDelegate* delegate_; |
| 262 std::unique_ptr<TestRLZTracker> tracker_; | 256 std::unique_ptr<TestRLZTracker> tracker_; |
| 263 RlzLibTestNoMachineStateHelper m_rlz_test_helper_; | 257 RlzLibTestNoMachineStateHelper m_rlz_test_helper_; |
| 264 }; | 258 }; |
| 265 | 259 |
| 266 void RlzLibTest::SetUp() { | 260 void RlzLibTest::SetUp() { |
| 267 testing::Test::SetUp(); | 261 testing::Test::SetUp(); |
| 268 m_rlz_test_helper_.SetUp(); | 262 m_rlz_test_helper_.SetUp(); |
| 269 | 263 |
| 270 delegate_ = new TestRLZTrackerDelegate; | 264 delegate_ = new TestRLZTrackerDelegate; |
| (...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1002 | 996 |
| 1003 ExpectEventRecorded(OmniboxFirstSearch(), true); | 997 ExpectEventRecorded(OmniboxFirstSearch(), true); |
| 1004 | 998 |
| 1005 RLZTracker::ClearRlzState(); | 999 RLZTracker::ClearRlzState(); |
| 1006 | 1000 |
| 1007 ExpectEventRecorded(OmniboxFirstSearch(), false); | 1001 ExpectEventRecorded(OmniboxFirstSearch(), false); |
| 1008 } | 1002 } |
| 1009 #endif // defined(OS_CHROMEOS) | 1003 #endif // defined(OS_CHROMEOS) |
| 1010 | 1004 |
| 1011 } // namespace rlz | 1005 } // namespace rlz |
| OLD | NEW |