Chromium Code Reviews| Index: ui/gfx/render_text_unittest.cc |
| diff --git a/ui/gfx/render_text_unittest.cc b/ui/gfx/render_text_unittest.cc |
| index 263ef92d8159c7088650ddd538457e49061d7ea0..590cfb9b8b0e21fa4d2c763091617c30da567f5c 100644 |
| --- a/ui/gfx/render_text_unittest.cc |
| +++ b/ui/gfx/render_text_unittest.cc |
| @@ -1650,5 +1650,30 @@ TEST_F(RenderTextTest, SelectionKeepsLigatures) { |
| render_text->MoveCursorTo(SelectionModel(0, CURSOR_FORWARD)); |
| } |
| } |
| + |
| +#if defined(OS_WIN) |
| +TEST_F(RenderTextTest, Win_BreakRunsByUnicodeBlocks) { |
| + const base::string16 kTestString1 = WideToUTF16(L"x\x25B6y"); |
|
msw
2013/09/06 16:51:28
nit: inline these in the SetText calls.
ckocagil
2013/09/06 17:26:49
Done.
|
| + const base::string16 kTestString2 = WideToUTF16(L"x \x25B6 y"); |
| + |
| + scoped_ptr<RenderTextWin> render_text( |
| + static_cast<RenderTextWin*>(RenderText::CreateInstance())); |
| + |
| + render_text->SetText(kTestString1); |
| + render_text->EnsureLayout(); |
| + ASSERT_EQ(3U, render_text->runs_.size()); |
| + EXPECT_EQ(ui::Range(0, 1), render_text->runs_[0]->range); |
| + EXPECT_EQ(ui::Range(1, 2), render_text->runs_[1]->range); |
| + EXPECT_EQ(ui::Range(2, 3), render_text->runs_[2]->range); |
| + |
| + render_text->SetText(kTestString2); |
| + render_text->EnsureLayout(); |
| + ASSERT_EQ(3U, render_text->runs_.size()); |
| + EXPECT_EQ(ui::Range(0, 2), render_text->runs_[0]->range); |
| + EXPECT_EQ(ui::Range(2, 3), render_text->runs_[1]->range); |
| + EXPECT_EQ(ui::Range(3, 5), render_text->runs_[2]->range); |
| + |
| +} |
| +#endif // !defined(OS_WIN) |
| } // namespace gfx |