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

Side by Side Diff: chrome/browser/component_updater/test/component_updater_service_unittest.cc

Issue 18006003: Consistently use notifications from component updater w/ on-demand PNaCl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cleanup test a bit Created 7 years, 5 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 | Annotate | Revision Log
OLDNEW
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 <list> 5 #include <list>
6 #include <utility> 6 #include <utility>
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 128
129 void TestConfigurator::AddComponentToCheck(CrxComponent* com, 129 void TestConfigurator::AddComponentToCheck(CrxComponent* com,
130 int at_loop_iter) { 130 int at_loop_iter) {
131 components_to_check_.push_back(std::make_pair(com, at_loop_iter)); 131 components_to_check_.push_back(std::make_pair(com, at_loop_iter));
132 } 132 }
133 133
134 void TestConfigurator::SetComponentUpdateService(ComponentUpdateService* cus) { 134 void TestConfigurator::SetComponentUpdateService(ComponentUpdateService* cus) {
135 cus_ = cus; 135 cus_ = cus;
136 } 136 }
137 137
138 TestUpdateNotificationTracker::TestUpdateNotificationTracker() {}
139
140 TestUpdateNotificationTracker::~TestUpdateNotificationTracker() {}
141
142 ComponentUpdateService::UpdateSource
143 TestUpdateNotificationTracker::SourceAt(size_t num) {
144 return sources_[num];
145 }
146
147 void TestUpdateNotificationTracker::Observe(
148 int type,
149 const content::NotificationSource& source,
150 const content::NotificationDetails& details) {
151 if (type == chrome::NOTIFICATION_COMPONENT_UPDATE_FOUND
152 || type == chrome::NOTIFICATION_COMPONENT_UPDATE_READY) {
153 sources_.push_back(ComponentUpdateService::UpdateSource(
154 *content::Source<ComponentUpdateService::UpdateSource>(
155 source).ptr()));
156 } else
157 sources_.push_back(ComponentUpdateService::UpdateSource());
158 TestNotificationTracker::Observe(type, source, details);
159 }
160
161 void TestUpdateNotificationTracker::Reset() {
162 sources_.clear();
163 TestNotificationTracker::Reset();
164 }
165
138 ComponentUpdaterTest::ComponentUpdaterTest() : test_config_(NULL) { 166 ComponentUpdaterTest::ComponentUpdaterTest() : test_config_(NULL) {
139 // The component updater instance under test. 167 // The component updater instance under test.
140 test_config_ = new TestConfigurator; 168 test_config_ = new TestConfigurator;
141 component_updater_.reset(ComponentUpdateServiceFactory(test_config_)); 169 component_updater_.reset(ComponentUpdateServiceFactory(test_config_));
142 test_config_->SetComponentUpdateService(component_updater_.get()); 170 test_config_->SetComponentUpdateService(component_updater_.get());
143 // The test directory is chrome/test/data/components. 171 // The test directory is chrome/test/data/components.
144 PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_); 172 PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_);
145 test_data_dir_ = test_data_dir_.AppendASCII("components"); 173 test_data_dir_ = test_data_dir_.AppendASCII("components");
146 174
147 // Subscribe to all component updater notifications. 175 // Subscribe to all component updater notifications.
(...skipping 21 matching lines...) Expand all
169 197
170 ComponentUpdateService* ComponentUpdaterTest::component_updater() { 198 ComponentUpdateService* ComponentUpdaterTest::component_updater() {
171 return component_updater_.get(); 199 return component_updater_.get();
172 } 200 }
173 201
174 // Makes the full path to a component updater test file. 202 // Makes the full path to a component updater test file.
175 const base::FilePath ComponentUpdaterTest::test_file(const char* file) { 203 const base::FilePath ComponentUpdaterTest::test_file(const char* file) {
176 return test_data_dir_.AppendASCII(file); 204 return test_data_dir_.AppendASCII(file);
177 } 205 }
178 206
179 TestNotificationTracker& ComponentUpdaterTest::notification_tracker() { 207 TestUpdateNotificationTracker& ComponentUpdaterTest::notification_tracker() {
180 return notification_tracker_; 208 return notification_tracker_;
181 } 209 }
182 210
183 TestConfigurator* ComponentUpdaterTest::test_configurator() { 211 TestConfigurator* ComponentUpdaterTest::test_configurator() {
184 return test_config_; 212 return test_config_;
185 } 213 }
186 214
187 ComponentUpdateService::Status ComponentUpdaterTest::RegisterComponent( 215 ComponentUpdateService::Status ComponentUpdaterTest::RegisterComponent(
188 CrxComponent* com, 216 CrxComponent* com,
189 TestComponents component, 217 TestComponents component,
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 EXPECT_EQ(0, static_cast<TestInstaller*>(com1.installer)->error()); 382 EXPECT_EQ(0, static_cast<TestInstaller*>(com1.installer)->error());
355 EXPECT_EQ(1, static_cast<TestInstaller*>(com1.installer)->install_count()); 383 EXPECT_EQ(1, static_cast<TestInstaller*>(com1.installer)->install_count());
356 EXPECT_EQ(0, static_cast<TestInstaller*>(com2.installer)->error()); 384 EXPECT_EQ(0, static_cast<TestInstaller*>(com2.installer)->error());
357 EXPECT_EQ(0, static_cast<TestInstaller*>(com2.installer)->install_count()); 385 EXPECT_EQ(0, static_cast<TestInstaller*>(com2.installer)->install_count());
358 386
359 EXPECT_EQ(3, interceptor.GetHitCount()); 387 EXPECT_EQ(3, interceptor.GetHitCount());
360 388
361 ASSERT_EQ(5ul, notification_tracker().size()); 389 ASSERT_EQ(5ul, notification_tracker().size());
362 390
363 TestNotificationTracker::Event ev1 = notification_tracker().at(1); 391 TestNotificationTracker::Event ev1 = notification_tracker().at(1);
392 ComponentUpdateService::UpdateSource source1 =
393 notification_tracker().SourceAt(1);
364 EXPECT_EQ(chrome::NOTIFICATION_COMPONENT_UPDATE_FOUND, ev1.type); 394 EXPECT_EQ(chrome::NOTIFICATION_COMPONENT_UPDATE_FOUND, ev1.type);
395 // Check that the UPDATE_FOUND is for com1.
396 EXPECT_FALSE(ComponentUpdateService::IsUpdateNotificationForComponent(
397 content::Source<std::string>(&source1), com2));
398 EXPECT_TRUE(ComponentUpdateService::IsUpdateNotificationForComponent(
399 content::Source<std::string>(&source1), com1));
365 400
366 TestNotificationTracker::Event ev2 = notification_tracker().at(2); 401 TestNotificationTracker::Event ev2 = notification_tracker().at(2);
402 ComponentUpdateService::UpdateSource source2 =
403 notification_tracker().SourceAt(2);
367 EXPECT_EQ(chrome::NOTIFICATION_COMPONENT_UPDATE_READY, ev2.type); 404 EXPECT_EQ(chrome::NOTIFICATION_COMPONENT_UPDATE_READY, ev2.type);
405 // Check that the UPDATE_READY is for com1.
406 EXPECT_FALSE(ComponentUpdateService::IsUpdateNotificationForComponent(
407 content::Source<std::string>(&source2), com2));
408 EXPECT_TRUE(ComponentUpdateService::IsUpdateNotificationForComponent(
409 content::Source<std::string>(&source2), com1));
368 410
369 TestNotificationTracker::Event ev3 = notification_tracker().at(3); 411 TestNotificationTracker::Event ev3 = notification_tracker().at(3);
370 EXPECT_EQ(chrome::NOTIFICATION_COMPONENT_UPDATER_SLEEPING, ev3.type); 412 EXPECT_EQ(chrome::NOTIFICATION_COMPONENT_UPDATER_SLEEPING, ev3.type);
371 413
372 TestNotificationTracker::Event ev4 = notification_tracker().at(4); 414 TestNotificationTracker::Event ev4 = notification_tracker().at(4);
373 EXPECT_EQ(chrome::NOTIFICATION_COMPONENT_UPDATER_SLEEPING, ev4.type); 415 EXPECT_EQ(chrome::NOTIFICATION_COMPONENT_UPDATER_SLEEPING, ev4.type);
374 416
375 component_updater()->Stop(); 417 component_updater()->Stop();
376 } 418 }
377 419
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 component_updater()->Start(); 882 component_updater()->Start();
841 message_loop.Run(); 883 message_loop.Run();
842 884
843 EXPECT_EQ(0, static_cast<TestInstaller*>(com.installer)->error()); 885 EXPECT_EQ(0, static_cast<TestInstaller*>(com.installer)->error());
844 EXPECT_EQ(2, static_cast<TestInstaller*>(com.installer)->install_count()); 886 EXPECT_EQ(2, static_cast<TestInstaller*>(com.installer)->install_count());
845 887
846 EXPECT_EQ(6, interceptor.GetHitCount()); 888 EXPECT_EQ(6, interceptor.GetHitCount());
847 889
848 component_updater()->Stop(); 890 component_updater()->Stop();
849 } 891 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698