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

Unified Diff: chrome/browser/rlz/rlz_unittest.cc

Issue 7980013: After a successful ping of the RLZ server, make sure to update the cached (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/rlz/rlz.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « chrome/browser/rlz/rlz.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698