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

Unified Diff: ui/base/l10n/time_format_unittest.cc

Issue 147443007: Add support for localized time strings with two units, eg. "2 hours 17 minutes" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More cleanup and documentation Created 6 years, 10 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
Index: ui/base/l10n/time_format_unittest.cc
diff --git a/ui/base/l10n/time_format_unittest.cc b/ui/base/l10n/time_format_unittest.cc
index 4d6dbb7d154197e95547a7ec3f9bceeaef6badd6..c1c1e4fad9f8c3795a38f12bf07c03338ab6542f 100644
--- a/ui/base/l10n/time_format_unittest.cc
+++ b/ui/base/l10n/time_format_unittest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#define TIME_FORMAT_UNITTEST 1
bartfab (slow) 2014/02/18 12:04:04 There is no precedent for such a construct in Chro
Thiemo Nagel 2014/02/19 17:08:44 Done.
#include "ui/base/l10n/time_format.h"
#include "base/files/file_path.h"
@@ -9,6 +10,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/base/l10n/formatter.h"
#include "ui/base/resource/resource_bundle.h"
using base::ASCIIToUTF16;
@@ -18,17 +20,176 @@ namespace {
using base::TimeDelta;
-class TimeFormatTest : public ::testing::Test {
+// Subclass TimeFormat to get unqualified access to its methods.
+class TimeFormatTest : public ::testing::Test, public TimeFormat {
bartfab (slow) 2014/02/18 12:04:04 I do not think that is the right way of doing thin
Thiemo Nagel 2014/02/19 17:08:44 Done.
public:
- static void SetUpTestCase() {
+ TimeFormatTest() :
+ delta_0s(TimeDelta::FromSeconds(0)),
bartfab (slow) 2014/02/18 12:04:04 Nit: Why are these member variables? Why not just
Thiemo Nagel 2014/02/19 17:08:44 Some are used in multiple places, others are quite
+ delta_1ms(TimeDelta::FromMilliseconds(1)),
+ delta_499ms(TimeDelta::FromMilliseconds(499)),
+ delta_500ms(TimeDelta::FromMilliseconds(500)),
+ delta_999ms(TimeDelta::FromMilliseconds(999)),
+ delta_1s(TimeDelta::FromSeconds(1)),
+ delta_1s499ms(delta_1s + delta_499ms),
+ delta_1s500ms(delta_1s + delta_500ms),
+ delta_2s(TimeDelta::FromSeconds(2)),
+ delta_29s(TimeDelta::FromSeconds(29)),
+ delta_30s(TimeDelta::FromSeconds(30)),
+ delta_59s(TimeDelta::FromSeconds(59)),
+ delta_59s499ms(delta_59s + delta_499ms),
+ delta_59s500ms(delta_59s + delta_500ms),
+ delta_1m(TimeDelta::FromMinutes(1)),
+ delta_1m2s(delta_1m + delta_2s),
+ delta_1m29s999ms(delta_1m + delta_29s + delta_999ms),
+ delta_1m30s(delta_1m + delta_30s),
+ delta_2m(TimeDelta::FromMinutes(2)),
+ delta_2m1s(delta_2m + delta_1s),
+ delta_29m(TimeDelta::FromMinutes(29)),
+ delta_30m(TimeDelta::FromMinutes(30)),
+ delta_59m(TimeDelta::FromMinutes(59)),
+ delta_59m29s999ms(delta_59m + delta_29s + delta_999ms),
+ delta_59m30s(delta_59m + delta_30s),
+ delta_59m59s499ms(delta_59m + delta_59s + delta_499ms),
+ delta_59m59s500ms(delta_59m + delta_59s + delta_500ms),
+ delta_1h(TimeDelta::FromHours(1)),
+ delta_1h2m(delta_1h + delta_2m),
+ delta_1h29m59s999ms(delta_1h + delta_29m + delta_59s + delta_999ms),
+ delta_1h30m(delta_1h + delta_30m),
+ delta_2h(TimeDelta::FromHours(2)),
+ delta_2h1m(delta_2h + delta_1m),
+ delta_11h(TimeDelta::FromHours(11)),
+ delta_12h(TimeDelta::FromHours(12)),
+ delta_23h(TimeDelta::FromHours(23)),
+ delta_23h29m59s999ms(delta_23h + delta_29m + delta_59s + delta_999ms),
+ delta_23h30m(delta_23h + delta_30m),
+ delta_23h59m29s999ms(delta_23h + delta_59m + delta_29s + delta_999ms),
+ delta_23h59m30s(delta_23h + delta_59m + delta_30s),
+ delta_1d(TimeDelta::FromDays(1)),
+ delta_1d2h(delta_1d + delta_2h),
+ delta_1d11h59m59s999ms(delta_1d + delta_11h + delta_59m + delta_29s +
+ delta_999ms),
+ delta_1d12h(delta_1d + delta_12h),
+ delta_2d(TimeDelta::FromDays(2)),
+ delta_2d1h(delta_2d + delta_1h) {
LoadLocale(ui::ResourceBundle::GetSharedInstance()
bartfab (slow) 2014/02/18 12:04:04 Nit: Setup and cleanup should be happening in SetU
Thiemo Nagel 2014/02/19 17:08:44 Done.
.GetLocaleFilePath("en-US", true));
}
- static void TearDownTestCase() {
+ virtual ~TimeFormatTest() {
bartfab (slow) 2014/02/18 12:04:04 Nit: Setup and cleanup should be happening in SetU
Thiemo Nagel 2014/02/19 17:08:44 Done.
LoadLocale(base::FilePath());
}
+ protected:
+ void TestStrings(const FormatterContainer& container) {
bartfab (slow) 2014/02/18 12:04:04 Nit: Helper functions like this one are not a good
Thiemo Nagel 2014/02/19 17:08:44 I try to avoid duplicating code as it is burdensom
bartfab (slow) 2014/02/20 16:31:22 I agree in general but I have been bitten by this
Thiemo Nagel 2014/02/22 21:44:09 Thanks! I did it that way.
+ // Test English strings (simple, singular).
+ EXPECT_EQ(ASCIIToUTF16("1 sec"),
+ SimpleForTesting(container, kDuration, kShort, delta_1s));
+ EXPECT_EQ(ASCIIToUTF16("1 min"),
+ SimpleForTesting(container, kDuration, kShort, delta_1m));
+ EXPECT_EQ(ASCIIToUTF16("1 hour"),
+ SimpleForTesting(container, kDuration, kShort, delta_1h));
+ EXPECT_EQ(ASCIIToUTF16("1 day"),
+ SimpleForTesting(container, kDuration, kShort, delta_1d));
+ EXPECT_EQ(ASCIIToUTF16("1 second"),
+ SimpleForTesting(container, kDuration, kLong, delta_1s));
+ EXPECT_EQ(ASCIIToUTF16("1 minute"),
+ SimpleForTesting(container, kDuration, kLong, delta_1m));
+ EXPECT_EQ(ASCIIToUTF16("1 hour"),
+ SimpleForTesting(container, kDuration, kLong, delta_1h));
+ EXPECT_EQ(ASCIIToUTF16("1 day"),
+ SimpleForTesting(container, kDuration, kLong, delta_1d));
+ EXPECT_EQ(ASCIIToUTF16("1 sec left"),
+ SimpleForTesting(container, kRemaining, kShort, delta_1s));
+ EXPECT_EQ(ASCIIToUTF16("1 min left"),
+ SimpleForTesting(container, kRemaining, kShort, delta_1m));
+ EXPECT_EQ(ASCIIToUTF16("1 hour left"),
+ SimpleForTesting(container, kRemaining, kShort, delta_1h));
+ EXPECT_EQ(ASCIIToUTF16("1 day left"),
+ SimpleForTesting(container, kRemaining, kShort, delta_1d));
+ EXPECT_EQ(ASCIIToUTF16("1 second left"),
+ SimpleForTesting(container, kRemaining, kLong, delta_1s));
+ EXPECT_EQ(ASCIIToUTF16("1 minute left"),
+ SimpleForTesting(container, kRemaining, kLong, delta_1m));
+ EXPECT_EQ(ASCIIToUTF16("1 hour left"),
+ SimpleForTesting(container, kRemaining, kLong, delta_1h));
+ EXPECT_EQ(ASCIIToUTF16("1 day left"),
+ SimpleForTesting(container, kRemaining, kLong, delta_1d));
+ EXPECT_EQ(ASCIIToUTF16("1 sec ago"),
+ SimpleForTesting(container, kElapsed, kShort, delta_1s));
+ EXPECT_EQ(ASCIIToUTF16("1 min ago"),
+ SimpleForTesting(container, kElapsed, kShort, delta_1m));
+ EXPECT_EQ(ASCIIToUTF16("1 hour ago"),
+ SimpleForTesting(container, kElapsed, kShort, delta_1h));
+ EXPECT_EQ(ASCIIToUTF16("1 day ago"),
+ SimpleForTesting(container, kElapsed, kShort, delta_1d));
+
+ // Test English strings (simple, plural).
+ EXPECT_EQ(ASCIIToUTF16("2 secs"),
+ SimpleForTesting(container, kDuration, kShort, delta_2s));
+ EXPECT_EQ(ASCIIToUTF16("2 mins"),
+ SimpleForTesting(container, kDuration, kShort, delta_2m));
+ EXPECT_EQ(ASCIIToUTF16("2 hours"),
+ SimpleForTesting(container, kDuration, kShort, delta_2h));
+ EXPECT_EQ(ASCIIToUTF16("2 days"),
+ SimpleForTesting(container, kDuration, kShort, delta_2d));
+ EXPECT_EQ(ASCIIToUTF16("2 seconds"),
+ SimpleForTesting(container, kDuration, kLong, delta_2s));
+ EXPECT_EQ(ASCIIToUTF16("2 minutes"),
+ SimpleForTesting(container, kDuration, kLong, delta_2m));
+ EXPECT_EQ(ASCIIToUTF16("2 hours"),
+ SimpleForTesting(container, kDuration, kLong, delta_2h));
+ EXPECT_EQ(ASCIIToUTF16("2 days"),
+ SimpleForTesting(container, kDuration, kLong, delta_2d));
+ EXPECT_EQ(ASCIIToUTF16("2 secs left"),
+ SimpleForTesting(container, kRemaining, kShort, delta_2s));
+ EXPECT_EQ(ASCIIToUTF16("2 mins left"),
+ SimpleForTesting(container, kRemaining, kShort, delta_2m));
+ EXPECT_EQ(ASCIIToUTF16("2 hours left"),
+ SimpleForTesting(container, kRemaining, kShort, delta_2h));
+ EXPECT_EQ(ASCIIToUTF16("2 days left"),
+ SimpleForTesting(container, kRemaining, kShort, delta_2d));
+ EXPECT_EQ(ASCIIToUTF16("2 seconds left"),
+ SimpleForTesting(container, kRemaining, kLong, delta_2s));
+ EXPECT_EQ(ASCIIToUTF16("2 minutes left"),
+ SimpleForTesting(container, kRemaining, kLong, delta_2m));
+ EXPECT_EQ(ASCIIToUTF16("2 hours left"),
+ SimpleForTesting(container, kRemaining, kLong, delta_2h));
+ EXPECT_EQ(ASCIIToUTF16("2 days left"),
+ SimpleForTesting(container, kRemaining, kLong, delta_2d));
+ EXPECT_EQ(ASCIIToUTF16("2 secs ago"),
+ SimpleForTesting(container, kElapsed, kShort, delta_2s));
+ EXPECT_EQ(ASCIIToUTF16("2 mins ago"),
+ SimpleForTesting(container, kElapsed, kShort, delta_2m));
+ EXPECT_EQ(ASCIIToUTF16("2 hours ago"),
+ SimpleForTesting(container, kElapsed, kShort, delta_2h));
+ EXPECT_EQ(ASCIIToUTF16("2 days ago"),
+ SimpleForTesting(container, kElapsed, kShort, delta_2d));
+
+ // Test English strings (detailed, singular and plural).
+ EXPECT_EQ(ASCIIToUTF16("1 minute 2 seconds"),
+ Detailed(kDuration, kLong, 3, delta_1m2s));
+ EXPECT_EQ(ASCIIToUTF16("2 minutes 1 second"),
+ Detailed(kDuration, kLong, 3, delta_2m1s));
+ EXPECT_EQ(ASCIIToUTF16("1 hour 2 minutes"),
+ Detailed(kDuration, kLong, 3, delta_1h2m));
+ EXPECT_EQ(ASCIIToUTF16("2 hours 1 minute"),
+ Detailed(kDuration, kLong, 3, delta_2h1m));
+ EXPECT_EQ(ASCIIToUTF16("1 day 2 hours"),
+ Detailed(kDuration, kLong, 3, delta_1d2h));
+ EXPECT_EQ(ASCIIToUTF16("2 days 1 hour"),
+ Detailed(kDuration, kLong, 3, delta_2d1h));
+ }
+
+ TimeDelta delta_0s, delta_1ms, delta_499ms, delta_500ms, delta_999ms,
bartfab (slow) 2014/02/18 12:04:04 Nit 1: Members should end with trailing underscore
Thiemo Nagel 2014/02/19 17:08:44 Done.
+ delta_1s, delta_1s499ms, delta_1s500ms, delta_2s, delta_29s, delta_30s,
+ delta_59s, delta_59s499ms, delta_59s500ms, delta_1m, delta_1m2s,
+ delta_1m29s999ms, delta_1m30s, delta_2m, delta_2m1s, delta_29m, delta_30m,
+ delta_59m, delta_59m29s999ms, delta_59m30s, delta_59m59s499ms,
+ delta_59m59s500ms, delta_1h, delta_1h2m, delta_1h29m59s999ms, delta_1h30m,
+ delta_2h, delta_2h1m, delta_11h, delta_12h, delta_23h, delta_23h29m59s999ms,
+ delta_23h30m, delta_23h59m29s999ms, delta_23h59m30s, delta_1d, delta_1d2h,
+ delta_1d11h59m59s999ms, delta_1d12h, delta_2d, delta_2d1h;
+
private:
static void LoadLocale(const base::FilePath& file_path) {
ui::ResourceBundle::GetSharedInstance().OverrideLocalePakForTest(file_path);
@@ -36,74 +197,79 @@ class TimeFormatTest : public ::testing::Test {
}
};
-void TestTimeFormats(const TimeDelta& delta, const char* expected_ascii) {
- base::string16 expected = ASCIIToUTF16(expected_ascii);
- base::string16 expected_left = expected + ASCIIToUTF16(" left");
- base::string16 expected_ago = expected + ASCIIToUTF16(" ago");
- EXPECT_EQ(expected, TimeFormat::TimeDurationShort(delta));
- EXPECT_EQ(expected_left, TimeFormat::TimeRemaining(delta));
- EXPECT_EQ(expected_ago, TimeFormat::TimeElapsed(delta));
-}
+TEST_F(TimeFormatTest, SimpleAndDetailed) {
+ // Test rounding behaviour (simple).
bartfab (slow) 2014/02/18 12:04:04 Nit: s/behaviour/behavior/
Thiemo Nagel 2014/02/19 17:08:44 Done.
+ EXPECT_EQ(ASCIIToUTF16("0 secs"), Simple(kDuration, kShort, delta_0s));
+ EXPECT_EQ(ASCIIToUTF16("0 secs"), Simple(kDuration, kShort, delta_499ms));
+ EXPECT_EQ(ASCIIToUTF16("1 sec"), Simple(kDuration, kShort, delta_500ms));
+ EXPECT_EQ(ASCIIToUTF16("1 sec"), Simple(kDuration, kShort, delta_1s499ms));
+ EXPECT_EQ(ASCIIToUTF16("2 secs"), Simple(kDuration, kShort, delta_1s500ms));
+ EXPECT_EQ(ASCIIToUTF16("59 secs"), Simple(kDuration, kShort, delta_59s499ms));
+ EXPECT_EQ(ASCIIToUTF16("1 min"), Simple(kDuration, kShort, delta_59s500ms));
+ EXPECT_EQ(ASCIIToUTF16("1 min"), Simple(kDuration, kShort, delta_1m29s999ms));
+ EXPECT_EQ(ASCIIToUTF16("2 mins"), Simple(kDuration, kShort, delta_1m30s));
+ EXPECT_EQ(ASCIIToUTF16("59 mins"),
+ Simple(kDuration, kShort, delta_59m29s999ms));
+ EXPECT_EQ(ASCIIToUTF16("1 hour"), Simple(kDuration, kShort, delta_59m30s));
+ EXPECT_EQ(ASCIIToUTF16("1 hour"),
+ Simple(kDuration, kShort, delta_1h29m59s999ms));
+ EXPECT_EQ(ASCIIToUTF16("2 hours"), Simple(kDuration, kShort, delta_1h30m));
+ EXPECT_EQ(ASCIIToUTF16("23 hours"),
+ Simple(kDuration, kShort, delta_23h29m59s999ms));
+ EXPECT_EQ(ASCIIToUTF16("1 day"), Simple(kDuration, kShort, delta_23h30m));
+ EXPECT_EQ(ASCIIToUTF16("1 day"),
+ Simple(kDuration, kShort, delta_1d11h59m59s999ms));
+ EXPECT_EQ(ASCIIToUTF16("2 days"), Simple(kDuration, kShort, delta_1d12h));
-TEST_F(TimeFormatTest, FormatTime) {
- const TimeDelta one_day = TimeDelta::FromDays(1);
- const TimeDelta one_hour = TimeDelta::FromHours(1);
- const TimeDelta one_min = TimeDelta::FromMinutes(1);
- const TimeDelta one_second = TimeDelta::FromSeconds(1);
- const TimeDelta one_millisecond = TimeDelta::FromMilliseconds(1);
- const TimeDelta zero = TimeDelta::FromMilliseconds(0);
-
- TestTimeFormats(zero, "0 secs");
- TestTimeFormats(499 * one_millisecond, "0 secs");
- TestTimeFormats(500 * one_millisecond, "1 sec");
- TestTimeFormats(1 * one_second + 499 * one_millisecond, "1 sec");
- TestTimeFormats(1 * one_second + 500 * one_millisecond, "2 secs");
- TestTimeFormats(59 * one_second + 499 * one_millisecond, "59 secs");
- TestTimeFormats(59 * one_second + 500 * one_millisecond, "1 min");
- TestTimeFormats(1 * one_min + 30 * one_second - one_millisecond, "1 min");
- TestTimeFormats(1 * one_min + 30 * one_second, "2 mins");
- TestTimeFormats(59 * one_min + 30 * one_second - one_millisecond, "59 mins");
- TestTimeFormats(59 * one_min + 30 * one_second, "1 hour");
- TestTimeFormats(1 * one_hour + 30 * one_min - one_millisecond, "1 hour");
- TestTimeFormats(1 * one_hour + 30 * one_min, "2 hours");
- TestTimeFormats(23 * one_hour + 30 * one_min - one_millisecond, "23 hours");
- TestTimeFormats(23 * one_hour + 30 * one_min, "1 day");
- TestTimeFormats(1 * one_day + 12 * one_hour - one_millisecond, "1 day");
- TestTimeFormats(1 * one_day + 12 * one_hour, "2 days");
-}
+ // Test rounding behaviour (detailed).
+ EXPECT_EQ(ASCIIToUTF16("59 seconds"),
+ Detailed(kDuration, kLong, 100, delta_59s499ms));
+ EXPECT_EQ(ASCIIToUTF16("1 minute 0 seconds"),
+ Detailed(kDuration, kLong, 2, delta_59s500ms));
+ EXPECT_EQ(ASCIIToUTF16("1 minute"),
+ Detailed(kDuration, kLong, 1, delta_59s500ms));
+ EXPECT_EQ(ASCIIToUTF16("59 minutes 59 seconds"),
+ Detailed(kDuration, kLong, 60, delta_59m59s499ms));
+ EXPECT_EQ(ASCIIToUTF16("1 hour 0 minutes"),
+ Detailed(kDuration, kLong, 59, delta_59m59s499ms));
+ EXPECT_EQ(ASCIIToUTF16("1 hour 0 minutes"),
+ Detailed(kDuration, kLong, 2, delta_59m59s499ms));
+ EXPECT_EQ(ASCIIToUTF16("1 hour"),
+ Detailed(kDuration, kLong, 1, delta_59m59s499ms));
+ EXPECT_EQ(ASCIIToUTF16("1 hour"),
+ Detailed(kDuration, kLong, 1, delta_59m59s500ms));
+ EXPECT_EQ(ASCIIToUTF16("1 hour 0 minutes"),
+ Detailed(kDuration, kLong, 2, delta_59m59s500ms));
+ EXPECT_EQ(ASCIIToUTF16("23 hours 59 minutes"),
+ Detailed(kDuration, kLong, 24, delta_23h59m29s999ms));
+ EXPECT_EQ(ASCIIToUTF16("1 day 0 hours"),
+ Detailed(kDuration, kLong, 23, delta_23h59m29s999ms));
+ EXPECT_EQ(ASCIIToUTF16("1 day 0 hours"),
+ Detailed(kDuration, kLong, 2, delta_23h59m29s999ms));
+ EXPECT_EQ(ASCIIToUTF16("1 day"),
+ Detailed(kDuration, kLong, 1, delta_23h59m29s999ms));
+ EXPECT_EQ(ASCIIToUTF16("1 day"),
+ Detailed(kDuration, kLong, 1, delta_23h59m30s));
+ EXPECT_EQ(ASCIIToUTF16("1 day 0 hours"),
+ Detailed(kDuration, kLong, 2, delta_23h59m30s));
-void TestRemainingLong(const TimeDelta& delta, const std::string& expected) {
- EXPECT_EQ(TimeFormat::TimeRemainingLong(delta), ASCIIToUTF16(expected));
-}
+ // Test fallback path in case of translator error.
+ FormatterContainer::SetFallbackForTesting(true);
+ FormatterContainer test_container;
+ TestStrings(test_container);
+
+ // Test default code path.
+ FormatterContainer::SetFallbackForTesting(false);
+ FormatterContainer prod_like_container;
+ TestStrings(prod_like_container);
-TEST_F(TimeFormatTest, TimeRemainingLong) {
- const TimeDelta one_day(TimeDelta::FromDays(1));
- const TimeDelta one_hour(TimeDelta::FromHours(1));
- const TimeDelta one_min(TimeDelta::FromMinutes(1));
- const TimeDelta one_second(TimeDelta::FromSeconds(1));
- const TimeDelta one_millisecond(TimeDelta::FromMilliseconds(1));
- const TimeDelta zero(TimeDelta::FromMilliseconds(0));
-
- TestRemainingLong(zero, "0 seconds left");
- TestRemainingLong(499 * one_millisecond, "0 seconds left");
- TestRemainingLong(500 * one_millisecond, "1 second left");
- TestRemainingLong(one_second + 499 * one_millisecond, "1 second left");
- TestRemainingLong(one_second + 500 * one_millisecond, "2 seconds left");
- TestRemainingLong(59 * one_second + 499 * one_millisecond, "59 seconds left");
- TestRemainingLong(59 * one_second + 500 * one_millisecond, "1 minute left");
- TestRemainingLong(one_min + 30 * one_second - one_millisecond,
- "1 minute left");
- TestRemainingLong(one_min + 30 * one_second, "2 minutes left");
- TestRemainingLong(59 * one_min + 30 * one_second - one_millisecond,
- "59 minutes left");
- TestRemainingLong(59 * one_min + 30 * one_second, "1 hour left");
- TestRemainingLong(one_hour + 30 * one_min - one_millisecond, "1 hour left");
- TestRemainingLong(one_hour + 30 * one_min, "2 hours left");
- TestRemainingLong(23 * one_hour + 30 * one_min - one_millisecond,
- "23 hours left");
- TestRemainingLong(23 * one_hour + 30 * one_min, "1 day left");
- TestRemainingLong(one_day + 12 * one_hour - one_millisecond, "1 day left");
- TestRemainingLong(one_day + 12 * one_hour, "2 days left");
+#if 0
bartfab (slow) 2014/02/18 12:04:04 Nit: Do not commit code guarded by an #if 0. If th
Thiemo Nagel 2014/02/19 17:08:44 It is useful for manual tests.
bartfab (slow) 2014/02/20 16:31:22 If you want to use this for manual testing, break
Thiemo Nagel 2014/02/22 21:44:09 As far as I can see, the MANUAL_ prefix only works
+ // Enable this code to get some DCHECK() failures.
+ EXPECT_EQ(ASCIIToUTF16("1 second ago"),
+ Simple(kElapsed, kLong, delta_1s));
+ EXPECT_EQ(ASCIIToUTF16("1 min 2 secs"),
+ Detailed(kDuration, kShort, 100, delta_1m2s));
+#endif
}
// crbug.com/159388: This test fails when daylight savings time ends.

Powered by Google App Engine
This is Rietveld 408576698