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 "chrome/browser/rlz/rlz.h" | 5 #include "chrome/browser/rlz/rlz.h" |
6 | 6 |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 | 110 |
111 bool was_ping_sent_for_brand(const std::string& brand) const { | 111 bool was_ping_sent_for_brand(const std::string& brand) const { |
112 return pinged_brands_.count(brand) > 0; | 112 return pinged_brands_.count(brand) > 0; |
113 } | 113 } |
114 | 114 |
115 void set_assume_not_ui_thread(bool assume_not_ui_thread) { | 115 void set_assume_not_ui_thread(bool assume_not_ui_thread) { |
116 assume_not_ui_thread_ = assume_not_ui_thread; | 116 assume_not_ui_thread_ = assume_not_ui_thread; |
117 } | 117 } |
118 | 118 |
119 private: | 119 private: |
120 virtual void ScheduleDelayedInit(int delay) OVERRIDE { | 120 virtual void ScheduleDelayedInit(base::TimeDelta delay) OVERRIDE { |
121 // If the delay is 0, invoke the delayed init now. Otherwise, | 121 // If the delay is 0, invoke the delayed init now. Otherwise, |
122 // don't schedule anything, it will be manually called during tests. | 122 // don't schedule anything, it will be manually called during tests. |
123 if (delay == 0) | 123 if (delay == base::TimeDelta()) |
124 DelayedInit(); | 124 DelayedInit(); |
125 } | 125 } |
126 | 126 |
127 virtual void ScheduleFinancialPing() OVERRIDE { | 127 virtual void ScheduleFinancialPing() OVERRIDE { |
128 PingNowImpl(); | 128 PingNowImpl(); |
129 } | 129 } |
130 | 130 |
131 virtual bool ScheduleRecordProductEvent(rlz_lib::Product product, | 131 virtual bool ScheduleRecordProductEvent(rlz_lib::Product product, |
132 rlz_lib::AccessPoint point, | 132 rlz_lib::AccessPoint point, |
133 rlz_lib::Event event_id) OVERRIDE { | 133 rlz_lib::Event event_id) OVERRIDE { |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 #elif defined(OS_CHROMEOS) | 375 #elif defined(OS_CHROMEOS) |
376 const char kOmniboxInstall[] = "CAI"; | 376 const char kOmniboxInstall[] = "CAI"; |
377 const char kOmniboxSetToGoogle[] = "CAS"; | 377 const char kOmniboxSetToGoogle[] = "CAS"; |
378 const char kOmniboxFirstSearch[] = "CAF"; | 378 const char kOmniboxFirstSearch[] = "CAF"; |
379 | 379 |
380 const char kHomepageInstall[] = "CBI"; | 380 const char kHomepageInstall[] = "CBI"; |
381 const char kHomepageSetToGoogle[] = "CBS"; | 381 const char kHomepageSetToGoogle[] = "CBS"; |
382 const char kHomepageFirstSeach[] = "CBF"; | 382 const char kHomepageFirstSeach[] = "CBF"; |
383 #endif | 383 #endif |
384 | 384 |
| 385 const base::TimeDelta kDelay = base::TimeDelta::FromMilliseconds(20); |
| 386 |
385 TEST_F(RlzLibTest, RecordProductEvent) { | 387 TEST_F(RlzLibTest, RecordProductEvent) { |
386 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, | 388 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, |
387 rlz_lib::FIRST_SEARCH); | 389 rlz_lib::FIRST_SEARCH); |
388 | 390 |
389 ExpectEventRecorded(kOmniboxFirstSearch, true); | 391 ExpectEventRecorded(kOmniboxFirstSearch, true); |
390 } | 392 } |
391 | 393 |
392 TEST_F(RlzLibTest, QuickStopAfterStart) { | 394 TEST_F(RlzLibTest, QuickStopAfterStart) { |
393 TestRLZTracker::InitRlzDelayed(true, 20, true, true, true); | 395 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, true); |
394 | 396 |
395 // Omnibox events. | 397 // Omnibox events. |
396 ExpectEventRecorded(kOmniboxInstall, false); | 398 ExpectEventRecorded(kOmniboxInstall, false); |
397 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 399 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
398 ExpectEventRecorded(kOmniboxFirstSearch, false); | 400 ExpectEventRecorded(kOmniboxFirstSearch, false); |
399 | 401 |
400 // Home page events. | 402 // Home page events. |
401 ExpectEventRecorded(kHomepageInstall, false); | 403 ExpectEventRecorded(kHomepageInstall, false); |
402 ExpectEventRecorded(kHomepageSetToGoogle, false); | 404 ExpectEventRecorded(kHomepageSetToGoogle, false); |
403 ExpectEventRecorded(kHomepageFirstSeach, false); | 405 ExpectEventRecorded(kHomepageFirstSeach, false); |
404 | 406 |
405 ExpectRlzPingSent(false); | 407 ExpectRlzPingSent(false); |
406 } | 408 } |
407 | 409 |
408 TEST_F(RlzLibTest, DelayedInitOnly) { | 410 TEST_F(RlzLibTest, DelayedInitOnly) { |
409 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 411 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
410 InvokeDelayedInit(); | 412 InvokeDelayedInit(); |
411 | 413 |
412 // Omnibox events. | 414 // Omnibox events. |
413 ExpectEventRecorded(kOmniboxInstall, true); | 415 ExpectEventRecorded(kOmniboxInstall, true); |
414 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 416 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
415 ExpectEventRecorded(kOmniboxFirstSearch, false); | 417 ExpectEventRecorded(kOmniboxFirstSearch, false); |
416 | 418 |
417 // Home page events. | 419 // Home page events. |
418 ExpectEventRecorded(kHomepageInstall, true); | 420 ExpectEventRecorded(kHomepageInstall, true); |
419 ExpectEventRecorded(kHomepageSetToGoogle, true); | 421 ExpectEventRecorded(kHomepageSetToGoogle, true); |
420 ExpectEventRecorded(kHomepageFirstSeach, false); | 422 ExpectEventRecorded(kHomepageFirstSeach, false); |
421 | 423 |
422 ExpectRlzPingSent(true); | 424 ExpectRlzPingSent(true); |
423 } | 425 } |
424 | 426 |
425 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { | 427 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { |
426 TestRLZTracker::InitRlzDelayed(true, 20, false, false, true); | 428 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, true); |
427 InvokeDelayedInit(); | 429 InvokeDelayedInit(); |
428 | 430 |
429 // Omnibox events. | 431 // Omnibox events. |
430 ExpectEventRecorded(kOmniboxInstall, true); | 432 ExpectEventRecorded(kOmniboxInstall, true); |
431 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 433 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
432 ExpectEventRecorded(kOmniboxFirstSearch, false); | 434 ExpectEventRecorded(kOmniboxFirstSearch, false); |
433 | 435 |
434 // Home page events. | 436 // Home page events. |
435 ExpectEventRecorded(kHomepageInstall, true); | 437 ExpectEventRecorded(kHomepageInstall, true); |
436 ExpectEventRecorded(kHomepageSetToGoogle, true); | 438 ExpectEventRecorded(kHomepageSetToGoogle, true); |
437 ExpectEventRecorded(kHomepageFirstSeach, true); | 439 ExpectEventRecorded(kHomepageFirstSeach, true); |
438 | 440 |
439 ExpectRlzPingSent(true); | 441 ExpectRlzPingSent(true); |
440 } | 442 } |
441 | 443 |
442 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { | 444 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { |
443 TestRLZTracker::InitRlzDelayed(false, 20, true, true, false); | 445 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, false); |
444 InvokeDelayedInit(); | 446 InvokeDelayedInit(); |
445 | 447 |
446 // Omnibox events. | 448 // Omnibox events. |
447 ExpectEventRecorded(kOmniboxInstall, true); | 449 ExpectEventRecorded(kOmniboxInstall, true); |
448 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 450 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
449 ExpectEventRecorded(kOmniboxFirstSearch, false); | 451 ExpectEventRecorded(kOmniboxFirstSearch, false); |
450 | 452 |
451 // Home page events. | 453 // Home page events. |
452 ExpectEventRecorded(kHomepageInstall, true); | 454 ExpectEventRecorded(kHomepageInstall, true); |
453 ExpectEventRecorded(kHomepageSetToGoogle, true); | 455 ExpectEventRecorded(kHomepageSetToGoogle, true); |
454 ExpectEventRecorded(kHomepageFirstSeach, false); | 456 ExpectEventRecorded(kHomepageFirstSeach, false); |
455 | 457 |
456 ExpectRlzPingSent(true); | 458 ExpectRlzPingSent(true); |
457 } | 459 } |
458 | 460 |
459 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { | 461 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { |
460 TestRLZTracker::InitRlzDelayed(false, 20, false, false, true); | 462 TestRLZTracker::InitRlzDelayed(false, false, kDelay, false, false, true); |
461 InvokeDelayedInit(); | 463 InvokeDelayedInit(); |
462 | 464 |
463 // Omnibox events. | 465 // Omnibox events. |
464 ExpectEventRecorded(kOmniboxInstall, true); | 466 ExpectEventRecorded(kOmniboxInstall, true); |
465 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 467 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
466 ExpectEventRecorded(kOmniboxFirstSearch, false); | 468 ExpectEventRecorded(kOmniboxFirstSearch, false); |
467 | 469 |
468 // Home page events. | 470 // Home page events. |
469 ExpectEventRecorded(kHomepageInstall, true); | 471 ExpectEventRecorded(kHomepageInstall, true); |
470 ExpectEventRecorded(kHomepageSetToGoogle, true); | 472 ExpectEventRecorded(kHomepageSetToGoogle, true); |
471 ExpectEventRecorded(kHomepageFirstSeach, true); | 473 ExpectEventRecorded(kHomepageFirstSeach, true); |
472 | 474 |
473 ExpectRlzPingSent(true); | 475 ExpectRlzPingSent(true); |
474 } | 476 } |
475 | 477 |
476 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { | 478 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { |
477 // Set some dummy RLZ strings to simulate that we already ran before and | 479 // Set some dummy RLZ strings to simulate that we already ran before and |
478 // performed a successful ping to the RLZ server. | 480 // performed a successful ping to the RLZ server. |
479 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); | 481 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); |
480 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); | 482 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); |
481 | 483 |
482 TestRLZTracker::InitRlzDelayed(false, 20, true, true, true); | 484 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, true); |
483 InvokeDelayedInit(); | 485 InvokeDelayedInit(); |
484 | 486 |
485 // Omnibox events. | 487 // Omnibox events. |
486 ExpectEventRecorded(kOmniboxInstall, true); | 488 ExpectEventRecorded(kOmniboxInstall, true); |
487 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 489 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
488 ExpectEventRecorded(kOmniboxFirstSearch, false); | 490 ExpectEventRecorded(kOmniboxFirstSearch, false); |
489 | 491 |
490 // Home page events. | 492 // Home page events. |
491 ExpectEventRecorded(kHomepageInstall, true); | 493 ExpectEventRecorded(kHomepageInstall, true); |
492 ExpectEventRecorded(kHomepageSetToGoogle, false); | 494 ExpectEventRecorded(kHomepageSetToGoogle, false); |
493 ExpectEventRecorded(kHomepageFirstSeach, true); | 495 ExpectEventRecorded(kHomepageFirstSeach, true); |
494 | 496 |
495 ExpectRlzPingSent(true); | 497 ExpectRlzPingSent(true); |
496 } | 498 } |
497 | 499 |
498 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { | 500 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { |
499 TestRLZTracker::InitRlzDelayed(true, 20, false, false, false); | 501 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, false); |
500 InvokeDelayedInit(); | 502 InvokeDelayedInit(); |
501 | 503 |
502 // Omnibox events. | 504 // Omnibox events. |
503 ExpectEventRecorded(kOmniboxInstall, true); | 505 ExpectEventRecorded(kOmniboxInstall, true); |
504 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 506 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
505 ExpectEventRecorded(kOmniboxFirstSearch, false); | 507 ExpectEventRecorded(kOmniboxFirstSearch, false); |
506 | 508 |
507 // Home page events. | 509 // Home page events. |
508 ExpectEventRecorded(kHomepageInstall, true); | 510 ExpectEventRecorded(kHomepageInstall, true); |
509 ExpectEventRecorded(kHomepageSetToGoogle, false); | 511 ExpectEventRecorded(kHomepageSetToGoogle, false); |
510 ExpectEventRecorded(kHomepageFirstSeach, false); | 512 ExpectEventRecorded(kHomepageFirstSeach, false); |
511 | 513 |
512 ExpectRlzPingSent(true); | 514 ExpectRlzPingSent(true); |
513 } | 515 } |
514 | 516 |
515 TEST_F(RlzLibTest, OmniboxUsageOnly) { | 517 TEST_F(RlzLibTest, OmniboxUsageOnly) { |
516 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 518 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
517 SimulateOmniboxUsage(); | 519 SimulateOmniboxUsage(); |
518 | 520 |
519 // Omnibox events. | 521 // Omnibox events. |
520 ExpectEventRecorded(kOmniboxInstall, false); | 522 ExpectEventRecorded(kOmniboxInstall, false); |
521 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 523 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
522 ExpectEventRecorded(kOmniboxFirstSearch, true); | 524 ExpectEventRecorded(kOmniboxFirstSearch, true); |
523 | 525 |
524 // Home page events. | 526 // Home page events. |
525 ExpectEventRecorded(kHomepageInstall, false); | 527 ExpectEventRecorded(kHomepageInstall, false); |
526 ExpectEventRecorded(kHomepageSetToGoogle, false); | 528 ExpectEventRecorded(kHomepageSetToGoogle, false); |
527 ExpectEventRecorded(kHomepageFirstSeach, false); | 529 ExpectEventRecorded(kHomepageFirstSeach, false); |
528 | 530 |
529 ExpectRlzPingSent(false); | 531 ExpectRlzPingSent(false); |
530 } | 532 } |
531 | 533 |
532 TEST_F(RlzLibTest, HomepageUsageOnly) { | 534 TEST_F(RlzLibTest, HomepageUsageOnly) { |
533 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 535 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
534 SimulateHomepageUsage(); | 536 SimulateHomepageUsage(); |
535 | 537 |
536 // Omnibox events. | 538 // Omnibox events. |
537 ExpectEventRecorded(kOmniboxInstall, false); | 539 ExpectEventRecorded(kOmniboxInstall, false); |
538 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 540 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
539 ExpectEventRecorded(kOmniboxFirstSearch, false); | 541 ExpectEventRecorded(kOmniboxFirstSearch, false); |
540 | 542 |
541 // Home page events. | 543 // Home page events. |
542 ExpectEventRecorded(kHomepageInstall, false); | 544 ExpectEventRecorded(kHomepageInstall, false); |
543 ExpectEventRecorded(kHomepageSetToGoogle, false); | 545 ExpectEventRecorded(kHomepageSetToGoogle, false); |
544 ExpectEventRecorded(kHomepageFirstSeach, true); | 546 ExpectEventRecorded(kHomepageFirstSeach, true); |
545 | 547 |
546 ExpectRlzPingSent(false); | 548 ExpectRlzPingSent(false); |
547 } | 549 } |
548 | 550 |
549 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { | 551 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { |
550 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 552 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
551 SimulateOmniboxUsage(); | 553 SimulateOmniboxUsage(); |
552 SimulateHomepageUsage(); | 554 SimulateHomepageUsage(); |
553 InvokeDelayedInit(); | 555 InvokeDelayedInit(); |
554 | 556 |
555 // Omnibox events. | 557 // Omnibox events. |
556 ExpectEventRecorded(kOmniboxInstall, true); | 558 ExpectEventRecorded(kOmniboxInstall, true); |
557 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 559 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
558 ExpectEventRecorded(kOmniboxFirstSearch, true); | 560 ExpectEventRecorded(kOmniboxFirstSearch, true); |
559 | 561 |
560 // Home page events. | 562 // Home page events. |
561 ExpectEventRecorded(kHomepageInstall, true); | 563 ExpectEventRecorded(kHomepageInstall, true); |
562 ExpectEventRecorded(kHomepageSetToGoogle, true); | 564 ExpectEventRecorded(kHomepageSetToGoogle, true); |
563 ExpectEventRecorded(kHomepageFirstSeach, true); | 565 ExpectEventRecorded(kHomepageFirstSeach, true); |
564 | 566 |
565 ExpectRlzPingSent(true); | 567 ExpectRlzPingSent(true); |
566 } | 568 } |
567 | 569 |
568 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { | 570 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { |
569 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 571 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
570 InvokeDelayedInit(); | 572 InvokeDelayedInit(); |
571 SimulateOmniboxUsage(); | 573 SimulateOmniboxUsage(); |
572 SimulateHomepageUsage(); | 574 SimulateHomepageUsage(); |
573 | 575 |
574 // Omnibox events. | 576 // Omnibox events. |
575 ExpectEventRecorded(kOmniboxInstall, true); | 577 ExpectEventRecorded(kOmniboxInstall, true); |
576 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 578 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
577 ExpectEventRecorded(kOmniboxFirstSearch, true); | 579 ExpectEventRecorded(kOmniboxFirstSearch, true); |
578 | 580 |
579 // Home page events. | 581 // Home page events. |
580 ExpectEventRecorded(kHomepageInstall, true); | 582 ExpectEventRecorded(kHomepageInstall, true); |
581 ExpectEventRecorded(kHomepageSetToGoogle, true); | 583 ExpectEventRecorded(kHomepageSetToGoogle, true); |
582 ExpectEventRecorded(kHomepageFirstSeach, true); | 584 ExpectEventRecorded(kHomepageFirstSeach, true); |
583 | 585 |
584 ExpectRlzPingSent(true); | 586 ExpectRlzPingSent(true); |
585 } | 587 } |
586 | 588 |
587 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenDelayNegative) { | 589 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenSendPingImmediately) { |
588 TestRLZTracker::InitRlzDelayed(true, -20, true, true, false); | 590 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); |
589 SimulateOmniboxUsage(); | 591 SimulateOmniboxUsage(); |
590 | 592 |
591 // Omnibox events. | 593 // Omnibox events. |
592 ExpectEventRecorded(kOmniboxInstall, true); | 594 ExpectEventRecorded(kOmniboxInstall, true); |
593 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 595 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
594 ExpectEventRecorded(kOmniboxFirstSearch, true); | 596 ExpectEventRecorded(kOmniboxFirstSearch, true); |
595 | 597 |
596 // Home page events. | 598 // Home page events. |
597 ExpectEventRecorded(kHomepageInstall, true); | 599 ExpectEventRecorded(kHomepageInstall, true); |
598 ExpectEventRecorded(kHomepageSetToGoogle, true); | 600 ExpectEventRecorded(kHomepageSetToGoogle, true); |
599 ExpectEventRecorded(kHomepageFirstSeach, false); | 601 ExpectEventRecorded(kHomepageFirstSeach, false); |
600 | 602 |
601 ExpectRlzPingSent(true); | 603 ExpectRlzPingSent(true); |
602 } | 604 } |
603 | 605 |
604 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenDelayNegative) { | 606 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenSendPingImmediately) { |
605 TestRLZTracker::InitRlzDelayed(true, -20, true, true, false); | 607 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); |
606 SimulateHomepageUsage(); | 608 SimulateHomepageUsage(); |
607 | 609 |
608 // Omnibox events. | 610 // Omnibox events. |
609 ExpectEventRecorded(kOmniboxInstall, false); | 611 ExpectEventRecorded(kOmniboxInstall, false); |
610 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 612 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
611 ExpectEventRecorded(kOmniboxFirstSearch, false); | 613 ExpectEventRecorded(kOmniboxFirstSearch, false); |
612 | 614 |
613 // Home page events. | 615 // Home page events. |
614 ExpectEventRecorded(kHomepageInstall, false); | 616 ExpectEventRecorded(kHomepageInstall, false); |
615 ExpectEventRecorded(kHomepageSetToGoogle, false); | 617 ExpectEventRecorded(kHomepageSetToGoogle, false); |
616 ExpectEventRecorded(kHomepageFirstSeach, true); | 618 ExpectEventRecorded(kHomepageFirstSeach, true); |
617 | 619 |
618 ExpectRlzPingSent(false); | 620 ExpectRlzPingSent(false); |
619 } | 621 } |
620 | 622 |
621 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenDelayNegative) { | 623 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenSendPingImmediately) { |
622 TestRLZTracker::InitRlzDelayed(true, -20, true, false, true); | 624 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, false, true); |
623 SimulateHomepageUsage(); | 625 SimulateHomepageUsage(); |
624 | 626 |
625 // Omnibox events. | 627 // Omnibox events. |
626 ExpectEventRecorded(kOmniboxInstall, false); | 628 ExpectEventRecorded(kOmniboxInstall, false); |
627 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 629 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
628 ExpectEventRecorded(kOmniboxFirstSearch, false); | 630 ExpectEventRecorded(kOmniboxFirstSearch, false); |
629 | 631 |
630 // Home page events. | 632 // Home page events. |
631 ExpectEventRecorded(kHomepageInstall, false); | 633 ExpectEventRecorded(kHomepageInstall, false); |
632 ExpectEventRecorded(kHomepageSetToGoogle, false); | 634 ExpectEventRecorded(kHomepageSetToGoogle, false); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 tracker_.set_assume_not_ui_thread(false); | 696 tracker_.set_assume_not_ui_thread(false); |
695 | 697 |
696 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); | 698 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); |
697 EXPECT_STREQ(kOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); | 699 EXPECT_STREQ(kOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); |
698 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( | 700 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( |
699 RLZTracker::CHROME_HOME_PAGE, &rlz)); | 701 RLZTracker::CHROME_HOME_PAGE, &rlz)); |
700 EXPECT_STREQ(kHomepageRlzString, UTF16ToUTF8(rlz).c_str()); | 702 EXPECT_STREQ(kHomepageRlzString, UTF16ToUTF8(rlz).c_str()); |
701 | 703 |
702 // Perform ping. | 704 // Perform ping. |
703 tracker_.set_assume_not_ui_thread(true); | 705 tracker_.set_assume_not_ui_thread(true); |
704 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 706 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
705 InvokeDelayedInit(); | 707 InvokeDelayedInit(); |
706 ExpectRlzPingSent(true); | 708 ExpectRlzPingSent(true); |
707 | 709 |
708 // Make sure cache is now updated. | 710 // Make sure cache is now updated. |
709 tracker_.set_assume_not_ui_thread(false); | 711 tracker_.set_assume_not_ui_thread(false); |
710 | 712 |
711 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); | 713 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); |
712 EXPECT_STREQ(kNewOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); | 714 EXPECT_STREQ(kNewOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); |
713 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( | 715 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( |
714 RLZTracker::CHROME_HOME_PAGE, &rlz)); | 716 RLZTracker::CHROME_HOME_PAGE, &rlz)); |
(...skipping 10 matching lines...) Expand all Loading... |
725 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, | 727 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, |
726 content::NotificationService::AllSources(), | 728 content::NotificationService::AllSources(), |
727 content::Details<NavigationEntry>(entry.get())); | 729 content::Details<NavigationEntry>(entry.get())); |
728 } | 730 } |
729 | 731 |
730 // TODO(thakis): Reactivation doesn't exist on Mac yet. | 732 // TODO(thakis): Reactivation doesn't exist on Mac yet. |
731 #if defined(OS_WIN) | 733 #if defined(OS_WIN) |
732 TEST_F(RlzLibTest, ReactivationNonOrganicNonOrganic) { | 734 TEST_F(RlzLibTest, ReactivationNonOrganicNonOrganic) { |
733 SetReactivationBrand("REAC"); | 735 SetReactivationBrand("REAC"); |
734 | 736 |
735 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 737 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
736 InvokeDelayedInit(); | 738 InvokeDelayedInit(); |
737 | 739 |
738 ExpectRlzPingSent(true); | 740 ExpectRlzPingSent(true); |
739 ExpectReactivationRlzPingSent(true); | 741 ExpectReactivationRlzPingSent(true); |
740 } | 742 } |
741 | 743 |
742 TEST_F(RlzLibTest, ReactivationOrganicNonOrganic) { | 744 TEST_F(RlzLibTest, ReactivationOrganicNonOrganic) { |
743 SetMainBrand("GGLS"); | 745 SetMainBrand("GGLS"); |
744 SetReactivationBrand("REAC"); | 746 SetReactivationBrand("REAC"); |
745 | 747 |
746 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 748 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
747 InvokeDelayedInit(); | 749 InvokeDelayedInit(); |
748 | 750 |
749 ExpectRlzPingSent(false); | 751 ExpectRlzPingSent(false); |
750 ExpectReactivationRlzPingSent(true); | 752 ExpectReactivationRlzPingSent(true); |
751 } | 753 } |
752 | 754 |
753 TEST_F(RlzLibTest, ReactivationNonOrganicOrganic) { | 755 TEST_F(RlzLibTest, ReactivationNonOrganicOrganic) { |
754 SetMainBrand("TEST"); | 756 SetMainBrand("TEST"); |
755 SetReactivationBrand("GGLS"); | 757 SetReactivationBrand("GGLS"); |
756 | 758 |
757 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 759 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
758 InvokeDelayedInit(); | 760 InvokeDelayedInit(); |
759 | 761 |
760 ExpectRlzPingSent(true); | 762 ExpectRlzPingSent(true); |
761 ExpectReactivationRlzPingSent(false); | 763 ExpectReactivationRlzPingSent(false); |
762 } | 764 } |
763 | 765 |
764 TEST_F(RlzLibTest, ReactivationOrganicOrganic) { | 766 TEST_F(RlzLibTest, ReactivationOrganicOrganic) { |
765 SetMainBrand("GGLS"); | 767 SetMainBrand("GGLS"); |
766 SetReactivationBrand("GGRS"); | 768 SetReactivationBrand("GGRS"); |
767 | 769 |
768 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 770 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
769 InvokeDelayedInit(); | 771 InvokeDelayedInit(); |
770 | 772 |
771 ExpectRlzPingSent(false); | 773 ExpectRlzPingSent(false); |
772 ExpectReactivationRlzPingSent(false); | 774 ExpectReactivationRlzPingSent(false); |
773 } | 775 } |
774 #endif // defined(OS_WIN) | 776 #endif // defined(OS_WIN) |
OLD | NEW |