| Index: chrome/browser/rlz/rlz_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/rlz/rlz_unittest.cc (revision 101949)
|
| +++ chrome/browser/rlz/rlz_unittest.cc (working copy)
|
| @@ -37,6 +37,8 @@
|
| // Dummy RLZ string for the access points.
|
| const char kOmniboxRlzString[] = "test_omnibox";
|
| const char kHomepageRlzString[] = "test_homepage";
|
| +const char kNewOmniboxRlzString[] = "new_omnibox";
|
| +const char kNewHomepageRlzString[] = "new_homepage";
|
|
|
| // Some helper macros to test it a string contains/does not contain a substring.
|
|
|
| @@ -81,7 +83,7 @@
|
| using RLZTracker::DelayedInit;
|
| using RLZTracker::Observe;
|
|
|
| - TestRLZTracker() : pingnow_called_(false), assume_io_thread_(false) {
|
| + TestRLZTracker() : pingnow_called_(false), assume_not_ui_thread_(false) {
|
| set_tracker(this);
|
| }
|
|
|
| @@ -93,14 +95,10 @@
|
| return pingnow_called_;
|
| }
|
|
|
| - bool assume_io_thread() const {
|
| - return assume_io_thread_;
|
| + void set_assume_not_ui_thread(bool assume_not_ui_thread) {
|
| + assume_not_ui_thread_ = assume_not_ui_thread;
|
| }
|
|
|
| - void set_assume_io_thread(bool assume_io_thread) {
|
| - assume_io_thread_ = assume_io_thread;
|
| - }
|
| -
|
| private:
|
| virtual void ScheduleDelayedInit(int delay) OVERRIDE {
|
| // If the delay is 0, invoke the delayed init now. Otherwise,
|
| @@ -114,7 +112,7 @@
|
| }
|
|
|
| virtual bool ScheduleGetAccessPointRlz(rlz_lib::AccessPoint point) OVERRIDE {
|
| - return !assume_io_thread_;
|
| + return !assume_not_ui_thread_;
|
| }
|
|
|
| virtual bool SendFinancialPing(const std::wstring& brand,
|
| @@ -123,11 +121,17 @@
|
| bool exclude_id) OVERRIDE {
|
| // Don't ping the server during tests.
|
| pingnow_called_ = true;
|
| +
|
| + // Set new access points RLZ string, like the actual server ping would have
|
| + // done.
|
| + rlz_lib::SetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, kNewOmniboxRlzString);
|
| + rlz_lib::SetAccessPointRlz(rlz_lib::CHROME_HOME_PAGE,
|
| + kNewHomepageRlzString);
|
| return true;
|
| }
|
|
|
| bool pingnow_called_;
|
| - bool assume_io_thread_;
|
| + bool assume_not_ui_thread_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TestRLZTracker);
|
| };
|
| @@ -465,7 +469,7 @@
|
|
|
| std::wstring rlz;
|
|
|
| - tracker_.set_assume_io_thread(true);
|
| + tracker_.set_assume_not_ui_thread(true);
|
| EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
| EXPECT_STREQ(kOmniboxRlzString, WideToUTF8(rlz).c_str());
|
| }
|
| @@ -476,7 +480,7 @@
|
|
|
| std::wstring rlz;
|
|
|
| - tracker_.set_assume_io_thread(false);
|
| + tracker_.set_assume_not_ui_thread(false);
|
| EXPECT_FALSE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
| }
|
|
|
| @@ -486,41 +490,54 @@
|
|
|
| std::wstring rlz;
|
|
|
| - tracker_.set_assume_io_thread(false);
|
| + tracker_.set_assume_not_ui_thread(false);
|
| EXPECT_FALSE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
|
|
| - tracker_.set_assume_io_thread(true);
|
| + tracker_.set_assume_not_ui_thread(true);
|
| EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
| EXPECT_STREQ(kOmniboxRlzString, WideToUTF8(rlz).c_str());
|
|
|
| - tracker_.set_assume_io_thread(false);
|
| + tracker_.set_assume_not_ui_thread(false);
|
| EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
| EXPECT_STREQ(kOmniboxRlzString, WideToUTF8(rlz).c_str());
|
| }
|
|
|
| -TEST_F(RlzLibTest, PingInvalidatesRlzCache) {
|
| +TEST_F(RlzLibTest, PingUpdatesRlzCache) {
|
| // Set dummy RLZ string.
|
| rlz_lib::SetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, kOmniboxRlzString);
|
| + rlz_lib::SetAccessPointRlz(rlz_lib::CHROME_HOME_PAGE, kHomepageRlzString);
|
|
|
| std::wstring rlz;
|
|
|
| // Prime the cache.
|
| - tracker_.set_assume_io_thread(true);
|
| + tracker_.set_assume_not_ui_thread(true);
|
| +
|
| EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
| EXPECT_STREQ(kOmniboxRlzString, WideToUTF8(rlz).c_str());
|
| + EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_HOME_PAGE, &rlz));
|
| + EXPECT_STREQ(kHomepageRlzString, WideToUTF8(rlz).c_str());
|
|
|
| // Make sure cache is valid.
|
| - tracker_.set_assume_io_thread(false);
|
| + tracker_.set_assume_not_ui_thread(false);
|
| +
|
| EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
| EXPECT_STREQ(kOmniboxRlzString, WideToUTF8(rlz).c_str());
|
| + EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_HOME_PAGE, &rlz));
|
| + EXPECT_STREQ(kHomepageRlzString, WideToUTF8(rlz).c_str());
|
|
|
| // Perform ping.
|
| + tracker_.set_assume_not_ui_thread(true);
|
| RLZTracker::InitRlzDelayed(true, 20, true, true);
|
| InvokeDelayedInit();
|
| ExpectRlzPingSent(true);
|
|
|
| - // Make sure cache is now invalid.
|
| - EXPECT_FALSE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
| + // Make sure cache is now updated.
|
| + tracker_.set_assume_not_ui_thread(false);
|
| +
|
| + EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_OMNIBOX, &rlz));
|
| + EXPECT_STREQ(kNewOmniboxRlzString, WideToUTF8(rlz).c_str());
|
| + EXPECT_TRUE(RLZTracker::GetAccessPointRlz(rlz_lib::CHROME_HOME_PAGE, &rlz));
|
| + EXPECT_STREQ(kNewHomepageRlzString, WideToUTF8(rlz).c_str());
|
| }
|
|
|
| TEST_F(RlzLibTest, ObserveHandlesBadArgs) {
|
|
|