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

Side by Side Diff: chrome/browser/rlz/rlz_unittest.cc

Issue 220193005: Add RLZ Access points for the app launcher. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 6 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
« no previous file with comments | « chrome/browser/rlz/rlz.cc ('k') | chrome/installer/setup/uninstall.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chrome/browser/rlz/rlz.h" 5 #include "chrome/browser/rlz/rlz.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
10 #include "chrome/browser/google/google_util.h" 10 #include "chrome/browser/google/google_util.h"
(...skipping 19 matching lines...) Expand all
30 30
31 #if defined(OS_WIN) 31 #if defined(OS_WIN)
32 using base::win::RegKey; 32 using base::win::RegKey;
33 #endif 33 #endif
34 34
35 namespace { 35 namespace {
36 36
37 // Dummy RLZ string for the access points. 37 // Dummy RLZ string for the access points.
38 const char kOmniboxRlzString[] = "test_omnibox"; 38 const char kOmniboxRlzString[] = "test_omnibox";
39 const char kHomepageRlzString[] = "test_homepage"; 39 const char kHomepageRlzString[] = "test_homepage";
40 const char kAppListRlzString[] = "test_applist";
40 const char kNewOmniboxRlzString[] = "new_omnibox"; 41 const char kNewOmniboxRlzString[] = "new_omnibox";
41 const char kNewHomepageRlzString[] = "new_homepage"; 42 const char kNewHomepageRlzString[] = "new_homepage";
43 const char kNewAppListRlzString[] = "new_applist";
42 44
43 // Some helper macros to test it a string contains/does not contain a substring. 45 // Some helper macros to test it a string contains/does not contain a substring.
44 46
45 AssertionResult CmpHelperSTRC(const char* str_expression, 47 AssertionResult CmpHelperSTRC(const char* str_expression,
46 const char* substr_expression, 48 const char* substr_expression,
47 const char* str, 49 const char* str,
48 const char* substr) { 50 const char* substr) {
49 if (NULL != strstr(str, substr)) { 51 if (NULL != strstr(str, substr)) {
50 return AssertionSuccess(); 52 return AssertionSuccess();
51 } 53 }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 // Don't ping the server during tests, just pretend as if we did. 140 // Don't ping the server during tests, just pretend as if we did.
139 EXPECT_FALSE(brand.empty()); 141 EXPECT_FALSE(brand.empty());
140 pinged_brands_.insert(brand); 142 pinged_brands_.insert(brand);
141 143
142 // Set new access points RLZ string, like the actual server ping would have 144 // Set new access points RLZ string, like the actual server ping would have
143 // done. 145 // done.
144 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, 146 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX,
145 kNewOmniboxRlzString); 147 kNewOmniboxRlzString);
146 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, 148 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE,
147 kNewHomepageRlzString); 149 kNewHomepageRlzString);
150 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_APP_LIST,
151 kNewAppListRlzString);
148 return true; 152 return true;
149 } 153 }
150 154
151 std::set<std::string> pinged_brands_; 155 std::set<std::string> pinged_brands_;
152 bool assume_not_ui_thread_; 156 bool assume_not_ui_thread_;
153 157
154 DISALLOW_COPY_AND_ASSIGN(TestRLZTracker); 158 DISALLOW_COPY_AND_ASSIGN(TestRLZTracker);
155 }; 159 };
156 160
157 class RlzLibTest : public RlzLibTestNoMachineState { 161 class RlzLibTest : public RlzLibTestNoMachineState {
158 protected: 162 protected:
159 virtual void SetUp() OVERRIDE; 163 virtual void SetUp() OVERRIDE;
160 164
161 void SetMainBrand(const char* brand); 165 void SetMainBrand(const char* brand);
162 void SetReactivationBrand(const char* brand); 166 void SetReactivationBrand(const char* brand);
163 #if defined(OS_WIN) 167 #if defined(OS_WIN)
164 void SetRegistryBrandValue(const wchar_t* name, const char* brand); 168 void SetRegistryBrandValue(const wchar_t* name, const char* brand);
165 #endif 169 #endif
166 170
167 void SimulateOmniboxUsage(); 171 void SimulateOmniboxUsage();
168 void SimulateHomepageUsage(); 172 void SimulateHomepageUsage();
173 void SimulateAppListUsage();
169 void InvokeDelayedInit(); 174 void InvokeDelayedInit();
170 175
171 void ExpectEventRecorded(const char* event_name, bool expected); 176 void ExpectEventRecorded(const char* event_name, bool expected);
172 void ExpectRlzPingSent(bool expected); 177 void ExpectRlzPingSent(bool expected);
173 void ExpectReactivationRlzPingSent(bool expected); 178 void ExpectReactivationRlzPingSent(bool expected);
174 179
175 TestRLZTracker tracker_; 180 TestRLZTracker tracker_;
176 #if defined(OS_POSIX) 181 #if defined(OS_POSIX)
177 scoped_ptr<google_util::BrandForTesting> brand_override_; 182 scoped_ptr<google_util::BrandForTesting> brand_override_;
178 #endif 183 #endif
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 237
233 void RlzLibTest::SimulateHomepageUsage() { 238 void RlzLibTest::SimulateHomepageUsage() {
234 scoped_ptr<NavigationEntry> entry(NavigationEntry::Create()); 239 scoped_ptr<NavigationEntry> entry(NavigationEntry::Create());
235 entry->SetPageID(0); 240 entry->SetPageID(0);
236 entry->SetTransitionType(content::PAGE_TRANSITION_HOME_PAGE); 241 entry->SetTransitionType(content::PAGE_TRANSITION_HOME_PAGE);
237 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, 242 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING,
238 content::NotificationService::AllSources(), 243 content::NotificationService::AllSources(),
239 content::Details<NavigationEntry>(entry.get())); 244 content::Details<NavigationEntry>(entry.get()));
240 } 245 }
241 246
247 void RlzLibTest::SimulateAppListUsage() {
248 RLZTracker::RecordAppListSearch();
249 }
250
242 void RlzLibTest::InvokeDelayedInit() { 251 void RlzLibTest::InvokeDelayedInit() {
243 tracker_.DelayedInit(); 252 tracker_.DelayedInit();
244 } 253 }
245 254
246 void RlzLibTest::ExpectEventRecorded(const char* event_name, bool expected) { 255 void RlzLibTest::ExpectEventRecorded(const char* event_name, bool expected) {
247 char cgi[rlz_lib::kMaxCgiLength]; 256 char cgi[rlz_lib::kMaxCgiLength];
248 GetProductEventsAsCgi(rlz_lib::CHROME, cgi, arraysize(cgi)); 257 GetProductEventsAsCgi(rlz_lib::CHROME, cgi, arraysize(cgi));
249 if (expected) { 258 if (expected) {
250 EXPECT_STR_CONTAINS(cgi, event_name); 259 EXPECT_STR_CONTAINS(cgi, event_name);
251 } else { 260 } else {
(...skipping 15 matching lines...) Expand all
267 276
268 // The events that affect the different RLZ scenarios are the following: 277 // The events that affect the different RLZ scenarios are the following:
269 // 278 //
270 // A: the user starts chrome for the first time 279 // A: the user starts chrome for the first time
271 // B: the user stops chrome 280 // B: the user stops chrome
272 // C: the user start a subsequent time 281 // C: the user start a subsequent time
273 // D: the user stops chrome again 282 // D: the user stops chrome again
274 // I: the RLZTracker::DelayedInit() method is invoked 283 // I: the RLZTracker::DelayedInit() method is invoked
275 // X: the user performs a search using the omnibox 284 // X: the user performs a search using the omnibox
276 // Y: the user performs a search using the home page 285 // Y: the user performs a search using the home page
286 // Z: the user performs a search using the app list
277 // 287 //
278 // The events A to D happen in chronological order, but the other events 288 // The events A to D happen in chronological order, but the other events
279 // may happen at any point between A-B or C-D, in no particular order. 289 // may happen at any point between A-B or C-D, in no particular order.
280 // 290 //
281 // The visible results of the scenarios on Win are: 291 // The visible results of the scenarios on Win are:
282 // 292 //
283 // C1I event is recorded 293 // C1I event is recorded
284 // C2I event is recorded 294 // C2I event is recorded
295 // C7I event is recorded
285 // C1F event is recorded 296 // C1F event is recorded
286 // C2F event is recorded 297 // C2F event is recorded
298 // C7F event is recorded
287 // C1S event is recorded 299 // C1S event is recorded
288 // C2S event is recorded 300 // C2S event is recorded
301 // C7S event is recorded
289 // RLZ ping sent 302 // RLZ ping sent
290 // 303 //
291 // On Mac, C5 / C6 are sent instead of C1 / C2. 304 // On Mac, C5 / C6 / C8 are sent instead of C1 / C2 / C7.
292 // On ChromeOS, CA / CB are sent, respectively. 305 // On ChromeOS, CA / CB / CC are sent, respectively.
293 // 306 //
294 // Variations on the above scenarios: 307 // Variations on the above scenarios:
295 // 308 //
296 // - if the delay specified to InitRlzDelayed() is negative, then the RLZ 309 // - if the delay specified to InitRlzDelayed() is negative, then the RLZ
297 // ping should be sent out at the time of event X and not wait for I 310 // ping should be sent out at the time of event X and not wait for I
298 // 311 //
299 // Also want to test that pre-warming the RLZ string cache works correctly. 312 // Also want to test that pre-warming the RLZ string cache works correctly.
300 313
301 #if defined(OS_WIN) 314 #if defined(OS_WIN)
302 const char kOmniboxInstall[] = "C1I"; 315 const char kOmniboxInstall[] = "C1I";
303 const char kOmniboxSetToGoogle[] = "C1S"; 316 const char kOmniboxSetToGoogle[] = "C1S";
304 const char kOmniboxFirstSearch[] = "C1F"; 317 const char kOmniboxFirstSearch[] = "C1F";
305 318
306 const char kHomepageInstall[] = "C2I"; 319 const char kHomepageInstall[] = "C2I";
307 const char kHomepageSetToGoogle[] = "C2S"; 320 const char kHomepageSetToGoogle[] = "C2S";
308 const char kHomepageFirstSeach[] = "C2F"; 321 const char kHomepageFirstSeach[] = "C2F";
322
323 const char kAppListInstall[] = "C7I";
324 const char kAppListSetToGoogle[] = "C7S";
325 const char kAppListFirstSearch[] = "C7F";
309 #elif defined(OS_MACOSX) 326 #elif defined(OS_MACOSX)
310 const char kOmniboxInstall[] = "C5I"; 327 const char kOmniboxInstall[] = "C5I";
311 const char kOmniboxSetToGoogle[] = "C5S"; 328 const char kOmniboxSetToGoogle[] = "C5S";
312 const char kOmniboxFirstSearch[] = "C5F"; 329 const char kOmniboxFirstSearch[] = "C5F";
313 330
314 const char kHomepageInstall[] = "C6I"; 331 const char kHomepageInstall[] = "C6I";
315 const char kHomepageSetToGoogle[] = "C6S"; 332 const char kHomepageSetToGoogle[] = "C6S";
316 const char kHomepageFirstSeach[] = "C6F"; 333 const char kHomepageFirstSeach[] = "C6F";
334
335 const char kAppListInstall[] = "C8I";
336 const char kAppListSetToGoogle[] = "C8S";
337 const char kAppListFirstSearch[] = "C8F";
317 #elif defined(OS_CHROMEOS) 338 #elif defined(OS_CHROMEOS)
318 const char kOmniboxInstall[] = "CAI"; 339 const char kOmniboxInstall[] = "CAI";
319 const char kOmniboxSetToGoogle[] = "CAS"; 340 const char kOmniboxSetToGoogle[] = "CAS";
320 const char kOmniboxFirstSearch[] = "CAF"; 341 const char kOmniboxFirstSearch[] = "CAF";
321 342
322 const char kHomepageInstall[] = "CBI"; 343 const char kHomepageInstall[] = "CBI";
323 const char kHomepageSetToGoogle[] = "CBS"; 344 const char kHomepageSetToGoogle[] = "CBS";
324 const char kHomepageFirstSeach[] = "CBF"; 345 const char kHomepageFirstSeach[] = "CBF";
346
347 const char kAppListInstall[] = "CCI";
348 const char kAppListSetToGoogle[] = "CCS";
349 const char kAppListFirstSearch[] = "CCF";
325 #endif 350 #endif
326 351
327 const base::TimeDelta kDelay = base::TimeDelta::FromMilliseconds(20); 352 const base::TimeDelta kDelay = base::TimeDelta::FromMilliseconds(20);
328 353
329 TEST_F(RlzLibTest, RecordProductEvent) { 354 TEST_F(RlzLibTest, RecordProductEvent) {
330 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, 355 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX,
331 rlz_lib::FIRST_SEARCH); 356 rlz_lib::FIRST_SEARCH);
332 357
333 ExpectEventRecorded(kOmniboxFirstSearch, true); 358 ExpectEventRecorded(kOmniboxFirstSearch, true);
334 } 359 }
335 360
336 TEST_F(RlzLibTest, QuickStopAfterStart) { 361 TEST_F(RlzLibTest, QuickStopAfterStart) {
337 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, true); 362 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, true);
338 363
339 // Omnibox events. 364 // Omnibox events.
340 ExpectEventRecorded(kOmniboxInstall, false); 365 ExpectEventRecorded(kOmniboxInstall, false);
341 ExpectEventRecorded(kOmniboxSetToGoogle, false); 366 ExpectEventRecorded(kOmniboxSetToGoogle, false);
342 ExpectEventRecorded(kOmniboxFirstSearch, false); 367 ExpectEventRecorded(kOmniboxFirstSearch, false);
343 368
344 // Home page events. 369 // Home page events.
345 ExpectEventRecorded(kHomepageInstall, false); 370 ExpectEventRecorded(kHomepageInstall, false);
346 ExpectEventRecorded(kHomepageSetToGoogle, false); 371 ExpectEventRecorded(kHomepageSetToGoogle, false);
347 ExpectEventRecorded(kHomepageFirstSeach, false); 372 ExpectEventRecorded(kHomepageFirstSeach, false);
348 373
374 // App list events.
375 ExpectEventRecorded(kAppListInstall, false);
376 ExpectEventRecorded(kAppListSetToGoogle, false);
377 ExpectEventRecorded(kAppListFirstSearch, false);
378
349 ExpectRlzPingSent(false); 379 ExpectRlzPingSent(false);
350 } 380 }
351 381
352 TEST_F(RlzLibTest, DelayedInitOnly) { 382 TEST_F(RlzLibTest, DelayedInitOnly) {
353 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); 383 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
354 InvokeDelayedInit(); 384 InvokeDelayedInit();
355 385
356 // Omnibox events. 386 // Omnibox events.
357 ExpectEventRecorded(kOmniboxInstall, true); 387 ExpectEventRecorded(kOmniboxInstall, true);
358 ExpectEventRecorded(kOmniboxSetToGoogle, true); 388 ExpectEventRecorded(kOmniboxSetToGoogle, true);
359 ExpectEventRecorded(kOmniboxFirstSearch, false); 389 ExpectEventRecorded(kOmniboxFirstSearch, false);
360 390
361 // Home page events. 391 // Home page events.
362 ExpectEventRecorded(kHomepageInstall, true); 392 ExpectEventRecorded(kHomepageInstall, true);
363 ExpectEventRecorded(kHomepageSetToGoogle, true); 393 ExpectEventRecorded(kHomepageSetToGoogle, true);
364 ExpectEventRecorded(kHomepageFirstSeach, false); 394 ExpectEventRecorded(kHomepageFirstSeach, false);
365 395
396 // App list events.
397 ExpectEventRecorded(kAppListInstall, true);
398 ExpectEventRecorded(kAppListSetToGoogle, true);
399 ExpectEventRecorded(kAppListFirstSearch, false);
400
366 ExpectRlzPingSent(true); 401 ExpectRlzPingSent(true);
367 } 402 }
368 403
369 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { 404 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) {
370 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, true); 405 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, true);
371 InvokeDelayedInit(); 406 InvokeDelayedInit();
372 407
373 // Omnibox events. 408 // Omnibox events.
374 ExpectEventRecorded(kOmniboxInstall, true); 409 ExpectEventRecorded(kOmniboxInstall, true);
375 ExpectEventRecorded(kOmniboxSetToGoogle, false); 410 ExpectEventRecorded(kOmniboxSetToGoogle, false);
376 ExpectEventRecorded(kOmniboxFirstSearch, false); 411 ExpectEventRecorded(kOmniboxFirstSearch, false);
377 412
378 // Home page events. 413 // Home page events.
379 ExpectEventRecorded(kHomepageInstall, true); 414 ExpectEventRecorded(kHomepageInstall, true);
380 ExpectEventRecorded(kHomepageSetToGoogle, true); 415 ExpectEventRecorded(kHomepageSetToGoogle, true);
381 ExpectEventRecorded(kHomepageFirstSeach, true); 416 ExpectEventRecorded(kHomepageFirstSeach, true);
382 417
418 // App list events.
419 ExpectEventRecorded(kAppListInstall, true);
420 ExpectEventRecorded(kAppListSetToGoogle, false);
421 ExpectEventRecorded(kAppListFirstSearch, false);
422
383 ExpectRlzPingSent(true); 423 ExpectRlzPingSent(true);
384 } 424 }
385 425
386 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { 426 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) {
387 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, false); 427 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, false);
388 InvokeDelayedInit(); 428 InvokeDelayedInit();
389 429
390 // Omnibox events. 430 // Omnibox events.
391 ExpectEventRecorded(kOmniboxInstall, true); 431 ExpectEventRecorded(kOmniboxInstall, true);
392 ExpectEventRecorded(kOmniboxSetToGoogle, true); 432 ExpectEventRecorded(kOmniboxSetToGoogle, true);
393 ExpectEventRecorded(kOmniboxFirstSearch, false); 433 ExpectEventRecorded(kOmniboxFirstSearch, false);
394 434
395 // Home page events. 435 // Home page events.
396 ExpectEventRecorded(kHomepageInstall, true); 436 ExpectEventRecorded(kHomepageInstall, true);
397 ExpectEventRecorded(kHomepageSetToGoogle, true); 437 ExpectEventRecorded(kHomepageSetToGoogle, true);
398 ExpectEventRecorded(kHomepageFirstSeach, false); 438 ExpectEventRecorded(kHomepageFirstSeach, false);
399 439
440 // App list events.
441 ExpectEventRecorded(kAppListInstall, true);
442 ExpectEventRecorded(kAppListSetToGoogle, true);
443 ExpectEventRecorded(kAppListFirstSearch, false);
444
400 ExpectRlzPingSent(true); 445 ExpectRlzPingSent(true);
401 } 446 }
402 447
403 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { 448 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) {
404 TestRLZTracker::InitRlzDelayed(false, false, kDelay, false, false, true); 449 TestRLZTracker::InitRlzDelayed(false, false, kDelay, false, false, true);
405 InvokeDelayedInit(); 450 InvokeDelayedInit();
406 451
407 // Omnibox events. 452 // Omnibox events.
408 ExpectEventRecorded(kOmniboxInstall, true); 453 ExpectEventRecorded(kOmniboxInstall, true);
409 ExpectEventRecorded(kOmniboxSetToGoogle, false); 454 ExpectEventRecorded(kOmniboxSetToGoogle, false);
410 ExpectEventRecorded(kOmniboxFirstSearch, false); 455 ExpectEventRecorded(kOmniboxFirstSearch, false);
411 456
412 // Home page events. 457 // Home page events.
413 ExpectEventRecorded(kHomepageInstall, true); 458 ExpectEventRecorded(kHomepageInstall, true);
414 ExpectEventRecorded(kHomepageSetToGoogle, true); 459 ExpectEventRecorded(kHomepageSetToGoogle, true);
415 ExpectEventRecorded(kHomepageFirstSeach, true); 460 ExpectEventRecorded(kHomepageFirstSeach, true);
416 461
462 // App list events.
463 ExpectEventRecorded(kAppListInstall, true);
464 ExpectEventRecorded(kAppListSetToGoogle, false);
465 ExpectEventRecorded(kAppListFirstSearch, false);
466
417 ExpectRlzPingSent(true); 467 ExpectRlzPingSent(true);
418 } 468 }
419 469
420 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { 470 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) {
421 // Set some dummy RLZ strings to simulate that we already ran before and 471 // Set some dummy RLZ strings to simulate that we already ran before and
422 // performed a successful ping to the RLZ server. 472 // performed a successful ping to the RLZ server.
423 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); 473 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString);
424 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); 474 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString);
475 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_APP_LIST, kAppListRlzString);
425 476
426 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, true); 477 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, true);
427 InvokeDelayedInit(); 478 InvokeDelayedInit();
428 479
429 // Omnibox events. 480 // Omnibox events.
430 ExpectEventRecorded(kOmniboxInstall, true); 481 ExpectEventRecorded(kOmniboxInstall, true);
431 ExpectEventRecorded(kOmniboxSetToGoogle, false); 482 ExpectEventRecorded(kOmniboxSetToGoogle, false);
432 ExpectEventRecorded(kOmniboxFirstSearch, false); 483 ExpectEventRecorded(kOmniboxFirstSearch, false);
433 484
434 // Home page events. 485 // Home page events.
435 ExpectEventRecorded(kHomepageInstall, true); 486 ExpectEventRecorded(kHomepageInstall, true);
436 ExpectEventRecorded(kHomepageSetToGoogle, false); 487 ExpectEventRecorded(kHomepageSetToGoogle, false);
437 ExpectEventRecorded(kHomepageFirstSeach, true); 488 ExpectEventRecorded(kHomepageFirstSeach, true);
438 489
490 // App list events.
491 ExpectEventRecorded(kAppListInstall, true);
492 ExpectEventRecorded(kAppListSetToGoogle, false);
493 ExpectEventRecorded(kAppListFirstSearch, false);
494
439 ExpectRlzPingSent(true); 495 ExpectRlzPingSent(true);
440 } 496 }
441 497
442 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { 498 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) {
443 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, false); 499 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, false);
444 InvokeDelayedInit(); 500 InvokeDelayedInit();
445 501
446 // Omnibox events. 502 // Omnibox events.
447 ExpectEventRecorded(kOmniboxInstall, true); 503 ExpectEventRecorded(kOmniboxInstall, true);
448 ExpectEventRecorded(kOmniboxSetToGoogle, false); 504 ExpectEventRecorded(kOmniboxSetToGoogle, false);
449 ExpectEventRecorded(kOmniboxFirstSearch, false); 505 ExpectEventRecorded(kOmniboxFirstSearch, false);
450 506
451 // Home page events. 507 // Home page events.
452 ExpectEventRecorded(kHomepageInstall, true); 508 ExpectEventRecorded(kHomepageInstall, true);
453 ExpectEventRecorded(kHomepageSetToGoogle, false); 509 ExpectEventRecorded(kHomepageSetToGoogle, false);
454 ExpectEventRecorded(kHomepageFirstSeach, false); 510 ExpectEventRecorded(kHomepageFirstSeach, false);
455 511
512 // App list events.
513 ExpectEventRecorded(kAppListInstall, true);
514 ExpectEventRecorded(kAppListSetToGoogle, false);
515 ExpectEventRecorded(kAppListFirstSearch, false);
516
456 ExpectRlzPingSent(true); 517 ExpectRlzPingSent(true);
457 } 518 }
458 519
459 TEST_F(RlzLibTest, OmniboxUsageOnly) { 520 TEST_F(RlzLibTest, OmniboxUsageOnly) {
460 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); 521 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
461 SimulateOmniboxUsage(); 522 SimulateOmniboxUsage();
462 523
463 // Omnibox events. 524 // Omnibox events.
464 ExpectEventRecorded(kOmniboxInstall, false); 525 ExpectEventRecorded(kOmniboxInstall, false);
465 ExpectEventRecorded(kOmniboxSetToGoogle, false); 526 ExpectEventRecorded(kOmniboxSetToGoogle, false);
466 ExpectEventRecorded(kOmniboxFirstSearch, true); 527 ExpectEventRecorded(kOmniboxFirstSearch, true);
467 528
468 // Home page events. 529 // Home page events.
469 ExpectEventRecorded(kHomepageInstall, false); 530 ExpectEventRecorded(kHomepageInstall, false);
470 ExpectEventRecorded(kHomepageSetToGoogle, false); 531 ExpectEventRecorded(kHomepageSetToGoogle, false);
471 ExpectEventRecorded(kHomepageFirstSeach, false); 532 ExpectEventRecorded(kHomepageFirstSeach, false);
472 533
534 // App list events.
535 ExpectEventRecorded(kAppListInstall, false);
536 ExpectEventRecorded(kAppListSetToGoogle, false);
537 ExpectEventRecorded(kAppListFirstSearch, false);
538
473 ExpectRlzPingSent(false); 539 ExpectRlzPingSent(false);
474 } 540 }
475 541
476 TEST_F(RlzLibTest, HomepageUsageOnly) { 542 TEST_F(RlzLibTest, HomepageUsageOnly) {
477 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); 543 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
478 SimulateHomepageUsage(); 544 SimulateHomepageUsage();
479 545
480 // Omnibox events. 546 // Omnibox events.
481 ExpectEventRecorded(kOmniboxInstall, false); 547 ExpectEventRecorded(kOmniboxInstall, false);
482 ExpectEventRecorded(kOmniboxSetToGoogle, false); 548 ExpectEventRecorded(kOmniboxSetToGoogle, false);
483 ExpectEventRecorded(kOmniboxFirstSearch, false); 549 ExpectEventRecorded(kOmniboxFirstSearch, false);
484 550
485 // Home page events. 551 // Home page events.
486 ExpectEventRecorded(kHomepageInstall, false); 552 ExpectEventRecorded(kHomepageInstall, false);
487 ExpectEventRecorded(kHomepageSetToGoogle, false); 553 ExpectEventRecorded(kHomepageSetToGoogle, false);
488 ExpectEventRecorded(kHomepageFirstSeach, true); 554 ExpectEventRecorded(kHomepageFirstSeach, true);
489 555
556 // App list events.
557 ExpectEventRecorded(kAppListInstall, false);
558 ExpectEventRecorded(kAppListSetToGoogle, false);
559 ExpectEventRecorded(kAppListFirstSearch, false);
560
490 ExpectRlzPingSent(false); 561 ExpectRlzPingSent(false);
491 } 562 }
492 563
564 TEST_F(RlzLibTest, AppListUsageOnly) {
565 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
566 SimulateAppListUsage();
567
568 // Omnibox events.
569 ExpectEventRecorded(kOmniboxInstall, false);
570 ExpectEventRecorded(kOmniboxSetToGoogle, false);
571 ExpectEventRecorded(kOmniboxFirstSearch, false);
572
573 // Home page events.
574 ExpectEventRecorded(kHomepageInstall, false);
575 ExpectEventRecorded(kHomepageSetToGoogle, false);
576 ExpectEventRecorded(kHomepageFirstSeach, false);
577
578 // App list events.
579 ExpectEventRecorded(kAppListInstall, false);
580 ExpectEventRecorded(kAppListSetToGoogle, false);
581 ExpectEventRecorded(kAppListFirstSearch, true);
582
583 ExpectRlzPingSent(false);
584 }
585
493 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { 586 TEST_F(RlzLibTest, UsageBeforeDelayedInit) {
494 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); 587 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
495 SimulateOmniboxUsage(); 588 SimulateOmniboxUsage();
496 SimulateHomepageUsage(); 589 SimulateHomepageUsage();
590 SimulateAppListUsage();
497 InvokeDelayedInit(); 591 InvokeDelayedInit();
498 592
499 // Omnibox events. 593 // Omnibox events.
500 ExpectEventRecorded(kOmniboxInstall, true); 594 ExpectEventRecorded(kOmniboxInstall, true);
501 ExpectEventRecorded(kOmniboxSetToGoogle, true); 595 ExpectEventRecorded(kOmniboxSetToGoogle, true);
502 ExpectEventRecorded(kOmniboxFirstSearch, true); 596 ExpectEventRecorded(kOmniboxFirstSearch, true);
503 597
504 // Home page events. 598 // Home page events.
505 ExpectEventRecorded(kHomepageInstall, true); 599 ExpectEventRecorded(kHomepageInstall, true);
506 ExpectEventRecorded(kHomepageSetToGoogle, true); 600 ExpectEventRecorded(kHomepageSetToGoogle, true);
507 ExpectEventRecorded(kHomepageFirstSeach, true); 601 ExpectEventRecorded(kHomepageFirstSeach, true);
508 602
603 // App list events.
604 ExpectEventRecorded(kAppListInstall, true);
605 ExpectEventRecorded(kAppListSetToGoogle, true);
606 ExpectEventRecorded(kAppListFirstSearch, true);
607
509 ExpectRlzPingSent(true); 608 ExpectRlzPingSent(true);
510 } 609 }
511 610
512 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { 611 TEST_F(RlzLibTest, UsageAfterDelayedInit) {
513 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); 612 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
514 InvokeDelayedInit(); 613 InvokeDelayedInit();
515 SimulateOmniboxUsage(); 614 SimulateOmniboxUsage();
516 SimulateHomepageUsage(); 615 SimulateHomepageUsage();
616 SimulateAppListUsage();
517 617
518 // Omnibox events. 618 // Omnibox events.
519 ExpectEventRecorded(kOmniboxInstall, true); 619 ExpectEventRecorded(kOmniboxInstall, true);
520 ExpectEventRecorded(kOmniboxSetToGoogle, true); 620 ExpectEventRecorded(kOmniboxSetToGoogle, true);
521 ExpectEventRecorded(kOmniboxFirstSearch, true); 621 ExpectEventRecorded(kOmniboxFirstSearch, true);
522 622
523 // Home page events. 623 // Home page events.
524 ExpectEventRecorded(kHomepageInstall, true); 624 ExpectEventRecorded(kHomepageInstall, true);
525 ExpectEventRecorded(kHomepageSetToGoogle, true); 625 ExpectEventRecorded(kHomepageSetToGoogle, true);
526 ExpectEventRecorded(kHomepageFirstSeach, true); 626 ExpectEventRecorded(kHomepageFirstSeach, true);
527 627
628 // App list events.
629 ExpectEventRecorded(kAppListInstall, true);
630 ExpectEventRecorded(kAppListSetToGoogle, true);
631 ExpectEventRecorded(kAppListFirstSearch, true);
632
528 ExpectRlzPingSent(true); 633 ExpectRlzPingSent(true);
529 } 634 }
530 635
531 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenSendPingImmediately) { 636 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenSendPingImmediately) {
532 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); 637 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false);
533 SimulateOmniboxUsage(); 638 SimulateOmniboxUsage();
534 639
535 // Omnibox events. 640 // Omnibox events.
536 ExpectEventRecorded(kOmniboxInstall, true); 641 ExpectEventRecorded(kOmniboxInstall, true);
537 ExpectEventRecorded(kOmniboxSetToGoogle, true); 642 ExpectEventRecorded(kOmniboxSetToGoogle, true);
538 ExpectEventRecorded(kOmniboxFirstSearch, true); 643 ExpectEventRecorded(kOmniboxFirstSearch, true);
539 644
540 // Home page events. 645 // Home page events.
541 ExpectEventRecorded(kHomepageInstall, true); 646 ExpectEventRecorded(kHomepageInstall, true);
542 ExpectEventRecorded(kHomepageSetToGoogle, true); 647 ExpectEventRecorded(kHomepageSetToGoogle, true);
543 ExpectEventRecorded(kHomepageFirstSeach, false); 648 ExpectEventRecorded(kHomepageFirstSeach, false);
544 649
650 // App list events.
651 ExpectEventRecorded(kAppListInstall, true);
652 ExpectEventRecorded(kAppListSetToGoogle, true);
653 ExpectEventRecorded(kAppListFirstSearch, false);
654
545 ExpectRlzPingSent(true); 655 ExpectRlzPingSent(true);
546 } 656 }
547 657
548 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenSendPingImmediately) { 658 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenSendPingImmediately) {
549 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); 659 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false);
550 SimulateHomepageUsage(); 660 SimulateHomepageUsage();
551 661
552 // Omnibox events. 662 // Omnibox events.
553 ExpectEventRecorded(kOmniboxInstall, false); 663 ExpectEventRecorded(kOmniboxInstall, false);
554 ExpectEventRecorded(kOmniboxSetToGoogle, false); 664 ExpectEventRecorded(kOmniboxSetToGoogle, false);
555 ExpectEventRecorded(kOmniboxFirstSearch, false); 665 ExpectEventRecorded(kOmniboxFirstSearch, false);
556 666
557 // Home page events. 667 // Home page events.
558 ExpectEventRecorded(kHomepageInstall, false); 668 ExpectEventRecorded(kHomepageInstall, false);
559 ExpectEventRecorded(kHomepageSetToGoogle, false); 669 ExpectEventRecorded(kHomepageSetToGoogle, false);
560 ExpectEventRecorded(kHomepageFirstSeach, true); 670 ExpectEventRecorded(kHomepageFirstSeach, true);
561 671
672 // App list events.
673 ExpectEventRecorded(kAppListInstall, false);
674 ExpectEventRecorded(kAppListSetToGoogle, false);
675 ExpectEventRecorded(kAppListFirstSearch, false);
676
562 ExpectRlzPingSent(false); 677 ExpectRlzPingSent(false);
563 } 678 }
564 679
565 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenSendPingImmediately) { 680 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenSendPingImmediately) {
566 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, false, true); 681 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, false, true);
567 SimulateHomepageUsage(); 682 SimulateHomepageUsage();
568 683
569 // Omnibox events. 684 // Omnibox events.
570 ExpectEventRecorded(kOmniboxInstall, false); 685 ExpectEventRecorded(kOmniboxInstall, false);
571 ExpectEventRecorded(kOmniboxSetToGoogle, false); 686 ExpectEventRecorded(kOmniboxSetToGoogle, false);
572 ExpectEventRecorded(kOmniboxFirstSearch, false); 687 ExpectEventRecorded(kOmniboxFirstSearch, false);
573 688
574 // Home page events. 689 // Home page events.
575 ExpectEventRecorded(kHomepageInstall, false); 690 ExpectEventRecorded(kHomepageInstall, false);
576 ExpectEventRecorded(kHomepageSetToGoogle, false); 691 ExpectEventRecorded(kHomepageSetToGoogle, false);
577 ExpectEventRecorded(kHomepageFirstSeach, true); 692 ExpectEventRecorded(kHomepageFirstSeach, true);
578 693
694 // App list events.
695 ExpectEventRecorded(kAppListInstall, false);
696 ExpectEventRecorded(kAppListSetToGoogle, false);
697 ExpectEventRecorded(kAppListFirstSearch, false);
698
579 ExpectRlzPingSent(false); 699 ExpectRlzPingSent(false);
580 } 700 }
581 701
702 TEST_F(RlzLibTest, AppListUsageDoesNotSendPingWhenSendPingImmediately) {
703 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, false, false);
704 SimulateAppListUsage();
705
706 // Omnibox events.
707 ExpectEventRecorded(kOmniboxInstall, false);
708 ExpectEventRecorded(kOmniboxSetToGoogle, false);
709 ExpectEventRecorded(kOmniboxFirstSearch, false);
710
711 // Home page events.
712 ExpectEventRecorded(kHomepageInstall, false);
713 ExpectEventRecorded(kHomepageSetToGoogle, false);
714 ExpectEventRecorded(kHomepageFirstSeach, false);
715
716 // App list events.
717 ExpectEventRecorded(kAppListInstall, false);
718 ExpectEventRecorded(kAppListSetToGoogle, false);
719 ExpectEventRecorded(kAppListFirstSearch, true);
720
721 ExpectRlzPingSent(false);
722 }
723
582 TEST_F(RlzLibTest, GetAccessPointRlzOnIoThread) { 724 TEST_F(RlzLibTest, GetAccessPointRlzOnIoThread) {
583 // Set dummy RLZ string. 725 // Set dummy RLZ string.
584 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); 726 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString);
585 727
586 base::string16 rlz; 728 base::string16 rlz;
587 729
588 tracker_.set_assume_not_ui_thread(true); 730 tracker_.set_assume_not_ui_thread(true);
589 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); 731 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz));
590 EXPECT_STREQ(kOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str()); 732 EXPECT_STREQ(kOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str());
591 } 733 }
(...skipping 23 matching lines...) Expand all
615 757
616 tracker_.set_assume_not_ui_thread(false); 758 tracker_.set_assume_not_ui_thread(false);
617 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); 759 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz));
618 EXPECT_STREQ(kOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str()); 760 EXPECT_STREQ(kOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str());
619 } 761 }
620 762
621 TEST_F(RlzLibTest, PingUpdatesRlzCache) { 763 TEST_F(RlzLibTest, PingUpdatesRlzCache) {
622 // Set dummy RLZ string. 764 // Set dummy RLZ string.
623 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); 765 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString);
624 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); 766 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString);
767 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_APP_LIST, kAppListRlzString);
625 768
626 base::string16 rlz; 769 base::string16 rlz;
627 770
628 // Prime the cache. 771 // Prime the cache.
629 tracker_.set_assume_not_ui_thread(true); 772 tracker_.set_assume_not_ui_thread(true);
630 773
631 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); 774 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz));
632 EXPECT_STREQ(kOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str()); 775 EXPECT_STREQ(kOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str());
633 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( 776 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(
634 RLZTracker::CHROME_HOME_PAGE, &rlz)); 777 RLZTracker::CHROME_HOME_PAGE, &rlz));
635 EXPECT_STREQ(kHomepageRlzString, base::UTF16ToUTF8(rlz).c_str()); 778 EXPECT_STREQ(kHomepageRlzString, base::UTF16ToUTF8(rlz).c_str());
779 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_APP_LIST, &rlz));
780 EXPECT_STREQ(kAppListRlzString, base::UTF16ToUTF8(rlz).c_str());
636 781
637 // Make sure cache is valid. 782 // Make sure cache is valid.
638 tracker_.set_assume_not_ui_thread(false); 783 tracker_.set_assume_not_ui_thread(false);
639 784
640 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); 785 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz));
641 EXPECT_STREQ(kOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str()); 786 EXPECT_STREQ(kOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str());
642 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( 787 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(
643 RLZTracker::CHROME_HOME_PAGE, &rlz)); 788 RLZTracker::CHROME_HOME_PAGE, &rlz));
644 EXPECT_STREQ(kHomepageRlzString, base::UTF16ToUTF8(rlz).c_str()); 789 EXPECT_STREQ(kHomepageRlzString, base::UTF16ToUTF8(rlz).c_str());
790 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_APP_LIST, &rlz));
791 EXPECT_STREQ(kAppListRlzString, base::UTF16ToUTF8(rlz).c_str());
645 792
646 // Perform ping. 793 // Perform ping.
647 tracker_.set_assume_not_ui_thread(true); 794 tracker_.set_assume_not_ui_thread(true);
648 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); 795 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
649 InvokeDelayedInit(); 796 InvokeDelayedInit();
650 ExpectRlzPingSent(true); 797 ExpectRlzPingSent(true);
651 798
652 // Make sure cache is now updated. 799 // Make sure cache is now updated.
653 tracker_.set_assume_not_ui_thread(false); 800 tracker_.set_assume_not_ui_thread(false);
654 801
655 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); 802 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz));
656 EXPECT_STREQ(kNewOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str()); 803 EXPECT_STREQ(kNewOmniboxRlzString, base::UTF16ToUTF8(rlz).c_str());
657 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( 804 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(
658 RLZTracker::CHROME_HOME_PAGE, &rlz)); 805 RLZTracker::CHROME_HOME_PAGE, &rlz));
659 EXPECT_STREQ(kNewHomepageRlzString, base::UTF16ToUTF8(rlz).c_str()); 806 EXPECT_STREQ(kNewHomepageRlzString, base::UTF16ToUTF8(rlz).c_str());
807 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_APP_LIST, &rlz));
808 EXPECT_STREQ(kNewAppListRlzString, base::UTF16ToUTF8(rlz).c_str());
660 } 809 }
661 810
662 TEST_F(RlzLibTest, ObserveHandlesBadArgs) { 811 TEST_F(RlzLibTest, ObserveHandlesBadArgs) {
663 scoped_ptr<NavigationEntry> entry(NavigationEntry::Create()); 812 scoped_ptr<NavigationEntry> entry(NavigationEntry::Create());
664 entry->SetPageID(0); 813 entry->SetPageID(0);
665 entry->SetTransitionType(content::PAGE_TRANSITION_LINK); 814 entry->SetTransitionType(content::PAGE_TRANSITION_LINK);
666 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, 815 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING,
667 content::NotificationService::AllSources(), 816 content::NotificationService::AllSources(),
668 content::Details<NavigationEntry>(NULL)); 817 content::Details<NavigationEntry>(NULL));
669 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, 818 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, 871 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX,
723 rlz_lib::FIRST_SEARCH); 872 rlz_lib::FIRST_SEARCH);
724 873
725 ExpectEventRecorded(kOmniboxFirstSearch, true); 874 ExpectEventRecorded(kOmniboxFirstSearch, true);
726 875
727 RLZTracker::ClearRlzState(); 876 RLZTracker::ClearRlzState();
728 877
729 ExpectEventRecorded(kOmniboxFirstSearch, false); 878 ExpectEventRecorded(kOmniboxFirstSearch, false);
730 } 879 }
731 #endif // defined(OS_CHROMEOS) 880 #endif // defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « chrome/browser/rlz/rlz.cc ('k') | chrome/installer/setup/uninstall.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698