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

Unified Diff: chrome/browser/web_resource/promo_resource_service_unittest.cc

Issue 10496008: Purge legacy notification promo code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: rebase Created 8 years, 6 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/web_resource/promo_resource_service.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/web_resource/promo_resource_service_unittest.cc
===================================================================
--- chrome/browser/web_resource/promo_resource_service_unittest.cc (revision 140356)
+++ chrome/browser/web_resource/promo_resource_service_unittest.cc (working copy)
@@ -117,15 +117,13 @@
EXPECT_EQ(logo_end, 0); // date value reset to 0;
}
-class NotificationPromoTestDelegate : public NotificationPromo::Delegate {
+class NotificationPromoTest {
public:
- explicit NotificationPromoTestDelegate(Profile* profile)
+ explicit NotificationPromoTest(Profile* profile)
: profile_(profile),
prefs_(profile->GetPrefs()),
- notification_promo_(NULL),
+ notification_promo_(profile),
received_notification_(false),
- should_receive_notification_(false),
- build_targeted_(true),
start_(0.0),
end_(0.0),
num_groups_(0),
@@ -135,21 +133,15 @@
max_group_(0),
max_views_(0),
closed_(false),
- build_(PromoResourceService::NO_BUILD),
- platform_(NotificationPromo::PLATFORM_NONE),
- current_platform_(NotificationPromo::CurrentPlatform()),
gplus_required_(false) {
}
- void Init(NotificationPromo* notification_promo,
- const std::string& json,
+ void Init(const std::string& json,
const std::string& promo_text,
double start, double end,
int num_groups, int initial_segment, int increment,
int time_slice, int max_group, int max_views,
- int build, int platform, bool gplus_required) {
- notification_promo_ = notification_promo;
-
+ bool gplus_required) {
Value* value(base::JSONReader::Read(json));
ASSERT_TRUE(value);
DictionaryValue* dict = NULL;
@@ -170,45 +162,17 @@
max_views_ = max_views;
- build_ = build;
- platform_ = platform;
-
gplus_required_ = gplus_required;
closed_ = false;
received_notification_ = false;
}
- // NotificationPromo::Delegate implementation.
- virtual void OnNotificationParsed(double start, double end,
- bool new_notification) {
- if (should_receive_notification_) {
- EXPECT_EQ(notification_promo_->StartTimeForGroup(), start);
- EXPECT_EQ(notification_promo_->end_, end);
- }
+ void InitPromoFromJson(bool should_receive_notification) {
+ notification_promo_.InitFromJson(*test_json_);
+ EXPECT_EQ(should_receive_notification,
+ notification_promo_.new_notification());
- received_notification_ = new_notification;
- EXPECT_TRUE(received_notification_ == should_receive_notification_);
- }
-
- virtual bool IsBuildAllowed(int builds_targeted) const {
- EXPECT_EQ(builds_targeted, build_);
- return build_targeted_;
- }
-
- virtual int CurrentPlatform() const {
- return current_platform_;
- }
-
- void InitPromoFromJson(bool should_receive_notification, bool legacy) {
- should_receive_notification_ = should_receive_notification;
- received_notification_ = false;
- if (legacy)
- notification_promo_->InitFromJsonLegacy(*test_json_);
- else
- notification_promo_->InitFromJson(*test_json_);
- EXPECT_TRUE(received_notification_ == should_receive_notification);
-
// Test the fields.
TestNotification();
TestPrefs();
@@ -216,31 +180,28 @@
void TestNotification() {
// Check values.
- EXPECT_EQ(notification_promo_->promo_text_, promo_text_);
+ EXPECT_EQ(notification_promo_.promo_text_, promo_text_);
- EXPECT_EQ(notification_promo_->start_, start_);
- EXPECT_EQ(notification_promo_->end_, end_);
+ EXPECT_EQ(notification_promo_.start_, start_);
+ EXPECT_EQ(notification_promo_.end_, end_);
- EXPECT_EQ(notification_promo_->num_groups_, num_groups_);
- EXPECT_EQ(notification_promo_->initial_segment_, initial_segment_);
- EXPECT_EQ(notification_promo_->increment_, increment_);
- EXPECT_EQ(notification_promo_->time_slice_, time_slice_);
- EXPECT_EQ(notification_promo_->max_group_, max_group_);
+ EXPECT_EQ(notification_promo_.num_groups_, num_groups_);
+ EXPECT_EQ(notification_promo_.initial_segment_, initial_segment_);
+ EXPECT_EQ(notification_promo_.increment_, increment_);
+ EXPECT_EQ(notification_promo_.time_slice_, time_slice_);
+ EXPECT_EQ(notification_promo_.max_group_, max_group_);
- EXPECT_EQ(notification_promo_->max_views_, max_views_);
- EXPECT_EQ(notification_promo_->closed_, closed_);
+ EXPECT_EQ(notification_promo_.max_views_, max_views_);
+ EXPECT_EQ(notification_promo_.closed_, closed_);
// Check group within bounds.
- EXPECT_GE(notification_promo_->group_, 0);
- EXPECT_LT(notification_promo_->group_, num_groups_);
+ EXPECT_GE(notification_promo_.group_, 0);
+ EXPECT_LT(notification_promo_.group_, num_groups_);
// Views should be 0 for now.
- EXPECT_EQ(notification_promo_->views_, 0);
+ EXPECT_EQ(notification_promo_.views_, 0);
- EXPECT_EQ(notification_promo_->build_, build_);
- EXPECT_EQ(notification_promo_->platform_, platform_);
-
- EXPECT_EQ(notification_promo_->gplus_required_, gplus_required_);
+ EXPECT_EQ(notification_promo_.gplus_required_, gplus_required_);
}
void TestPrefs() {
@@ -260,323 +221,186 @@
EXPECT_EQ(prefs_->GetBoolean(prefs::kNtpPromoClosed), closed_);
EXPECT_EQ(prefs_->GetInteger(prefs::kNtpPromoGroup),
- notification_promo_ ? notification_promo_->group_: 0);
+ notification_promo_.group_);
EXPECT_EQ(prefs_->GetInteger(prefs::kNtpPromoViews), 0);
- EXPECT_EQ(prefs_->GetInteger(prefs::kNtpPromoBuild), build_);
- EXPECT_EQ(prefs_->GetInteger(prefs::kNtpPromoPlatform), platform_);
-
EXPECT_EQ(prefs_->GetBoolean(prefs::kNtpPromoGplusRequired),
- gplus_required_);
+ gplus_required_);
}
// Create a new NotificationPromo from prefs and compare to current
// notification.
void TestInitFromPrefs() {
- scoped_refptr<NotificationPromo> prefs_notification_promo =
- NotificationPromo::Create(profile_, this);
- prefs_notification_promo->InitFromPrefs();
+ NotificationPromo prefs_notification_promo(profile_);
+ prefs_notification_promo.InitFromPrefs();
- EXPECT_EQ(notification_promo_->prefs_,
- prefs_notification_promo->prefs_);
- EXPECT_EQ(notification_promo_->delegate_,
- prefs_notification_promo->delegate_);
- EXPECT_EQ(notification_promo_->promo_text_,
- prefs_notification_promo->promo_text_);
- EXPECT_EQ(notification_promo_->start_,
- prefs_notification_promo->start_);
- EXPECT_EQ(notification_promo_->end_,
- prefs_notification_promo->end_);
- EXPECT_EQ(notification_promo_->num_groups_,
- prefs_notification_promo->num_groups_);
- EXPECT_EQ(notification_promo_->initial_segment_,
- prefs_notification_promo->initial_segment_);
- EXPECT_EQ(notification_promo_->increment_,
- prefs_notification_promo->increment_);
- EXPECT_EQ(notification_promo_->time_slice_,
- prefs_notification_promo->time_slice_);
- EXPECT_EQ(notification_promo_->max_group_,
- prefs_notification_promo->max_group_);
- EXPECT_EQ(notification_promo_->max_views_,
- prefs_notification_promo->max_views_);
- EXPECT_EQ(notification_promo_->group_,
- prefs_notification_promo->group_);
- EXPECT_EQ(notification_promo_->views_,
- prefs_notification_promo->views_);
- EXPECT_EQ(notification_promo_->closed_,
- prefs_notification_promo->closed_);
- EXPECT_EQ(notification_promo_->build_,
- prefs_notification_promo->build_);
- EXPECT_EQ(notification_promo_->platform_,
- prefs_notification_promo->platform_);
- EXPECT_EQ(notification_promo_->gplus_required_,
- prefs_notification_promo->gplus_required_);
+ EXPECT_EQ(notification_promo_.prefs_,
+ prefs_notification_promo.prefs_);
+ EXPECT_EQ(notification_promo_.promo_text_,
+ prefs_notification_promo.promo_text_);
+ EXPECT_EQ(notification_promo_.start_,
+ prefs_notification_promo.start_);
+ EXPECT_EQ(notification_promo_.end_,
+ prefs_notification_promo.end_);
+ EXPECT_EQ(notification_promo_.num_groups_,
+ prefs_notification_promo.num_groups_);
+ EXPECT_EQ(notification_promo_.initial_segment_,
+ prefs_notification_promo.initial_segment_);
+ EXPECT_EQ(notification_promo_.increment_,
+ prefs_notification_promo.increment_);
+ EXPECT_EQ(notification_promo_.time_slice_,
+ prefs_notification_promo.time_slice_);
+ EXPECT_EQ(notification_promo_.max_group_,
+ prefs_notification_promo.max_group_);
+ EXPECT_EQ(notification_promo_.max_views_,
+ prefs_notification_promo.max_views_);
+ EXPECT_EQ(notification_promo_.group_,
+ prefs_notification_promo.group_);
+ EXPECT_EQ(notification_promo_.views_,
+ prefs_notification_promo.views_);
+ EXPECT_EQ(notification_promo_.closed_,
+ prefs_notification_promo.closed_);
+ EXPECT_EQ(notification_promo_.gplus_required_,
+ prefs_notification_promo.gplus_required_);
}
void TestGroup() {
// Test out of range groups.
const int incr = num_groups_ / 20;
for (int i = max_group_; i < num_groups_; i += incr) {
- notification_promo_->group_ = i;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.group_ = i;
+ EXPECT_FALSE(notification_promo_.CanShow());
}
// Test in-range groups.
for (int i = 0; i < max_group_; i += incr) {
- notification_promo_->group_ = i;
- EXPECT_TRUE(notification_promo_->CanShow());
+ notification_promo_.group_ = i;
+ EXPECT_TRUE(notification_promo_.CanShow());
}
}
void TestViews() {
// Test out of range views.
for (int i = max_views_; i < max_views_ * 2; ++i) {
- notification_promo_->views_ = i;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.views_ = i;
+ EXPECT_FALSE(notification_promo_.CanShow());
}
// Test in range views.
for (int i = 0; i < max_views_; ++i) {
- notification_promo_->views_ = i;
- EXPECT_TRUE(notification_promo_->CanShow());
+ notification_promo_.views_ = i;
+ EXPECT_TRUE(notification_promo_.CanShow());
}
}
- void TestBuild() {
- build_targeted_ = false;
- EXPECT_FALSE(notification_promo_->CanShow());
-
- build_targeted_ = true;
- EXPECT_TRUE(notification_promo_->CanShow());
- }
-
- void TestOnePlatform(int current_platform, bool expected) {
- current_platform_ = current_platform;
- EXPECT_EQ(expected, notification_promo_->CanShow());
- }
-
- void TestPlatformSet(int target_platform, bool expected_win,
- bool expected_mac, bool expected_linux, bool expected_chromeos) {
- notification_promo_->platform_ = target_platform;
- TestOnePlatform(NotificationPromo::PLATFORM_WIN, expected_win);
- TestOnePlatform(NotificationPromo::PLATFORM_MAC, expected_mac);
- TestOnePlatform(NotificationPromo::PLATFORM_LINUX, expected_linux);
- TestOnePlatform(NotificationPromo::PLATFORM_CHROMEOS, expected_chromeos);
- }
-
- void TestPlatforms() {
- int target_platform;
-
- // Windows and Mac only - test real current platform.
- target_platform = 3;
- notification_promo_->platform_ = target_platform;
- bool expected = false;
-#if defined(OS_WIN) || defined(OS_MACOSX)
- expected = true;
-#endif
- EXPECT_EQ(expected, notification_promo_->CanShow());
-
- // Windows only.
- target_platform = 1;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_WIN);
- TestPlatformSet(target_platform, true, false, false, false);
-
- // Mac only.
- target_platform = 2;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_MAC);
- TestPlatformSet(target_platform, false, true, false, false);
-
- // Linux only.
- target_platform = 4;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_LINUX);
- TestPlatformSet(target_platform, false, false, true, false);
-
- // ChromeOS only.
- target_platform = 8;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_CHROMEOS);
- TestPlatformSet(target_platform, false, false, false, true);
-
- // Non-Windows.
- target_platform = 14;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_ALL
- & ~NotificationPromo::PLATFORM_WIN);
- TestPlatformSet(target_platform, false, true, true, true);
-
- // Non-Mac.
- target_platform = 13;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_ALL
- & ~NotificationPromo::PLATFORM_MAC);
- TestPlatformSet(target_platform, true, false, true, true);
-
- // Non-Linux.
- target_platform = 11;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_ALL
- & ~NotificationPromo::PLATFORM_LINUX);
- TestPlatformSet(target_platform, true, true, false, true);
-
- // Non-ChromeOS.
- target_platform = 7;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_ALL
- & ~NotificationPromo::PLATFORM_CHROMEOS);
- TestPlatformSet(target_platform, true, true, true, false);
-
- // Windows and Mac.
- target_platform = 3;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_WIN
- | NotificationPromo::PLATFORM_MAC);
- TestPlatformSet(target_platform, true, true, false, false);
-
- // Windows and Linux.
- target_platform = 5;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_WIN
- | NotificationPromo::PLATFORM_LINUX);
- TestPlatformSet(target_platform, true, false, true, false);
-
- // Windows and ChromeOS.
- target_platform = 9;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_WIN
- | NotificationPromo::PLATFORM_CHROMEOS);
- TestPlatformSet(target_platform, true, false, false, true);
-
- // Mac and Linux.
- target_platform = 6;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_MAC
- | NotificationPromo::PLATFORM_LINUX);
- TestPlatformSet(target_platform, false, true, true, false);
-
- // Mac and ChromeOS.
- target_platform = 10;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_MAC
- | NotificationPromo::PLATFORM_CHROMEOS);
- TestPlatformSet(target_platform, false, true, false, true);
-
- // Linux and ChromeOS.
- target_platform = 12;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_LINUX
- | NotificationPromo::PLATFORM_CHROMEOS);
- TestPlatformSet(target_platform, false, false, true, true);
-
- // Disabled.
- target_platform = 0;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_NONE);
- TestPlatformSet(target_platform, false, false, false, false);
-
- // All platforms.
- target_platform = 15;
- EXPECT_EQ(target_platform, NotificationPromo::PLATFORM_ALL);
- TestPlatformSet(target_platform, true, true, true, true);
- }
-
void TestClosed() {
- notification_promo_->closed_ = true;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.closed_ = true;
+ EXPECT_FALSE(notification_promo_.CanShow());
- notification_promo_->closed_ = false;
- EXPECT_TRUE(notification_promo_->CanShow());
+ notification_promo_.closed_ = false;
+ EXPECT_TRUE(notification_promo_.CanShow());
}
void TestPromoText() {
- notification_promo_->promo_text_.clear();
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.promo_text_.clear();
+ EXPECT_FALSE(notification_promo_.CanShow());
- notification_promo_->promo_text_ = promo_text_;
- EXPECT_TRUE(notification_promo_->CanShow());
+ notification_promo_.promo_text_ = promo_text_;
+ EXPECT_TRUE(notification_promo_.CanShow());
}
void TestTime() {
const double now = base::Time::Now().ToDoubleT();
const double qhour = 15 * 60;
- notification_promo_->group_ = 0; // For simplicity.
+ notification_promo_.group_ = 0; // For simplicity.
- notification_promo_->start_ = now - qhour;
- notification_promo_->end_ = now + qhour;
- EXPECT_TRUE(notification_promo_->CanShow());
+ notification_promo_.start_ = now - qhour;
+ notification_promo_.end_ = now + qhour;
+ EXPECT_TRUE(notification_promo_.CanShow());
// Start time has not arrived.
- notification_promo_->start_ = now + qhour;
- notification_promo_->end_ = now + qhour;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.start_ = now + qhour;
+ notification_promo_.end_ = now + qhour;
+ EXPECT_FALSE(notification_promo_.CanShow());
// End time has past.
- notification_promo_->start_ = now - qhour;
- notification_promo_->end_ = now - qhour;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.start_ = now - qhour;
+ notification_promo_.end_ = now - qhour;
+ EXPECT_FALSE(notification_promo_.CanShow());
- notification_promo_->start_ = start_;
- notification_promo_->end_ = end_;
- EXPECT_TRUE(notification_promo_->CanShow());
+ notification_promo_.start_ = start_;
+ notification_promo_.end_ = end_;
+ EXPECT_TRUE(notification_promo_.CanShow());
}
void TestIncrement() {
const double now = base::Time::Now().ToDoubleT();
const double slice = 60;
- notification_promo_->num_groups_ = 18;
- notification_promo_->initial_segment_ = 5;
- notification_promo_->increment_ = 3;
- notification_promo_->time_slice_ = slice;
+ notification_promo_.num_groups_ = 18;
+ notification_promo_.initial_segment_ = 5;
+ notification_promo_.increment_ = 3;
+ notification_promo_.time_slice_ = slice;
- notification_promo_->start_ = now - 1;
- notification_promo_->end_ = now + slice;
+ notification_promo_.start_ = now - 1;
+ notification_promo_.end_ = now + slice;
// Test initial segment.
- notification_promo_->group_ = 4;
- EXPECT_TRUE(notification_promo_->CanShow());
- notification_promo_->group_ = 5;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.group_ = 4;
+ EXPECT_TRUE(notification_promo_.CanShow());
+ notification_promo_.group_ = 5;
+ EXPECT_FALSE(notification_promo_.CanShow());
// Test first increment.
- notification_promo_->start_ -= slice;
- notification_promo_->group_ = 7;
- EXPECT_TRUE(notification_promo_->CanShow());
- notification_promo_->group_ = 8;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.start_ -= slice;
+ notification_promo_.group_ = 7;
+ EXPECT_TRUE(notification_promo_.CanShow());
+ notification_promo_.group_ = 8;
+ EXPECT_FALSE(notification_promo_.CanShow());
// Test second increment.
- notification_promo_->start_ -= slice;
- notification_promo_->group_ = 10;
- EXPECT_TRUE(notification_promo_->CanShow());
- notification_promo_->group_ = 11;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.start_ -= slice;
+ notification_promo_.group_ = 10;
+ EXPECT_TRUE(notification_promo_.CanShow());
+ notification_promo_.group_ = 11;
+ EXPECT_FALSE(notification_promo_.CanShow());
// Test penultimate increment.
- notification_promo_->start_ -= 2 * slice;
- notification_promo_->group_ = 16;
- EXPECT_TRUE(notification_promo_->CanShow());
- notification_promo_->group_ = 17;
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.start_ -= 2 * slice;
+ notification_promo_.group_ = 16;
+ EXPECT_TRUE(notification_promo_.CanShow());
+ notification_promo_.group_ = 17;
+ EXPECT_FALSE(notification_promo_.CanShow());
// Test last increment.
- notification_promo_->start_ -= slice;
- EXPECT_TRUE(notification_promo_->CanShow());
+ notification_promo_.start_ -= slice;
+ EXPECT_TRUE(notification_promo_.CanShow());
}
void TestGplus() {
- notification_promo_->gplus_required_ = true;
+ notification_promo_.gplus_required_ = true;
// Test G+ required.
- notification_promo_->prefs_->SetBoolean(prefs::kIsGooglePlusUser, true);
- EXPECT_TRUE(notification_promo_->CanShow());
- notification_promo_->prefs_->SetBoolean(prefs::kIsGooglePlusUser, false);
- EXPECT_FALSE(notification_promo_->CanShow());
+ notification_promo_.prefs_->SetBoolean(prefs::kIsGooglePlusUser, true);
+ EXPECT_TRUE(notification_promo_.CanShow());
+ notification_promo_.prefs_->SetBoolean(prefs::kIsGooglePlusUser, false);
+ EXPECT_FALSE(notification_promo_.CanShow());
- notification_promo_->gplus_required_ = false;
+ notification_promo_.gplus_required_ = false;
// Test G+ not required.
- notification_promo_->prefs_->SetBoolean(prefs::kIsGooglePlusUser, true);
- EXPECT_TRUE(notification_promo_->CanShow());
- notification_promo_->prefs_->SetBoolean(prefs::kIsGooglePlusUser, false);
- EXPECT_TRUE(notification_promo_->CanShow());
+ notification_promo_.prefs_->SetBoolean(prefs::kIsGooglePlusUser, true);
+ EXPECT_TRUE(notification_promo_.CanShow());
+ notification_promo_.prefs_->SetBoolean(prefs::kIsGooglePlusUser, false);
+ EXPECT_TRUE(notification_promo_.CanShow());
}
private:
Profile* profile_;
PrefService* prefs_;
- NotificationPromo* notification_promo_;
+ NotificationPromo notification_promo_;
bool received_notification_;
- bool should_receive_notification_;
- bool build_targeted_;
scoped_ptr<DictionaryValue> test_json_;
std::string promo_text_;
@@ -594,201 +418,80 @@
bool closed_;
- int build_;
- int platform_;
- int current_platform_;
-
bool gplus_required_;
};
-TEST_F(PromoResourceServiceTest, NotificationPromoTestLegacy) {
- // Check that prefs are set correctly.
- PrefService* prefs = profile_.GetPrefs();
- ASSERT_TRUE(prefs != NULL);
-
- NotificationPromoTestDelegate delegate(&profile_);
- scoped_refptr<NotificationPromo> notification_promo =
- NotificationPromo::Create(&profile_, &delegate);
-
- // Make sure prefs are unset.
- delegate.TestPrefs();
-
- // Set up start and end dates and promo line in a Dictionary as if parsed
- // from the service.
- delegate.Init(notification_promo,
- "{ "
- " \"topic\": {"
- " \"answers\": ["
- " {"
- " \"name\": \"promo_start\","
- " \"question\": \"3:2:5:10:15:0\","
- " \"tooltip\": \"Eat more pie!\","
- " \"inproduct\": \"31/01/10 01:00 GMT\""
- " },"
- " {"
- " \"name\": \"promo_end\","
- " \"inproduct\": \"31/01/14 01:00 GMT\""
- " }"
- " ]"
- " }"
- "}",
- "Eat more pie!",
- 1264899600, // unix epoch for Jan 31 2010 0100 GMT.
- 1391130000, // unix epoch for Jan 31 2012 0100 GMT.
- 100, 0, 1, 2, 5, 10, 3, 15, false);
-
- delegate.InitPromoFromJson(true, true);
-
- // Second time should not trigger a notification.
- delegate.InitPromoFromJson(false, true);
-
- delegate.TestInitFromPrefs();
-
- // Test various conditions of CanShow.
- // TestGroup Has the side effect of setting us to a passing group.
- delegate.TestGroup();
- delegate.TestViews();
- delegate.TestBuild();
- delegate.TestClosed();
- delegate.TestPromoText();
- delegate.TestTime();
- delegate.TestPlatforms();
-}
-
TEST_F(PromoResourceServiceTest, NotificationPromoTest) {
// Check that prefs are set correctly.
PrefService* prefs = profile_.GetPrefs();
ASSERT_TRUE(prefs != NULL);
- NotificationPromoTestDelegate delegate(&profile_);
- scoped_refptr<NotificationPromo> notification_promo =
- NotificationPromo::Create(&profile_, &delegate);
+ NotificationPromoTest promo_test(&profile_);
// Make sure prefs are unset.
- delegate.TestPrefs();
+ promo_test.TestPrefs();
// Set up start and end dates and promo line in a Dictionary as if parsed
// from the service.
- delegate.Init(notification_promo,
- "{"
- " \"ntp_notification_promo\":"
- " {"
- " \"date\":"
- " ["
- " {"
- " \"start\":\"15 Jan 2012 10:50:85 PST\","
- " \"end\":\"7 Jan 2013 5:40:75 PST\""
- " }"
- " ],"
- " \"strings\":"
- " {"
- " \"NTP4_HOW_DO_YOU_FEEL_ABOUT_CHROME\":"
- " \"What do you think of Chrome?\""
- " },"
- " \"grouping\":"
- " {"
- " \"buckets\":1000,"
- " \"segment\":200,"
- " \"increment\":100,"
- " \"increment_frequency\":3600,"
- " \"increment_max\":400"
- " },"
- " \"payload\":"
- " {"
- " \"days_active\":7,"
- " \"install_age_days\":21,"
- " \"gplus_required\":false"
- " },"
- " \"max_views\":30"
- " }"
- "}",
- "What do you think of Chrome?",
- 1326653485, // unix epoch for 15 Jan 2012 10:50:85 PST.
- 1357566075, // unix epoch for 7 Jan 2013 5:40:75 PST.
- 1000, 200, 100, 3600, 400, 30, 15, 15, false);
+ promo_test.Init("{"
+ " \"ntp_notification_promo\":"
+ " {"
+ " \"date\":"
+ " ["
+ " {"
+ " \"start\":\"15 Jan 2012 10:50:85 PST\","
+ " \"end\":\"7 Jan 2013 5:40:75 PST\""
+ " }"
+ " ],"
+ " \"strings\":"
+ " {"
+ " \"NTP4_HOW_DO_YOU_FEEL_ABOUT_CHROME\":"
+ " \"What do you think of Chrome?\""
+ " },"
+ " \"grouping\":"
+ " {"
+ " \"buckets\":1000,"
+ " \"segment\":200,"
+ " \"increment\":100,"
+ " \"increment_frequency\":3600,"
+ " \"increment_max\":400"
+ " },"
+ " \"payload\":"
+ " {"
+ " \"days_active\":7,"
+ " \"install_age_days\":21,"
+ " \"gplus_required\":false"
+ " },"
+ " \"max_views\":30"
+ " }"
+ "}",
+ "What do you think of Chrome?",
+ 1326653485, // unix epoch for 15 Jan 2012 10:50:85 PST.
+ 1357566075, // unix epoch for 7 Jan 2013 5:40:75 PST.
+ 1000, 200, 100, 3600, 400, 30, false);
- delegate.InitPromoFromJson(true, false);
+ promo_test.InitPromoFromJson(true);
// Second time should not trigger a notification.
- delegate.InitPromoFromJson(false, false);
+ promo_test.InitPromoFromJson(false);
- delegate.TestInitFromPrefs();
+ promo_test.TestInitFromPrefs();
// Test various conditions of CanShow.
// TestGroup Has the side effect of setting us to a passing group.
- delegate.TestGroup();
- delegate.TestViews();
- delegate.TestBuild();
- delegate.TestClosed();
- delegate.TestPromoText();
- delegate.TestTime();
- delegate.TestIncrement();
- delegate.TestPlatforms();
- delegate.TestGplus();
+ promo_test.TestGroup();
+ promo_test.TestViews();
+ promo_test.TestClosed();
+ promo_test.TestPromoText();
+ promo_test.TestTime();
+ promo_test.TestIncrement();
+ promo_test.TestGplus();
}
-TEST_F(PromoResourceServiceTest, NotificationPromoTestFail) {
- // Check that prefs are set correctly.
- PrefService* prefs = profile_.GetPrefs();
- ASSERT_TRUE(prefs != NULL);
-
- NotificationPromoTestDelegate delegate(&profile_);
- scoped_refptr<NotificationPromo> notification_promo =
- NotificationPromo::Create(&profile_, &delegate);
-
- // Set up start and end dates and promo line in a Dictionary as if parsed
- // from the service.
- delegate.Init(notification_promo,
- "{ "
- " \"topic\": {"
- " \"answers\": ["
- " {"
- " \"name\": \"promo_start\","
- " \"question\": \"12:8:10:20:15\","
- " \"tooltip\": \"Happy 3rd Birthday!\","
- " \"inproduct\": \"09/15/10 05:00 PDT\""
- " },"
- " {"
- " \"name\": \"promo_end\","
- " \"inproduct\": \"09/30/10 05:00 PDT\""
- " }"
- " ]"
- " }"
- "}",
- "Happy 3rd Birthday!",
- 1284552000, // unix epoch for Sep 15 2010 0500 PDT.
- 1285848000, // unix epoch for Sep 30 2010 0500 PDT.
- 100, 0, 1, 8, 10, 20, 12, 15, false);
-
- delegate.InitPromoFromJson(true, true);
-
- // Second time should not trigger a notification.
- delegate.InitPromoFromJson(false, true);
-
- delegate.TestInitFromPrefs();
-
- // Should fail because out of time bounds.
- EXPECT_FALSE(notification_promo->CanShow());
-}
-
-TEST_F(PromoResourceServiceTest, GetNextQuestionValueTest) {
- const std::string question("0:-100:2048:0:0:0:2a");
- const int question_vec[] = { 0, -100, 2048, 0, 0, 0};
- size_t index = 0;
- bool err = false;
-
- for (size_t i = 0; i < arraysize(question_vec); ++i) {
- EXPECT_EQ(question_vec[i],
- NotificationPromo::GetNextQuestionValue(question, &index, &err));
- EXPECT_FALSE(err);
- }
- EXPECT_EQ(NotificationPromo::GetNextQuestionValue(question, &index, &err), 0);
- EXPECT_TRUE(err);
-}
-
TEST_F(PromoResourceServiceTest, PromoServerURLTest) {
GURL promo_server_url = NotificationPromo::PromoServerURL();
EXPECT_FALSE(promo_server_url.is_empty());
+ EXPECT_TRUE(promo_server_url.SchemeIs("https"));
// TODO(achuith): Test this better.
}
« no previous file with comments | « chrome/browser/web_resource/promo_resource_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698