| Index: ui/base/text/text_elider_unittest.cc
|
| ===================================================================
|
| --- ui/base/text/text_elider_unittest.cc (revision 114022)
|
| +++ ui/base/text/text_elider_unittest.cc (working copy)
|
| @@ -82,8 +82,7 @@
|
| // both path AND file name to an ellipsis - ".../...". To avoid this result,
|
| // there is a hack in place that simply treats them as one string in this
|
| // case.
|
| -TEST(TextEliderTest, TestTrailingEllipsisSlashEllipsisHack)
|
| -{
|
| +TEST(TextEliderTest, TestTrailingEllipsisSlashEllipsisHack) {
|
| const std::string kEllipsisStr(kEllipsis);
|
|
|
| // Very little space, would cause double ellipsis.
|
| @@ -215,6 +214,29 @@
|
| }
|
| }
|
|
|
| +TEST(TextEliderTest, ElideTextTruncate) {
|
| + const gfx::Font font;
|
| + const int kTestWidth = font.GetStringWidth(ASCIIToUTF16("Test"));
|
| + struct TestData {
|
| + const char* input;
|
| + int width;
|
| + const char* output;
|
| + } cases[] = {
|
| + { "", 0, "" },
|
| + { "Test", 0, "" },
|
| + { "", kTestWidth, "" },
|
| + { "Tes", kTestWidth, "Tes" },
|
| + { "Test", kTestWidth, "Test" },
|
| + { "Tests", kTestWidth, "Test" },
|
| + };
|
| +
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
|
| + string16 result = ui::ElideText(UTF8ToUTF16(cases[i].input), font,
|
| + cases[i].width, ui::TRUNCATE_AT_END);
|
| + EXPECT_EQ(cases[i].output, UTF16ToUTF8(result));
|
| + }
|
| +}
|
| +
|
| TEST(TextEliderTest, ElideTextLongStrings) {
|
| const string16 kEllipsisStr = UTF8ToUTF16(kEllipsis);
|
| string16 data_scheme(UTF8ToUTF16("data:text/plain,"));
|
| @@ -247,9 +269,10 @@
|
| EXPECT_EQ(testcases_end[i].output.size(),
|
| ElideText(testcases_end[i].input, font,
|
| font.GetStringWidth(testcases_end[i].output),
|
| - false).size());
|
| + ui::ELIDE_AT_END).size());
|
| EXPECT_EQ(kEllipsisStr,
|
| - ElideText(testcases_end[i].input, font, ellipsis_width, false));
|
| + ElideText(testcases_end[i].input, font, ellipsis_width,
|
| + ui::ELIDE_AT_END));
|
| }
|
|
|
| size_t number_of_trailing_as = (data_scheme_length + number_of_as) / 2;
|
| @@ -271,10 +294,10 @@
|
| EXPECT_EQ(testcases_middle[i].output.size(),
|
| ElideText(testcases_middle[i].input, font,
|
| font.GetStringWidth(testcases_middle[i].output),
|
| - false).size());
|
| + ui::ELIDE_AT_END).size());
|
| EXPECT_EQ(kEllipsisStr,
|
| ElideText(testcases_middle[i].input, font, ellipsis_width,
|
| - false));
|
| + ui::ELIDE_AT_END));
|
| }
|
| }
|
|
|
|
|