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

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

Issue 11801015: Fix PromoResourceServiceTest.NotificationPromoTest and make it use dynamic [future] dates. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rsesek@ review Created 7 years, 11 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 | « no previous file | 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
diff --git a/chrome/browser/web_resource/promo_resource_service_unittest.cc b/chrome/browser/web_resource/promo_resource_service_unittest.cc
index 6ddadfaab98b207b38060a8b70a094ff34392f57..57dfad684a337efbf90759dbb1c0fc4b0d9f078a 100644
--- a/chrome/browser/web_resource/promo_resource_service_unittest.cc
+++ b/chrome/browser/web_resource/promo_resource_service_unittest.cc
@@ -2,11 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <utility>
#include <vector>
#include "base/json/json_reader.h"
#include "base/message_loop.h"
#include "base/string_number_conversions.h"
+#include "base/string_util.h"
#include "base/time.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
@@ -24,6 +26,37 @@
#include "content/public/browser/notification_service.h"
#include "net/url_request/test_url_fetcher_factory.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "unicode/smpdtfmt.h"
+
+namespace {
+
+const char kDateFormat[] = "dd MMM yyyy HH:mm:ss zzz";
+
+std::pair<double, std::string> YearFromNow() {
achuithb 2013/01/08 21:44:36 Please add a function comment explaining the retur
+ UErrorCode status = U_ZERO_ERROR;
+ icu::SimpleDateFormat simple_formatter(icu::UnicodeString(kDateFormat),
+ icu::Locale("en_US"),
+ status);
+ DCHECK(U_SUCCESS(status));
+
+ const double year_from_now =
+ (base::Time::Now() + base::TimeDelta::FromDays(365)).ToTimeT();
+
+ icu::UnicodeString date_unicode_string;
+ simple_formatter.format(static_cast<UDate>(year_from_now * 1000),
+ date_unicode_string,
+ status);
+ DCHECK(U_SUCCESS(status));
+
+ std::string date_string;
+ UTF16ToUTF8(date_unicode_string.getBuffer(),
+ static_cast<size_t>(date_unicode_string.length()),
+ &date_string);
+
+ return std::make_pair(year_from_now, date_string);
+}
+
+} // namespace
class PromoResourceServiceTest : public testing::Test {
public:
@@ -54,11 +87,18 @@ class NotificationPromoTest {
void Init(const std::string& json,
const std::string& promo_text,
- double start, double end,
+ double start,
int num_groups, int initial_segment, int increment,
int time_slice, int max_group, int max_views) {
- Value* value(base::JSONReader::Read(json));
+ std::pair<double, std::string> year_from_now = YearFromNow();
+ std::vector<std::string> replacements;
+ replacements.push_back(year_from_now.second);
+
+ std::string json_with_year(
+ ReplaceStringPlaceholders(json, replacements, NULL));
+ Value* value(base::JSONReader::Read(json_with_year));
ASSERT_TRUE(value);
+
DictionaryValue* dict = NULL;
value->GetAsDictionary(&dict);
ASSERT_TRUE(dict);
@@ -68,7 +108,7 @@ class NotificationPromoTest {
promo_text_ = promo_text;
start_ = start;
- end_ = end;
+ end_ = year_from_now.first;
num_groups_ = num_groups;
initial_segment_ = initial_segment;
@@ -319,14 +359,12 @@ class NotificationPromoTest {
// and CanShow() is handled correctly under variety of conditions.
// Additionally, test that the first string in |strings| is used if
// no payload.promo_short_message is specified in the JSON response.
-
-// hardcoded a date in Jan 2013. Srzly?? http://crbug.com/168561
-TEST_F(PromoResourceServiceTest, DISABLED_NotificationPromoTest) {
+TEST_F(PromoResourceServiceTest, NotificationPromoTest) {
// Check that prefs are set correctly.
NotificationPromoTest promo_test;
- // Set up start and end dates and promo line in a Dictionary as if parsed
- // from the service.
+ // Set up start date and promo line in a Dictionary as if parsed from the
+ // service. date[0].end is replaced with a date 1 year in the future.
promo_test.Init("{"
" \"ntp_notification_promo\": ["
" {"
@@ -334,7 +372,7 @@ TEST_F(PromoResourceServiceTest, DISABLED_NotificationPromoTest) {
" ["
" {"
" \"start\":\"3 Aug 1999 9:26:06 GMT\","
- " \"end\":\"7 Jan 2013 5:40:75 PST\""
+ " \"end\":\"$1\""
" }"
" ],"
" \"strings\":"
@@ -363,7 +401,6 @@ TEST_F(PromoResourceServiceTest, DISABLED_NotificationPromoTest) {
// The starting date is in 1999 to make tests pass
// on Android devices with incorrect or unset date/time.
933672366, // unix epoch for 3 Aug 1999 9:26:06 GMT.
- 1357566075, // unix epoch for 7 Jan 2013 5:40:75 PST.
1000, 200, 100, 3600, 400, 30);
promo_test.InitPromoFromJson(true);
@@ -388,8 +425,8 @@ TEST_F(PromoResourceServiceTest, NotificationPromoCompatNoStringsTest) {
// Check that prefs are set correctly.
NotificationPromoTest promo_test;
- // Set up start and end dates and promo line in a Dictionary as if parsed
- // from the service.
+ // Set up start date and promo line in a Dictionary as if parsed from the
+ // service. date[0].end is replaced with a date 1 year in the future.
promo_test.Init("{"
" \"ntp_notification_promo\": ["
" {"
@@ -397,7 +434,7 @@ TEST_F(PromoResourceServiceTest, NotificationPromoCompatNoStringsTest) {
" ["
" {"
" \"start\":\"3 Aug 1999 9:26:06 GMT\","
- " \"end\":\"7 Jan 2013 5:40:75 PST\""
+ " \"end\":\"$1\""
" }"
" ],"
" \"grouping\":"
@@ -423,7 +460,6 @@ TEST_F(PromoResourceServiceTest, NotificationPromoCompatNoStringsTest) {
// The starting date is in 1999 to make tests pass
// on Android devices with incorrect or unset date/time.
933672366, // unix epoch for 3 Aug 1999 9:26:06 GMT.
- 1357566075, // unix epoch for 7 Jan 2013 5:40:75 PST.
1000, 200, 100, 3600, 400, 30);
promo_test.InitPromoFromJson(true);
@@ -437,8 +473,8 @@ TEST_F(PromoResourceServiceTest, NotificationPromoCompatPayloadStringsTest) {
// Check that prefs are set correctly.
NotificationPromoTest promo_test;
- // Set up start and end dates and promo line in a Dictionary as if parsed
- // from the service.
+ // Set up start date and promo line in a Dictionary as if parsed from the
+ // service. date[0].end is replaced with a date 1 year in the future.
promo_test.Init("{"
" \"ntp_notification_promo\": ["
" {"
@@ -446,7 +482,7 @@ TEST_F(PromoResourceServiceTest, NotificationPromoCompatPayloadStringsTest) {
" ["
" {"
" \"start\":\"3 Aug 1999 9:26:06 GMT\","
- " \"end\":\"7 Jan 2013 5:40:75 PST\""
+ " \"end\":\"$1\""
" }"
" ],"
" \"grouping\":"
@@ -478,7 +514,6 @@ TEST_F(PromoResourceServiceTest, NotificationPromoCompatPayloadStringsTest) {
// The starting date is in 1999 to make tests pass
// on Android devices with incorrect or unset date/time.
933672366, // unix epoch for 3 Aug 1999 9:26:06 GMT.
- 1357566075, // unix epoch for 7 Jan 2013 5:40:75 PST.
1000, 200, 100, 3600, 400, 30);
promo_test.InitPromoFromJson(true);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698