OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/base/l10n/time_format.h" | 5 #include "ui/base/l10n/time_format.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
12 #include "ui/base/l10n/formatter.h" | 12 #include "ui/base/l10n/formatter.h" |
13 | 13 |
14 using base::ASCIIToUTF16; | 14 using base::ASCIIToUTF16; |
15 | 15 |
16 namespace ui { | 16 namespace ui { |
17 namespace { | 17 namespace { |
18 | 18 |
19 using base::TimeDelta; | 19 using base::TimeDelta; |
20 | 20 |
21 class TimeFormatTest : public ::testing::Test { | 21 class TimeFormatTest : public ::testing::Test { |
22 public: | 22 public: |
23 TimeFormatTest() : | 23 TimeFormatTest() |
24 delta_0s_(TimeDelta::FromSeconds(0)), | 24 : delta_0s_(TimeDelta::FromSeconds(0)), |
25 delta_1ms_(TimeDelta::FromMilliseconds(1)), | 25 delta_1ms_(TimeDelta::FromMilliseconds(1)), |
26 delta_499ms_(TimeDelta::FromMilliseconds(499)), | 26 delta_499ms_(TimeDelta::FromMilliseconds(499)), |
27 delta_500ms_(TimeDelta::FromMilliseconds(500)), | 27 delta_500ms_(TimeDelta::FromMilliseconds(500)), |
28 delta_999ms_(TimeDelta::FromMilliseconds(999)), | 28 delta_999ms_(TimeDelta::FromMilliseconds(999)), |
29 delta_1s_(TimeDelta::FromSeconds(1)), | 29 delta_1s_(TimeDelta::FromSeconds(1)), |
30 delta_1s499ms_(delta_1s_ + delta_499ms_), | 30 delta_1s499ms_(delta_1s_ + delta_499ms_), |
31 delta_1s500ms_(delta_1s_ + delta_500ms_), | 31 delta_1s500ms_(delta_1s_ + delta_500ms_), |
32 delta_2s_(TimeDelta::FromSeconds(2)), | 32 delta_2s_(TimeDelta::FromSeconds(2)), |
33 delta_29s_(TimeDelta::FromSeconds(29)), | 33 delta_29s_(TimeDelta::FromSeconds(29)), |
34 delta_30s_(TimeDelta::FromSeconds(30)), | 34 delta_30s_(TimeDelta::FromSeconds(30)), |
35 delta_59s_(TimeDelta::FromSeconds(59)), | 35 delta_59s_(TimeDelta::FromSeconds(59)), |
36 delta_59s499ms_(delta_59s_ + delta_499ms_), | 36 delta_59s499ms_(delta_59s_ + delta_499ms_), |
37 delta_59s500ms_(delta_59s_ + delta_500ms_), | 37 delta_59s500ms_(delta_59s_ + delta_500ms_), |
38 delta_1m_(TimeDelta::FromMinutes(1)), | 38 delta_1m_(TimeDelta::FromMinutes(1)), |
39 delta_1m2s_(delta_1m_ + delta_2s_), | 39 delta_1m2s_(delta_1m_ + delta_2s_), |
40 delta_1m29s999ms_(delta_1m_ + delta_29s_ + delta_999ms_), | 40 delta_1m29s999ms_(delta_1m_ + delta_29s_ + delta_999ms_), |
41 delta_1m30s_(delta_1m_ + delta_30s_), | 41 delta_1m30s_(delta_1m_ + delta_30s_), |
42 delta_2m_(TimeDelta::FromMinutes(2)), | 42 delta_2m_(TimeDelta::FromMinutes(2)), |
43 delta_2m1s_(delta_2m_ + delta_1s_), | 43 delta_2m1s_(delta_2m_ + delta_1s_), |
44 delta_29m_(TimeDelta::FromMinutes(29)), | 44 delta_29m_(TimeDelta::FromMinutes(29)), |
45 delta_30m_(TimeDelta::FromMinutes(30)), | 45 delta_30m_(TimeDelta::FromMinutes(30)), |
46 delta_59m_(TimeDelta::FromMinutes(59)), | 46 delta_59m_(TimeDelta::FromMinutes(59)), |
47 delta_59m29s999ms_(delta_59m_ + delta_29s_ + delta_999ms_), | 47 delta_59m29s999ms_(delta_59m_ + delta_29s_ + delta_999ms_), |
48 delta_59m30s_(delta_59m_ + delta_30s_), | 48 delta_59m30s_(delta_59m_ + delta_30s_), |
49 delta_59m59s499ms_(delta_59m_ + delta_59s_ + delta_499ms_), | 49 delta_59m59s499ms_(delta_59m_ + delta_59s_ + delta_499ms_), |
50 delta_59m59s500ms_(delta_59m_ + delta_59s_ + delta_500ms_), | 50 delta_59m59s500ms_(delta_59m_ + delta_59s_ + delta_500ms_), |
51 delta_1h_(TimeDelta::FromHours(1)), | 51 delta_1h_(TimeDelta::FromHours(1)), |
52 delta_1h2m_(delta_1h_ + delta_2m_), | 52 delta_1h2m_(delta_1h_ + delta_2m_), |
53 delta_1h29m59s999ms_(delta_1h_ + delta_29m_ + delta_59s_ + delta_999ms_), | 53 delta_1h29m59s999ms_(delta_1h_ + delta_29m_ + delta_59s_ + |
54 delta_1h30m_(delta_1h_ + delta_30m_), | 54 delta_999ms_), |
55 delta_2h_(TimeDelta::FromHours(2)), | 55 delta_1h30m_(delta_1h_ + delta_30m_), |
56 delta_2h1m_(delta_2h_ + delta_1m_), | 56 delta_2h_(TimeDelta::FromHours(2)), |
57 delta_11h_(TimeDelta::FromHours(11)), | 57 delta_2h1m_(delta_2h_ + delta_1m_), |
58 delta_12h_(TimeDelta::FromHours(12)), | 58 delta_11h_(TimeDelta::FromHours(11)), |
59 delta_23h_(TimeDelta::FromHours(23)), | 59 delta_12h_(TimeDelta::FromHours(12)), |
60 delta_23h29m59s999ms_(delta_23h_ + delta_29m_ + delta_59s_ + | 60 delta_23h_(TimeDelta::FromHours(23)), |
61 delta_999ms_), | 61 delta_23h29m59s999ms_(delta_23h_ + delta_29m_ + delta_59s_ + |
62 delta_23h30m_(delta_23h_ + delta_30m_), | 62 delta_999ms_), |
63 delta_23h59m29s999ms_(delta_23h_ + delta_59m_ + delta_29s_ + | 63 delta_23h30m_(delta_23h_ + delta_30m_), |
64 delta_999ms_), | 64 delta_23h59m29s999ms_(delta_23h_ + delta_59m_ + delta_29s_ + |
65 delta_23h59m30s_(delta_23h_ + delta_59m_ + delta_30s_), | 65 delta_999ms_), |
66 delta_1d_(TimeDelta::FromDays(1)), | 66 delta_23h59m30s_(delta_23h_ + delta_59m_ + delta_30s_), |
67 delta_1d2h_(delta_1d_ + delta_2h_), | 67 delta_1d_(TimeDelta::FromDays(1)), |
68 delta_1d11h59m59s999ms_(delta_1d_ + delta_11h_ + delta_59m_ + delta_29s_ + | 68 delta_1d2h_(delta_1d_ + delta_2h_), |
69 delta_999ms_), | 69 delta_1d11h59m59s999ms_( |
70 delta_1d12h_(delta_1d_ + delta_12h_), | 70 delta_1d_ + delta_11h_ + delta_59m_ + delta_29s_ + delta_999ms_), |
71 delta_2d_(TimeDelta::FromDays(2)), | 71 delta_1d12h_(delta_1d_ + delta_12h_), |
72 delta_2d1h_(delta_2d_ + delta_1h_) | 72 delta_2d_(TimeDelta::FromDays(2)), |
73 {} | 73 delta_2d1h_(delta_2d_ + delta_1h_), |
| 74 delta_1y_(delta_1d_ * 365), |
| 75 delta_2y_(delta_1y_ * 2), |
| 76 delta_1mo_(delta_1y_ / 12), |
| 77 delta_2mo_(delta_1mo_ * 2), |
| 78 delta_1mo10d_(delta_1mo_ + delta_1d_ * 10) {} |
74 | 79 |
75 protected: | 80 protected: |
76 void TestStrings() { | 81 void TestStrings() { |
77 // Test English strings (simple, singular). | 82 // Test English strings (simple, singular). |
78 EXPECT_EQ(ASCIIToUTF16("1 sec"), TimeFormat::Simple( | 83 EXPECT_EQ(ASCIIToUTF16("1 sec"), TimeFormat::Simple( |
79 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1s_)); | 84 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1s_)); |
80 EXPECT_EQ(ASCIIToUTF16("1 min"), TimeFormat::Simple( | 85 EXPECT_EQ(ASCIIToUTF16("1 min"), TimeFormat::Simple( |
81 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1m_)); | 86 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1m_)); |
82 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Simple( | 87 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Simple( |
83 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1h_)); | 88 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1h_)); |
84 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple( | 89 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple( |
85 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1d_)); | 90 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_1d_)); |
86 EXPECT_EQ(ASCIIToUTF16("1 second"), TimeFormat::Simple( | 91 EXPECT_EQ(ASCIIToUTF16("1 second"), TimeFormat::Simple( |
87 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1s_)); | 92 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1s_)); |
88 EXPECT_EQ(ASCIIToUTF16("1 minute"), TimeFormat::Simple( | 93 EXPECT_EQ(ASCIIToUTF16("1 minute"), TimeFormat::Simple( |
89 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1m_)); | 94 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1m_)); |
90 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Simple( | 95 EXPECT_EQ(ASCIIToUTF16("1 hour"), TimeFormat::Simple( |
91 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1h_)); | 96 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1h_)); |
92 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple( | 97 EXPECT_EQ(ASCIIToUTF16("1 day"), TimeFormat::Simple( |
93 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1d_)); | 98 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_1d_)); |
| 99 EXPECT_EQ(ASCIIToUTF16("1 month"), |
| 100 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION, |
| 101 TimeFormat::LENGTH_LONG, |
| 102 delta_1mo_, true)); |
| 103 EXPECT_EQ(ASCIIToUTF16("1 month"), |
| 104 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION, |
| 105 TimeFormat::LENGTH_LONG, |
| 106 delta_1mo10d_, true)); |
| 107 EXPECT_EQ(ASCIIToUTF16("1 year"), |
| 108 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION, |
| 109 TimeFormat::LENGTH_LONG, |
| 110 delta_1y_, true)); |
94 EXPECT_EQ(ASCIIToUTF16("1 sec left"), TimeFormat::Simple( | 111 EXPECT_EQ(ASCIIToUTF16("1 sec left"), TimeFormat::Simple( |
95 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1s_)); | 112 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1s_)); |
96 EXPECT_EQ(ASCIIToUTF16("1 min left"), TimeFormat::Simple( | 113 EXPECT_EQ(ASCIIToUTF16("1 min left"), TimeFormat::Simple( |
97 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1m_)); | 114 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1m_)); |
98 EXPECT_EQ(ASCIIToUTF16("1 hour left"), TimeFormat::Simple( | 115 EXPECT_EQ(ASCIIToUTF16("1 hour left"), TimeFormat::Simple( |
99 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1h_)); | 116 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1h_)); |
100 EXPECT_EQ(ASCIIToUTF16("1 day left"), TimeFormat::Simple( | 117 EXPECT_EQ(ASCIIToUTF16("1 day left"), TimeFormat::Simple( |
101 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1d_)); | 118 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_1d_)); |
102 EXPECT_EQ(ASCIIToUTF16("1 second left"), TimeFormat::Simple( | 119 EXPECT_EQ(ASCIIToUTF16("1 second left"), TimeFormat::Simple( |
103 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1s_)); | 120 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1s_)); |
104 EXPECT_EQ(ASCIIToUTF16("1 minute left"), TimeFormat::Simple( | 121 EXPECT_EQ(ASCIIToUTF16("1 minute left"), TimeFormat::Simple( |
105 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1m_)); | 122 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1m_)); |
106 EXPECT_EQ(ASCIIToUTF16("1 hour left"), TimeFormat::Simple( | 123 EXPECT_EQ(ASCIIToUTF16("1 hour left"), TimeFormat::Simple( |
107 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1h_)); | 124 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1h_)); |
108 EXPECT_EQ(ASCIIToUTF16("1 day left"), TimeFormat::Simple( | 125 EXPECT_EQ(ASCIIToUTF16("1 day left"), TimeFormat::Simple( |
109 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1d_)); | 126 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_1d_)); |
| 127 EXPECT_EQ(ASCIIToUTF16("1 month left"), |
| 128 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING, |
| 129 TimeFormat::LENGTH_LONG, |
| 130 delta_1mo_, true)); |
| 131 EXPECT_EQ(ASCIIToUTF16("1 month left"), |
| 132 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING, |
| 133 TimeFormat::LENGTH_LONG, |
| 134 delta_1mo10d_, true)); |
| 135 EXPECT_EQ(ASCIIToUTF16("1 year left"), |
| 136 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING, |
| 137 TimeFormat::LENGTH_LONG, |
| 138 delta_1y_, true)); |
110 EXPECT_EQ(ASCIIToUTF16("1 sec ago"), TimeFormat::Simple( | 139 EXPECT_EQ(ASCIIToUTF16("1 sec ago"), TimeFormat::Simple( |
111 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1s_)); | 140 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1s_)); |
112 EXPECT_EQ(ASCIIToUTF16("1 min ago"), TimeFormat::Simple( | 141 EXPECT_EQ(ASCIIToUTF16("1 min ago"), TimeFormat::Simple( |
113 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1m_)); | 142 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1m_)); |
114 EXPECT_EQ(ASCIIToUTF16("1 hour ago"), TimeFormat::Simple( | 143 EXPECT_EQ(ASCIIToUTF16("1 hour ago"), TimeFormat::Simple( |
115 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1h_)); | 144 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1h_)); |
116 EXPECT_EQ(ASCIIToUTF16("1 day ago"), TimeFormat::Simple( | 145 EXPECT_EQ(ASCIIToUTF16("1 day ago"), TimeFormat::Simple( |
117 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1d_)); | 146 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_1d_)); |
| 147 EXPECT_EQ(ASCIIToUTF16("1 month ago"), |
| 148 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED, |
| 149 TimeFormat::LENGTH_LONG, |
| 150 delta_1mo_, true)); |
| 151 EXPECT_EQ(ASCIIToUTF16("1 month ago"), |
| 152 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED, |
| 153 TimeFormat::LENGTH_LONG, |
| 154 delta_1mo10d_, true)); |
| 155 EXPECT_EQ(ASCIIToUTF16("1 year ago"), |
| 156 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED, |
| 157 TimeFormat::LENGTH_LONG, |
| 158 delta_1y_, true)); |
118 EXPECT_EQ(ASCIIToUTF16("1 second ago"), | 159 EXPECT_EQ(ASCIIToUTF16("1 second ago"), |
119 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, | 160 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
120 TimeFormat::LENGTH_LONG, delta_1s_)); | 161 TimeFormat::LENGTH_LONG, delta_1s_)); |
121 EXPECT_EQ(ASCIIToUTF16("1 minute ago"), | 162 EXPECT_EQ(ASCIIToUTF16("1 minute ago"), |
122 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, | 163 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
123 TimeFormat::LENGTH_LONG, delta_1m_)); | 164 TimeFormat::LENGTH_LONG, delta_1m_)); |
124 EXPECT_EQ(ASCIIToUTF16("1 hour ago"), | 165 EXPECT_EQ(ASCIIToUTF16("1 hour ago"), |
125 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, | 166 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
126 TimeFormat::LENGTH_LONG, delta_1h_)); | 167 TimeFormat::LENGTH_LONG, delta_1h_)); |
127 EXPECT_EQ(ASCIIToUTF16("1 day ago"), | 168 EXPECT_EQ(ASCIIToUTF16("1 day ago"), |
(...skipping 10 matching lines...) Expand all Loading... |
138 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple( | 179 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple( |
139 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_2d_)); | 180 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_2d_)); |
140 EXPECT_EQ(ASCIIToUTF16("2 seconds"), TimeFormat::Simple( | 181 EXPECT_EQ(ASCIIToUTF16("2 seconds"), TimeFormat::Simple( |
141 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2s_)); | 182 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2s_)); |
142 EXPECT_EQ(ASCIIToUTF16("2 minutes"), TimeFormat::Simple( | 183 EXPECT_EQ(ASCIIToUTF16("2 minutes"), TimeFormat::Simple( |
143 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2m_)); | 184 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2m_)); |
144 EXPECT_EQ(ASCIIToUTF16("2 hours"), TimeFormat::Simple( | 185 EXPECT_EQ(ASCIIToUTF16("2 hours"), TimeFormat::Simple( |
145 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2h_)); | 186 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2h_)); |
146 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple( | 187 EXPECT_EQ(ASCIIToUTF16("2 days"), TimeFormat::Simple( |
147 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2d_)); | 188 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, delta_2d_)); |
| 189 EXPECT_EQ(ASCIIToUTF16("30 days"), |
| 190 TimeFormat::Simple(TimeFormat::FORMAT_DURATION, |
| 191 TimeFormat::LENGTH_LONG, delta_1mo_)); |
| 192 EXPECT_EQ(ASCIIToUTF16("365 days"), |
| 193 TimeFormat::Simple(TimeFormat::FORMAT_DURATION, |
| 194 TimeFormat::LENGTH_LONG, delta_1y_)); |
| 195 EXPECT_EQ(ASCIIToUTF16("2 months"), |
| 196 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION, |
| 197 TimeFormat::LENGTH_LONG, |
| 198 delta_2mo_, true)); |
| 199 EXPECT_EQ(ASCIIToUTF16("2 years"), |
| 200 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_DURATION, |
| 201 TimeFormat::LENGTH_LONG, |
| 202 delta_2y_, true)); |
148 EXPECT_EQ(ASCIIToUTF16("2 secs left"), TimeFormat::Simple( | 203 EXPECT_EQ(ASCIIToUTF16("2 secs left"), TimeFormat::Simple( |
149 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2s_)); | 204 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2s_)); |
150 EXPECT_EQ(ASCIIToUTF16("2 mins left"), TimeFormat::Simple( | 205 EXPECT_EQ(ASCIIToUTF16("2 mins left"), TimeFormat::Simple( |
151 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2m_)); | 206 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2m_)); |
152 EXPECT_EQ(ASCIIToUTF16("2 hours left"), TimeFormat::Simple( | 207 EXPECT_EQ(ASCIIToUTF16("2 hours left"), TimeFormat::Simple( |
153 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2h_)); | 208 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2h_)); |
154 EXPECT_EQ(ASCIIToUTF16("2 days left"), TimeFormat::Simple( | 209 EXPECT_EQ(ASCIIToUTF16("2 days left"), TimeFormat::Simple( |
155 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2d_)); | 210 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_SHORT, delta_2d_)); |
156 EXPECT_EQ(ASCIIToUTF16("2 seconds left"), TimeFormat::Simple( | 211 EXPECT_EQ(ASCIIToUTF16("2 seconds left"), TimeFormat::Simple( |
157 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2s_)); | 212 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2s_)); |
158 EXPECT_EQ(ASCIIToUTF16("2 minutes left"), TimeFormat::Simple( | 213 EXPECT_EQ(ASCIIToUTF16("2 minutes left"), TimeFormat::Simple( |
159 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2m_)); | 214 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2m_)); |
160 EXPECT_EQ(ASCIIToUTF16("2 hours left"), TimeFormat::Simple( | 215 EXPECT_EQ(ASCIIToUTF16("2 hours left"), TimeFormat::Simple( |
161 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2h_)); | 216 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2h_)); |
162 EXPECT_EQ(ASCIIToUTF16("2 days left"), TimeFormat::Simple( | 217 EXPECT_EQ(ASCIIToUTF16("2 days left"), TimeFormat::Simple( |
163 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2d_)); | 218 TimeFormat::FORMAT_REMAINING, TimeFormat::LENGTH_LONG, delta_2d_)); |
| 219 EXPECT_EQ(ASCIIToUTF16("30 days left"), |
| 220 TimeFormat::Simple(TimeFormat::FORMAT_REMAINING, |
| 221 TimeFormat::LENGTH_LONG, delta_1mo_)); |
| 222 EXPECT_EQ(ASCIIToUTF16("365 days left"), |
| 223 TimeFormat::Simple(TimeFormat::FORMAT_REMAINING, |
| 224 TimeFormat::LENGTH_LONG, delta_1y_)); |
| 225 EXPECT_EQ(ASCIIToUTF16("2 months left"), |
| 226 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING, |
| 227 TimeFormat::LENGTH_LONG, |
| 228 delta_2mo_, true)); |
| 229 EXPECT_EQ(ASCIIToUTF16("2 years left"), |
| 230 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_REMAINING, |
| 231 TimeFormat::LENGTH_LONG, |
| 232 delta_2y_, true)); |
164 EXPECT_EQ(ASCIIToUTF16("2 secs ago"), TimeFormat::Simple( | 233 EXPECT_EQ(ASCIIToUTF16("2 secs ago"), TimeFormat::Simple( |
165 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2s_)); | 234 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2s_)); |
166 EXPECT_EQ(ASCIIToUTF16("2 mins ago"), TimeFormat::Simple( | 235 EXPECT_EQ(ASCIIToUTF16("2 mins ago"), TimeFormat::Simple( |
167 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2m_)); | 236 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2m_)); |
168 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), TimeFormat::Simple( | 237 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), TimeFormat::Simple( |
169 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2h_)); | 238 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2h_)); |
170 EXPECT_EQ(ASCIIToUTF16("2 days ago"), TimeFormat::Simple( | 239 EXPECT_EQ(ASCIIToUTF16("2 days ago"), TimeFormat::Simple( |
171 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2d_)); | 240 TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_SHORT, delta_2d_)); |
172 EXPECT_EQ(ASCIIToUTF16("2 seconds ago"), | 241 EXPECT_EQ(ASCIIToUTF16("2 seconds ago"), |
173 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, | 242 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
174 TimeFormat::LENGTH_LONG, delta_2s_)); | 243 TimeFormat::LENGTH_LONG, delta_2s_)); |
175 EXPECT_EQ(ASCIIToUTF16("2 minutes ago"), | 244 EXPECT_EQ(ASCIIToUTF16("2 minutes ago"), |
176 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, | 245 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
177 TimeFormat::LENGTH_LONG, delta_2m_)); | 246 TimeFormat::LENGTH_LONG, delta_2m_)); |
178 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), | 247 EXPECT_EQ(ASCIIToUTF16("2 hours ago"), |
179 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, | 248 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
180 TimeFormat::LENGTH_SHORT, delta_2h_)); | 249 TimeFormat::LENGTH_SHORT, delta_2h_)); |
181 EXPECT_EQ(ASCIIToUTF16("2 days ago"), | 250 EXPECT_EQ(ASCIIToUTF16("2 days ago"), |
182 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, | 251 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
183 TimeFormat::LENGTH_SHORT, delta_2d_)); | 252 TimeFormat::LENGTH_SHORT, delta_2d_)); |
| 253 EXPECT_EQ(ASCIIToUTF16("30 days ago"), |
| 254 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
| 255 TimeFormat::LENGTH_LONG, delta_1mo_)); |
| 256 EXPECT_EQ(ASCIIToUTF16("365 days ago"), |
| 257 TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, |
| 258 TimeFormat::LENGTH_LONG, delta_1y_)); |
| 259 EXPECT_EQ(ASCIIToUTF16("2 months ago"), |
| 260 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED, |
| 261 TimeFormat::LENGTH_LONG, |
| 262 delta_2mo_, true)); |
| 263 EXPECT_EQ(ASCIIToUTF16("2 years ago"), |
| 264 TimeFormat::SimpleWithMonthAndYear(TimeFormat::FORMAT_ELAPSED, |
| 265 TimeFormat::LENGTH_LONG, |
| 266 delta_2y_, true)); |
184 | 267 |
185 // Test English strings (detailed, singular and plural). | 268 // Test English strings (detailed, singular and plural). |
186 EXPECT_EQ(ASCIIToUTF16("1 minute and 2 seconds"), TimeFormat::Detailed( | 269 EXPECT_EQ(ASCIIToUTF16("1 minute and 2 seconds"), TimeFormat::Detailed( |
187 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1m2s_)); | 270 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1m2s_)); |
188 EXPECT_EQ(ASCIIToUTF16("2 minutes and 1 second"), TimeFormat::Detailed( | 271 EXPECT_EQ(ASCIIToUTF16("2 minutes and 1 second"), TimeFormat::Detailed( |
189 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2m1s_)); | 272 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2m1s_)); |
190 EXPECT_EQ(ASCIIToUTF16("1 hour and 2 minutes"), TimeFormat::Detailed( | 273 EXPECT_EQ(ASCIIToUTF16("1 hour and 2 minutes"), TimeFormat::Detailed( |
191 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1h2m_)); | 274 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_1h2m_)); |
192 EXPECT_EQ(ASCIIToUTF16("2 hours and 1 minute"), TimeFormat::Detailed( | 275 EXPECT_EQ(ASCIIToUTF16("2 hours and 1 minute"), TimeFormat::Detailed( |
193 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2h1m_)); | 276 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_LONG, 3, delta_2h1m_)); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 TimeDelta delta_23h29m59s999ms_; | 319 TimeDelta delta_23h29m59s999ms_; |
237 TimeDelta delta_23h30m_; | 320 TimeDelta delta_23h30m_; |
238 TimeDelta delta_23h59m29s999ms_; | 321 TimeDelta delta_23h59m29s999ms_; |
239 TimeDelta delta_23h59m30s_; | 322 TimeDelta delta_23h59m30s_; |
240 TimeDelta delta_1d_; | 323 TimeDelta delta_1d_; |
241 TimeDelta delta_1d2h_; | 324 TimeDelta delta_1d2h_; |
242 TimeDelta delta_1d11h59m59s999ms_; | 325 TimeDelta delta_1d11h59m59s999ms_; |
243 TimeDelta delta_1d12h_; | 326 TimeDelta delta_1d12h_; |
244 TimeDelta delta_2d_; | 327 TimeDelta delta_2d_; |
245 TimeDelta delta_2d1h_; | 328 TimeDelta delta_2d1h_; |
| 329 TimeDelta delta_1y_; |
| 330 TimeDelta delta_2y_; |
| 331 TimeDelta delta_1mo_; |
| 332 TimeDelta delta_2mo_; |
| 333 TimeDelta delta_1mo10d_; |
246 }; | 334 }; |
247 | 335 |
248 TEST_F(TimeFormatTest, SimpleAndDetailedRounding) { | 336 TEST_F(TimeFormatTest, SimpleAndDetailedRounding) { |
249 // Test rounding behavior (simple). | 337 // Test rounding behavior (simple). |
250 EXPECT_EQ(ASCIIToUTF16("0 secs"), TimeFormat::Simple( | 338 EXPECT_EQ(ASCIIToUTF16("0 secs"), TimeFormat::Simple( |
251 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_0s_)); | 339 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_0s_)); |
252 EXPECT_EQ(ASCIIToUTF16("0 secs"), TimeFormat::Simple( | 340 EXPECT_EQ(ASCIIToUTF16("0 secs"), TimeFormat::Simple( |
253 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_499ms_)); | 341 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_499ms_)); |
254 EXPECT_EQ(ASCIIToUTF16("1 sec"), TimeFormat::Simple( | 342 EXPECT_EQ(ASCIIToUTF16("1 sec"), TimeFormat::Simple( |
255 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_500ms_)); | 343 TimeFormat::FORMAT_DURATION, TimeFormat::LENGTH_SHORT, delta_500ms_)); |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 TimeFormat::RelativeDate(two_days_ago, NULL); | 455 TimeFormat::RelativeDate(two_days_ago, NULL); |
368 EXPECT_TRUE(two_days_ago_str.empty()); | 456 EXPECT_TRUE(two_days_ago_str.empty()); |
369 | 457 |
370 base::Time a_week_ago = now - TimeDelta::FromDays(7); | 458 base::Time a_week_ago = now - TimeDelta::FromDays(7); |
371 base::string16 a_week_ago_str = TimeFormat::RelativeDate(a_week_ago, NULL); | 459 base::string16 a_week_ago_str = TimeFormat::RelativeDate(a_week_ago, NULL); |
372 EXPECT_TRUE(a_week_ago_str.empty()); | 460 EXPECT_TRUE(a_week_ago_str.empty()); |
373 } | 461 } |
374 | 462 |
375 } // namespace | 463 } // namespace |
376 } // namespace ui | 464 } // namespace ui |
OLD | NEW |