Chromium Code Reviews| Index: ui/base/text/text_elider_unittest.cc |
| diff --git a/ui/base/text/text_elider_unittest.cc b/ui/base/text/text_elider_unittest.cc |
| index b342b4c5dbae63b1a67287f75febe0130111471f..5ad8f6751578062672bea7aa76c094db3bd5db28 100644 |
| --- a/ui/base/text/text_elider_unittest.cc |
| +++ b/ui/base/text/text_elider_unittest.cc |
| @@ -53,8 +53,65 @@ void RunTest(Testcase* testcases, size_t num_testcases) { |
| } |
| } |
| +void RunEmailTest(Testcase* testcases, size_t num_testcases, |
|
Alexei Svitkine (slow)
2012/02/28 15:46:22
Nit: Put "num_testcases" on its own line.
|
| + size_t max_email_length) { |
| + for (size_t i = 0; i < num_testcases; ++i) { |
| + EXPECT_EQ(UTF8ToUTF16(testcases[i].output), |
| + ElideEmail(UTF8ToUTF16(testcases[i].input), max_email_length)); |
| + } |
| +} |
| + |
| } // namespace |
| +TEST(TextEliderTest, SmallestElideEmail) { |
| + const std::string kEllipsisStr(kEllipsis); |
| + |
| + // all expected values in this test assume the UTF16 ellipsis is a single char |
| + ASSERT_EQ(UTF8ToUTF16(kEllipsisStr).length(), size_t(1)); |
| + |
| + // 5 is the smallest max_email_length allowed in ui::ElideEmail |
| + const size_t max_email_length = 5; |
| + |
| + Testcase testcases[] = { |
| + {"g@g.c", "g@g.c"}, |
| + {"ga@co", "ga@co"}, |
| + {"short@small.com", "s" + kEllipsisStr + "@s" +kEllipsisStr}, |
|
Alexei Svitkine (slow)
2012/02/28 15:46:22
Add a space between + and kEllipsisStr.
|
| + }; |
| + |
| + RunEmailTest(testcases, arraysize(testcases), max_email_length); |
| +} |
| + |
| +TEST(TextEliderTest, RegularElideEmail) { |
| + const std::string kEllipsisStr(kEllipsis); |
| + |
| + // all expected values in this test assume the UTF16 ellipsis is a single char |
|
Alexei Svitkine (slow)
2012/02/28 15:46:22
Comments should be complete sentences: starting wi
|
| + ASSERT_EQ(UTF8ToUTF16(kEllipsisStr).length(), size_t(1)); |
| + |
| + const size_t max_email_length = 20; |
| + |
| + Testcase testcases[] = { |
| + {"short@small.com", "short@small.com"}, |
| + {"justunder@test19.ca", "justunder@test19.ca"}, |
| + {"exactly@righton20.ca", "exactly@righton20.ca"}, |
| + {"justover20@test21.com", "justover" + kEllipsisStr + "@test21.com"}, |
| + {"longusernameshortdomain@short.com", "longusern" + kEllipsisStr + |
| + "@short.com"}, |
| + {"short@verysuperlongdomain.com", "short@verys" + kEllipsisStr + ".com"}, |
| + {"waytoobigofanemail@somealsoverybigdomain.com", "waytoobi" + |
| + kEllipsisStr + |
| + "@somea" + |
| + kEllipsisStr + |
| + ".com"}, |
| + {"toolongusername@maxsizedomain.com", "t" + kEllipsisStr + |
| + "@maxsizedomain.com"}, |
| + {"toolongusername@justovermaxof17.tv", "toolongu" + kEllipsisStr + |
| + "@justo" + kEllipsisStr + |
| + "7.tv"}, |
| + }; |
| + |
| + RunEmailTest(testcases, arraysize(testcases), max_email_length); |
| +} |
| + |
| // Test eliding of commonplace URLs. |
| TEST(TextEliderTest, TestGeneralEliding) { |
| const std::string kEllipsisStr(kEllipsis); |