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 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 #elif defined(OS_CHROMEOS) | 381 #elif defined(OS_CHROMEOS) |
382 const char kOmniboxInstall[] = "CAI"; | 382 const char kOmniboxInstall[] = "CAI"; |
383 const char kOmniboxSetToGoogle[] = "CAS"; | 383 const char kOmniboxSetToGoogle[] = "CAS"; |
384 const char kOmniboxFirstSearch[] = "CAF"; | 384 const char kOmniboxFirstSearch[] = "CAF"; |
385 | 385 |
386 const char kHomepageInstall[] = "CBI"; | 386 const char kHomepageInstall[] = "CBI"; |
387 const char kHomepageSetToGoogle[] = "CBS"; | 387 const char kHomepageSetToGoogle[] = "CBS"; |
388 const char kHomepageFirstSeach[] = "CBF"; | 388 const char kHomepageFirstSeach[] = "CBF"; |
389 #endif | 389 #endif |
390 | 390 |
| 391 const base::TimeDelta kDelay = base::TimeDelta::FromMilliseconds(20); |
| 392 |
391 TEST_F(RlzLibTest, RecordProductEvent) { | 393 TEST_F(RlzLibTest, RecordProductEvent) { |
392 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, | 394 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, |
393 rlz_lib::FIRST_SEARCH); | 395 rlz_lib::FIRST_SEARCH); |
394 | 396 |
395 ExpectEventRecorded(kOmniboxFirstSearch, true); | 397 ExpectEventRecorded(kOmniboxFirstSearch, true); |
396 } | 398 } |
397 | 399 |
398 TEST_F(RlzLibTest, QuickStopAfterStart) { | 400 TEST_F(RlzLibTest, QuickStopAfterStart) { |
399 TestRLZTracker::InitRlzDelayed(true, 20, true, true, true); | 401 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, true); |
400 | 402 |
401 // Omnibox events. | 403 // Omnibox events. |
402 ExpectEventRecorded(kOmniboxInstall, false); | 404 ExpectEventRecorded(kOmniboxInstall, false); |
403 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 405 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
404 ExpectEventRecorded(kOmniboxFirstSearch, false); | 406 ExpectEventRecorded(kOmniboxFirstSearch, false); |
405 | 407 |
406 // Home page events. | 408 // Home page events. |
407 ExpectEventRecorded(kHomepageInstall, false); | 409 ExpectEventRecorded(kHomepageInstall, false); |
408 ExpectEventRecorded(kHomepageSetToGoogle, false); | 410 ExpectEventRecorded(kHomepageSetToGoogle, false); |
409 ExpectEventRecorded(kHomepageFirstSeach, false); | 411 ExpectEventRecorded(kHomepageFirstSeach, false); |
410 | 412 |
411 ExpectRlzPingSent(false); | 413 ExpectRlzPingSent(false); |
412 } | 414 } |
413 | 415 |
414 TEST_F(RlzLibTest, DelayedInitOnly) { | 416 TEST_F(RlzLibTest, DelayedInitOnly) { |
415 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 417 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
416 InvokeDelayedInit(); | 418 InvokeDelayedInit(); |
417 | 419 |
418 // Omnibox events. | 420 // Omnibox events. |
419 ExpectEventRecorded(kOmniboxInstall, true); | 421 ExpectEventRecorded(kOmniboxInstall, true); |
420 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 422 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
421 ExpectEventRecorded(kOmniboxFirstSearch, false); | 423 ExpectEventRecorded(kOmniboxFirstSearch, false); |
422 | 424 |
423 // Home page events. | 425 // Home page events. |
424 ExpectEventRecorded(kHomepageInstall, true); | 426 ExpectEventRecorded(kHomepageInstall, true); |
425 ExpectEventRecorded(kHomepageSetToGoogle, true); | 427 ExpectEventRecorded(kHomepageSetToGoogle, true); |
426 ExpectEventRecorded(kHomepageFirstSeach, false); | 428 ExpectEventRecorded(kHomepageFirstSeach, false); |
427 | 429 |
428 ExpectRlzPingSent(true); | 430 ExpectRlzPingSent(true); |
429 } | 431 } |
430 | 432 |
431 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { | 433 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { |
432 TestRLZTracker::InitRlzDelayed(true, 20, false, false, true); | 434 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, true); |
433 InvokeDelayedInit(); | 435 InvokeDelayedInit(); |
434 | 436 |
435 // Omnibox events. | 437 // Omnibox events. |
436 ExpectEventRecorded(kOmniboxInstall, true); | 438 ExpectEventRecorded(kOmniboxInstall, true); |
437 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 439 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
438 ExpectEventRecorded(kOmniboxFirstSearch, false); | 440 ExpectEventRecorded(kOmniboxFirstSearch, false); |
439 | 441 |
440 // Home page events. | 442 // Home page events. |
441 ExpectEventRecorded(kHomepageInstall, true); | 443 ExpectEventRecorded(kHomepageInstall, true); |
442 ExpectEventRecorded(kHomepageSetToGoogle, true); | 444 ExpectEventRecorded(kHomepageSetToGoogle, true); |
443 ExpectEventRecorded(kHomepageFirstSeach, true); | 445 ExpectEventRecorded(kHomepageFirstSeach, true); |
444 | 446 |
445 ExpectRlzPingSent(true); | 447 ExpectRlzPingSent(true); |
446 } | 448 } |
447 | 449 |
448 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { | 450 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { |
449 TestRLZTracker::InitRlzDelayed(false, 20, true, true, false); | 451 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, false); |
450 InvokeDelayedInit(); | 452 InvokeDelayedInit(); |
451 | 453 |
452 // Omnibox events. | 454 // Omnibox events. |
453 ExpectEventRecorded(kOmniboxInstall, true); | 455 ExpectEventRecorded(kOmniboxInstall, true); |
454 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 456 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
455 ExpectEventRecorded(kOmniboxFirstSearch, false); | 457 ExpectEventRecorded(kOmniboxFirstSearch, false); |
456 | 458 |
457 // Home page events. | 459 // Home page events. |
458 ExpectEventRecorded(kHomepageInstall, true); | 460 ExpectEventRecorded(kHomepageInstall, true); |
459 ExpectEventRecorded(kHomepageSetToGoogle, true); | 461 ExpectEventRecorded(kHomepageSetToGoogle, true); |
460 ExpectEventRecorded(kHomepageFirstSeach, false); | 462 ExpectEventRecorded(kHomepageFirstSeach, false); |
461 | 463 |
462 ExpectRlzPingSent(true); | 464 ExpectRlzPingSent(true); |
463 } | 465 } |
464 | 466 |
465 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { | 467 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { |
466 TestRLZTracker::InitRlzDelayed(false, 20, false, false, true); | 468 TestRLZTracker::InitRlzDelayed(false, false, kDelay, false, false, true); |
467 InvokeDelayedInit(); | 469 InvokeDelayedInit(); |
468 | 470 |
469 // Omnibox events. | 471 // Omnibox events. |
470 ExpectEventRecorded(kOmniboxInstall, true); | 472 ExpectEventRecorded(kOmniboxInstall, true); |
471 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 473 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
472 ExpectEventRecorded(kOmniboxFirstSearch, false); | 474 ExpectEventRecorded(kOmniboxFirstSearch, false); |
473 | 475 |
474 // Home page events. | 476 // Home page events. |
475 ExpectEventRecorded(kHomepageInstall, true); | 477 ExpectEventRecorded(kHomepageInstall, true); |
476 ExpectEventRecorded(kHomepageSetToGoogle, true); | 478 ExpectEventRecorded(kHomepageSetToGoogle, true); |
477 ExpectEventRecorded(kHomepageFirstSeach, true); | 479 ExpectEventRecorded(kHomepageFirstSeach, true); |
478 | 480 |
479 ExpectRlzPingSent(true); | 481 ExpectRlzPingSent(true); |
480 } | 482 } |
481 | 483 |
482 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { | 484 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { |
483 // Set some dummy RLZ strings to simulate that we already ran before and | 485 // Set some dummy RLZ strings to simulate that we already ran before and |
484 // performed a successful ping to the RLZ server. | 486 // performed a successful ping to the RLZ server. |
485 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); | 487 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); |
486 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); | 488 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); |
487 | 489 |
488 TestRLZTracker::InitRlzDelayed(false, 20, true, true, true); | 490 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, true); |
489 InvokeDelayedInit(); | 491 InvokeDelayedInit(); |
490 | 492 |
491 // Omnibox events. | 493 // Omnibox events. |
492 ExpectEventRecorded(kOmniboxInstall, true); | 494 ExpectEventRecorded(kOmniboxInstall, true); |
493 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 495 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
494 ExpectEventRecorded(kOmniboxFirstSearch, false); | 496 ExpectEventRecorded(kOmniboxFirstSearch, false); |
495 | 497 |
496 // Home page events. | 498 // Home page events. |
497 ExpectEventRecorded(kHomepageInstall, true); | 499 ExpectEventRecorded(kHomepageInstall, true); |
498 ExpectEventRecorded(kHomepageSetToGoogle, false); | 500 ExpectEventRecorded(kHomepageSetToGoogle, false); |
499 ExpectEventRecorded(kHomepageFirstSeach, true); | 501 ExpectEventRecorded(kHomepageFirstSeach, true); |
500 | 502 |
501 ExpectRlzPingSent(true); | 503 ExpectRlzPingSent(true); |
502 } | 504 } |
503 | 505 |
504 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { | 506 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { |
505 TestRLZTracker::InitRlzDelayed(true, 20, false, false, false); | 507 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, false); |
506 InvokeDelayedInit(); | 508 InvokeDelayedInit(); |
507 | 509 |
508 // Omnibox events. | 510 // Omnibox events. |
509 ExpectEventRecorded(kOmniboxInstall, true); | 511 ExpectEventRecorded(kOmniboxInstall, true); |
510 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 512 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
511 ExpectEventRecorded(kOmniboxFirstSearch, false); | 513 ExpectEventRecorded(kOmniboxFirstSearch, false); |
512 | 514 |
513 // Home page events. | 515 // Home page events. |
514 ExpectEventRecorded(kHomepageInstall, true); | 516 ExpectEventRecorded(kHomepageInstall, true); |
515 ExpectEventRecorded(kHomepageSetToGoogle, false); | 517 ExpectEventRecorded(kHomepageSetToGoogle, false); |
516 ExpectEventRecorded(kHomepageFirstSeach, false); | 518 ExpectEventRecorded(kHomepageFirstSeach, false); |
517 | 519 |
518 ExpectRlzPingSent(true); | 520 ExpectRlzPingSent(true); |
519 } | 521 } |
520 | 522 |
521 TEST_F(RlzLibTest, OmniboxUsageOnly) { | 523 TEST_F(RlzLibTest, OmniboxUsageOnly) { |
522 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 524 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
523 SimulateOmniboxUsage(); | 525 SimulateOmniboxUsage(); |
524 | 526 |
525 // Omnibox events. | 527 // Omnibox events. |
526 ExpectEventRecorded(kOmniboxInstall, false); | 528 ExpectEventRecorded(kOmniboxInstall, false); |
527 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 529 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
528 ExpectEventRecorded(kOmniboxFirstSearch, true); | 530 ExpectEventRecorded(kOmniboxFirstSearch, true); |
529 | 531 |
530 // Home page events. | 532 // Home page events. |
531 ExpectEventRecorded(kHomepageInstall, false); | 533 ExpectEventRecorded(kHomepageInstall, false); |
532 ExpectEventRecorded(kHomepageSetToGoogle, false); | 534 ExpectEventRecorded(kHomepageSetToGoogle, false); |
533 ExpectEventRecorded(kHomepageFirstSeach, false); | 535 ExpectEventRecorded(kHomepageFirstSeach, false); |
534 | 536 |
535 ExpectRlzPingSent(false); | 537 ExpectRlzPingSent(false); |
536 } | 538 } |
537 | 539 |
538 TEST_F(RlzLibTest, HomepageUsageOnly) { | 540 TEST_F(RlzLibTest, HomepageUsageOnly) { |
539 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 541 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
540 SimulateHomepageUsage(); | 542 SimulateHomepageUsage(); |
541 | 543 |
542 // Omnibox events. | 544 // Omnibox events. |
543 ExpectEventRecorded(kOmniboxInstall, false); | 545 ExpectEventRecorded(kOmniboxInstall, false); |
544 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 546 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
545 ExpectEventRecorded(kOmniboxFirstSearch, false); | 547 ExpectEventRecorded(kOmniboxFirstSearch, false); |
546 | 548 |
547 // Home page events. | 549 // Home page events. |
548 ExpectEventRecorded(kHomepageInstall, false); | 550 ExpectEventRecorded(kHomepageInstall, false); |
549 ExpectEventRecorded(kHomepageSetToGoogle, false); | 551 ExpectEventRecorded(kHomepageSetToGoogle, false); |
550 ExpectEventRecorded(kHomepageFirstSeach, true); | 552 ExpectEventRecorded(kHomepageFirstSeach, true); |
551 | 553 |
552 ExpectRlzPingSent(false); | 554 ExpectRlzPingSent(false); |
553 } | 555 } |
554 | 556 |
555 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { | 557 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { |
556 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 558 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
557 SimulateOmniboxUsage(); | 559 SimulateOmniboxUsage(); |
558 SimulateHomepageUsage(); | 560 SimulateHomepageUsage(); |
559 InvokeDelayedInit(); | 561 InvokeDelayedInit(); |
560 | 562 |
561 // Omnibox events. | 563 // Omnibox events. |
562 ExpectEventRecorded(kOmniboxInstall, true); | 564 ExpectEventRecorded(kOmniboxInstall, true); |
563 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 565 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
564 ExpectEventRecorded(kOmniboxFirstSearch, true); | 566 ExpectEventRecorded(kOmniboxFirstSearch, true); |
565 | 567 |
566 // Home page events. | 568 // Home page events. |
567 ExpectEventRecorded(kHomepageInstall, true); | 569 ExpectEventRecorded(kHomepageInstall, true); |
568 ExpectEventRecorded(kHomepageSetToGoogle, true); | 570 ExpectEventRecorded(kHomepageSetToGoogle, true); |
569 ExpectEventRecorded(kHomepageFirstSeach, true); | 571 ExpectEventRecorded(kHomepageFirstSeach, true); |
570 | 572 |
571 ExpectRlzPingSent(true); | 573 ExpectRlzPingSent(true); |
572 } | 574 } |
573 | 575 |
574 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { | 576 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { |
575 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 577 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
576 InvokeDelayedInit(); | 578 InvokeDelayedInit(); |
577 SimulateOmniboxUsage(); | 579 SimulateOmniboxUsage(); |
578 SimulateHomepageUsage(); | 580 SimulateHomepageUsage(); |
579 | 581 |
580 // Omnibox events. | 582 // Omnibox events. |
581 ExpectEventRecorded(kOmniboxInstall, true); | 583 ExpectEventRecorded(kOmniboxInstall, true); |
582 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 584 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
583 ExpectEventRecorded(kOmniboxFirstSearch, true); | 585 ExpectEventRecorded(kOmniboxFirstSearch, true); |
584 | 586 |
585 // Home page events. | 587 // Home page events. |
586 ExpectEventRecorded(kHomepageInstall, true); | 588 ExpectEventRecorded(kHomepageInstall, true); |
587 ExpectEventRecorded(kHomepageSetToGoogle, true); | 589 ExpectEventRecorded(kHomepageSetToGoogle, true); |
588 ExpectEventRecorded(kHomepageFirstSeach, true); | 590 ExpectEventRecorded(kHomepageFirstSeach, true); |
589 | 591 |
590 ExpectRlzPingSent(true); | 592 ExpectRlzPingSent(true); |
591 } | 593 } |
592 | 594 |
593 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenDelayNegative) { | 595 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenSendPingImmediately) { |
594 TestRLZTracker::InitRlzDelayed(true, -20, true, true, false); | 596 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); |
595 SimulateOmniboxUsage(); | 597 SimulateOmniboxUsage(); |
596 | 598 |
597 // Omnibox events. | 599 // Omnibox events. |
598 ExpectEventRecorded(kOmniboxInstall, true); | 600 ExpectEventRecorded(kOmniboxInstall, true); |
599 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 601 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
600 ExpectEventRecorded(kOmniboxFirstSearch, true); | 602 ExpectEventRecorded(kOmniboxFirstSearch, true); |
601 | 603 |
602 // Home page events. | 604 // Home page events. |
603 ExpectEventRecorded(kHomepageInstall, true); | 605 ExpectEventRecorded(kHomepageInstall, true); |
604 ExpectEventRecorded(kHomepageSetToGoogle, true); | 606 ExpectEventRecorded(kHomepageSetToGoogle, true); |
605 ExpectEventRecorded(kHomepageFirstSeach, false); | 607 ExpectEventRecorded(kHomepageFirstSeach, false); |
606 | 608 |
607 ExpectRlzPingSent(true); | 609 ExpectRlzPingSent(true); |
608 } | 610 } |
609 | 611 |
610 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenDelayNegative) { | 612 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenSendPingImmediately) { |
611 TestRLZTracker::InitRlzDelayed(true, -20, true, true, false); | 613 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); |
612 SimulateHomepageUsage(); | 614 SimulateHomepageUsage(); |
613 | 615 |
614 // Omnibox events. | 616 // Omnibox events. |
615 ExpectEventRecorded(kOmniboxInstall, false); | 617 ExpectEventRecorded(kOmniboxInstall, false); |
616 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 618 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
617 ExpectEventRecorded(kOmniboxFirstSearch, false); | 619 ExpectEventRecorded(kOmniboxFirstSearch, false); |
618 | 620 |
619 // Home page events. | 621 // Home page events. |
620 ExpectEventRecorded(kHomepageInstall, false); | 622 ExpectEventRecorded(kHomepageInstall, false); |
621 ExpectEventRecorded(kHomepageSetToGoogle, false); | 623 ExpectEventRecorded(kHomepageSetToGoogle, false); |
622 ExpectEventRecorded(kHomepageFirstSeach, true); | 624 ExpectEventRecorded(kHomepageFirstSeach, true); |
623 | 625 |
624 ExpectRlzPingSent(false); | 626 ExpectRlzPingSent(false); |
625 } | 627 } |
626 | 628 |
627 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenDelayNegative) { | 629 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenSendPingImmediately) { |
628 TestRLZTracker::InitRlzDelayed(true, -20, true, false, true); | 630 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, false, true); |
629 SimulateHomepageUsage(); | 631 SimulateHomepageUsage(); |
630 | 632 |
631 // Omnibox events. | 633 // Omnibox events. |
632 ExpectEventRecorded(kOmniboxInstall, false); | 634 ExpectEventRecorded(kOmniboxInstall, false); |
633 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 635 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
634 ExpectEventRecorded(kOmniboxFirstSearch, false); | 636 ExpectEventRecorded(kOmniboxFirstSearch, false); |
635 | 637 |
636 // Home page events. | 638 // Home page events. |
637 ExpectEventRecorded(kHomepageInstall, false); | 639 ExpectEventRecorded(kHomepageInstall, false); |
638 ExpectEventRecorded(kHomepageSetToGoogle, false); | 640 ExpectEventRecorded(kHomepageSetToGoogle, false); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
700 tracker_.set_assume_not_ui_thread(false); | 702 tracker_.set_assume_not_ui_thread(false); |
701 | 703 |
702 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); | 704 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); |
703 EXPECT_STREQ(kOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); | 705 EXPECT_STREQ(kOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); |
704 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( | 706 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( |
705 RLZTracker::CHROME_HOME_PAGE, &rlz)); | 707 RLZTracker::CHROME_HOME_PAGE, &rlz)); |
706 EXPECT_STREQ(kHomepageRlzString, UTF16ToUTF8(rlz).c_str()); | 708 EXPECT_STREQ(kHomepageRlzString, UTF16ToUTF8(rlz).c_str()); |
707 | 709 |
708 // Perform ping. | 710 // Perform ping. |
709 tracker_.set_assume_not_ui_thread(true); | 711 tracker_.set_assume_not_ui_thread(true); |
710 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 712 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
711 InvokeDelayedInit(); | 713 InvokeDelayedInit(); |
712 ExpectRlzPingSent(true); | 714 ExpectRlzPingSent(true); |
713 | 715 |
714 // Make sure cache is now updated. | 716 // Make sure cache is now updated. |
715 tracker_.set_assume_not_ui_thread(false); | 717 tracker_.set_assume_not_ui_thread(false); |
716 | 718 |
717 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); | 719 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); |
718 EXPECT_STREQ(kNewOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); | 720 EXPECT_STREQ(kNewOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); |
719 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( | 721 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( |
720 RLZTracker::CHROME_HOME_PAGE, &rlz)); | 722 RLZTracker::CHROME_HOME_PAGE, &rlz)); |
(...skipping 10 matching lines...) Expand all Loading... |
731 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, | 733 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, |
732 content::NotificationService::AllSources(), | 734 content::NotificationService::AllSources(), |
733 content::Details<NavigationEntry>(entry.get())); | 735 content::Details<NavigationEntry>(entry.get())); |
734 } | 736 } |
735 | 737 |
736 // TODO(thakis): Reactivation doesn't exist on Mac yet. | 738 // TODO(thakis): Reactivation doesn't exist on Mac yet. |
737 #if defined(OS_WIN) | 739 #if defined(OS_WIN) |
738 TEST_F(RlzLibTest, ReactivationNonOrganicNonOrganic) { | 740 TEST_F(RlzLibTest, ReactivationNonOrganicNonOrganic) { |
739 SetReactivationBrand("REAC"); | 741 SetReactivationBrand("REAC"); |
740 | 742 |
741 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 743 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
742 InvokeDelayedInit(); | 744 InvokeDelayedInit(); |
743 | 745 |
744 ExpectRlzPingSent(true); | 746 ExpectRlzPingSent(true); |
745 ExpectReactivationRlzPingSent(true); | 747 ExpectReactivationRlzPingSent(true); |
746 } | 748 } |
747 | 749 |
748 TEST_F(RlzLibTest, ReactivationOrganicNonOrganic) { | 750 TEST_F(RlzLibTest, ReactivationOrganicNonOrganic) { |
749 SetMainBrand("GGLS"); | 751 SetMainBrand("GGLS"); |
750 SetReactivationBrand("REAC"); | 752 SetReactivationBrand("REAC"); |
751 | 753 |
752 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 754 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
753 InvokeDelayedInit(); | 755 InvokeDelayedInit(); |
754 | 756 |
755 ExpectRlzPingSent(false); | 757 ExpectRlzPingSent(false); |
756 ExpectReactivationRlzPingSent(true); | 758 ExpectReactivationRlzPingSent(true); |
757 } | 759 } |
758 | 760 |
759 TEST_F(RlzLibTest, ReactivationNonOrganicOrganic) { | 761 TEST_F(RlzLibTest, ReactivationNonOrganicOrganic) { |
760 SetMainBrand("TEST"); | 762 SetMainBrand("TEST"); |
761 SetReactivationBrand("GGLS"); | 763 SetReactivationBrand("GGLS"); |
762 | 764 |
763 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 765 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
764 InvokeDelayedInit(); | 766 InvokeDelayedInit(); |
765 | 767 |
766 ExpectRlzPingSent(true); | 768 ExpectRlzPingSent(true); |
767 ExpectReactivationRlzPingSent(false); | 769 ExpectReactivationRlzPingSent(false); |
768 } | 770 } |
769 | 771 |
770 TEST_F(RlzLibTest, ReactivationOrganicOrganic) { | 772 TEST_F(RlzLibTest, ReactivationOrganicOrganic) { |
771 SetMainBrand("GGLS"); | 773 SetMainBrand("GGLS"); |
772 SetReactivationBrand("GGRS"); | 774 SetReactivationBrand("GGRS"); |
773 | 775 |
774 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 776 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
775 InvokeDelayedInit(); | 777 InvokeDelayedInit(); |
776 | 778 |
777 ExpectRlzPingSent(false); | 779 ExpectRlzPingSent(false); |
778 ExpectReactivationRlzPingSent(false); | 780 ExpectReactivationRlzPingSent(false); |
779 } | 781 } |
780 #endif // defined(OS_WIN) | 782 #endif // defined(OS_WIN) |
781 | 783 |
782 #if defined(OS_CHROMEOS) | 784 #if defined(OS_CHROMEOS) |
783 TEST_F(RlzLibTest, ClearRlzState) { | 785 TEST_F(RlzLibTest, ClearRlzState) { |
784 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, | 786 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, |
785 rlz_lib::FIRST_SEARCH); | 787 rlz_lib::FIRST_SEARCH); |
786 | 788 |
787 ExpectEventRecorded(kOmniboxFirstSearch, true); | 789 ExpectEventRecorded(kOmniboxFirstSearch, true); |
788 | 790 |
789 RLZTracker::ClearRlzState(); | 791 RLZTracker::ClearRlzState(); |
790 | 792 |
791 ExpectEventRecorded(kOmniboxFirstSearch, false); | 793 ExpectEventRecorded(kOmniboxFirstSearch, false); |
792 } | 794 } |
793 #endif // defined(OS_CHROMEOS) | 795 #endif // defined(OS_CHROMEOS) |
OLD | NEW |