| Index: ui/gfx/render_text_unittest.cc
|
| diff --git a/ui/gfx/render_text_unittest.cc b/ui/gfx/render_text_unittest.cc
|
| index 9ece279f9f05586717a4945e94a4dce57ebb1d04..fa10e542cfca27e22674cd67d7187a1fc06b4f74 100644
|
| --- a/ui/gfx/render_text_unittest.cc
|
| +++ b/ui/gfx/render_text_unittest.cc
|
| @@ -2610,6 +2610,23 @@ TEST_F(RenderTextTest, HarfBuzz_EmptyRun) {
|
| EXPECT_EQ(Range(0, 0), glyphs);
|
| }
|
|
|
| +// Ensure the line breaker doesn't compute the word's width bigger than the
|
| +// actual size. See http://crbug.com/470073
|
| +TEST_F(RenderTextTest, HarfBuzz_WordWidthWithDiacritics) {
|
| + RenderTextHarfBuzz render_text;
|
| + const base::string16 kWord = WideToUTF16(L"\u0906\u092A\u0915\u0947 ");
|
| + render_text.SetText(kWord);
|
| + const gfx::SizeF text_size = render_text.GetStringSizeF();
|
| +
|
| + render_text.SetText(kWord + kWord);
|
| + render_text.SetMultiline(true);
|
| + EXPECT_EQ(text_size.width() * 2, render_text.GetStringSizeF().width());
|
| + EXPECT_EQ(text_size.height(), render_text.GetStringSizeF().height());
|
| + render_text.SetDisplayRect(gfx::Rect(0, 0, std::ceil(text_size.width()), 0));
|
| + EXPECT_NEAR(text_size.width(), render_text.GetStringSizeF().width(), 1.0f);
|
| + EXPECT_EQ(text_size.height() * 2, render_text.GetStringSizeF().height());
|
| +}
|
| +
|
| // Ensure a string fits in a display rect with a width equal to the string's.
|
| TEST_F(RenderTextTest, StringFitsOwnWidth) {
|
| scoped_ptr<RenderText> render_text(RenderText::CreateInstance());
|
|
|