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) { |