| Index: ui/gfx/text_elider_unittest.cc
|
| diff --git a/ui/gfx/text_elider_unittest.cc b/ui/gfx/text_elider_unittest.cc
|
| index 2a90e5d73cbcca9366f4fa2eeab1a8246fb97284..0f1404761929bb8e230c6fdc5e8668dcec291187 100644
|
| --- a/ui/gfx/text_elider_unittest.cc
|
| +++ b/ui/gfx/text_elider_unittest.cc
|
| @@ -69,8 +69,8 @@ gfx::Font GetTestingFont() {
|
|
|
| } // namespace
|
|
|
| -// TODO(ios): Complex eliding is off by one for some of those tests on iOS.
|
| -// See crbug.com/154019
|
| +// TODO(ios): This test fails on iOS because iOS version of gfx::GetStringWidth
|
| +// that calls [NSString sizeWithFont] returns the rounded string width.
|
| #if defined(OS_IOS)
|
| #define MAYBE_ElideEmail DISABLED_ElideEmail
|
| #else
|
| @@ -121,22 +121,13 @@ TEST(TextEliderTest, MAYBE_ElideEmail) {
|
| {"mmmmm@llllllllll", "m" + kEllipsisStr + "@l" + kEllipsisStr},
|
| };
|
|
|
| - const gfx::Font font = GetTestingFont();
|
| + const gfx::Font font;
|
| for (size_t i = 0; i < arraysize(testcases); ++i) {
|
| const string16 expected_output = UTF8ToUTF16(testcases[i].output);
|
| - int available_width = font.GetStringWidth(expected_output);
|
| -#if defined(OS_MACOSX)
|
| - // Give two extra pixels to offset the ceiling width returned by
|
| - // GetStringWidth on Mac. This workaround will no longer be needed once
|
| - // the floating point width is adopted (http://crbug.com/288987).
|
| - // Note that we need one more pixel than TestFilenameEliding because
|
| - // multiple strings are elided and we need to offset more.
|
| - available_width += 2;
|
| -#endif
|
| EXPECT_EQ(expected_output,
|
| ElideEmail(UTF8ToUTF16(testcases[i].input),
|
| font,
|
| - available_width));
|
| + font.GetStringWidth(expected_output)));
|
| }
|
| }
|
|
|
| @@ -288,8 +279,8 @@ TEST(TextEliderTest, TestFileURLEliding) {
|
| RunUrlTest(testcases, arraysize(testcases));
|
| }
|
|
|
| -// TODO(ios): Complex eliding is off by one for some of those tests on iOS.
|
| -// See crbug.com/154019
|
| +// TODO(ios): This test fails on iOS because iOS version of gfx::GetStringWidth
|
| +// that calls [NSString sizeWithFont] returns the rounded string width.
|
| #if defined(OS_IOS)
|
| #define MAYBE_TestFilenameEliding DISABLED_TestFilenameEliding
|
| #else
|
| @@ -334,19 +325,13 @@ TEST(TextEliderTest, MAYBE_TestFilenameEliding) {
|
| "file.name.re" + kEllipsisStr + "emelylongext"}
|
| };
|
|
|
| - static const gfx::Font font = GetTestingFont();
|
| + static const gfx::Font font;
|
| for (size_t i = 0; i < arraysize(testcases); ++i) {
|
| base::FilePath filepath(testcases[i].input);
|
| string16 expected = UTF8ToUTF16(testcases[i].output);
|
| expected = base::i18n::GetDisplayStringInLTRDirectionality(expected);
|
| - int available_width = font.GetStringWidth(UTF8ToUTF16(testcases[i].output));
|
| -#if defined(OS_MACOSX)
|
| - // Give one extra pixel to offset the ceiling width returned by
|
| - // GetStringWidth on Mac. This workaround will no longer be needed once
|
| - // the floating point width is adopted (http://crbug.com/288987).
|
| - available_width += 1;
|
| -#endif
|
| - EXPECT_EQ(expected, ElideFilename(filepath, font, available_width));
|
| + EXPECT_EQ(expected, ElideFilename(filepath, font,
|
| + font.GetStringWidth(UTF8ToUTF16(testcases[i].output))));
|
| }
|
| }
|
|
|
| @@ -735,23 +720,18 @@ TEST(TextEliderTest, ElideRectangleTextLongWords) {
|
| }
|
| }
|
|
|
| -// TODO(ios): Complex eliding is off by one for some of those tests on iOS.
|
| -// See crbug.com/154019
|
| -#if defined(OS_IOS)
|
| -#define MAYBE_ElideRectangleTextCheckLineWidth \
|
| - DISABLED_ElideRectangleTextCheckLineWidth
|
| -#else
|
| -#define MAYBE_ElideRectangleTextCheckLineWidth ElideRectangleTextCheckLineWidth
|
| -#endif
|
| -
|
| // This test is to make sure that the width of each wrapped line does not
|
| // exceed the available width. On some platform like Mac, this test used to
|
| // fail because the truncated integer width is returned for the string
|
| // and the accumulation of the truncated values causes the elide function
|
| // to wrap incorrectly.
|
| -TEST(TextEliderTest, MAYBE_ElideRectangleTextCheckLineWidth) {
|
| - gfx::Font font = GetTestingFont();
|
| - const int kAvailableWidth = 235;
|
| +TEST(TextEliderTest, ElideRectangleTextCheckLineWidth) {
|
| + gfx::Font font;
|
| +#if defined(OS_MACOSX) && !defined(OS_IOS)
|
| + // Use a specific font to expose the line width exceeding problem.
|
| + font = gfx::Font("LucidaGrande", 12);
|
| +#endif
|
| + const float kAvailableWidth = 235;
|
| const int kAvailableHeight = 1000;
|
| const char text[] = "that Russian place we used to go to after fencing";
|
| std::vector<string16> lines;
|
|
|