| 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 |