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..8e3530f19cd233dc12164e890508a7d38e62e2f6 100644 |
--- a/ui/gfx/render_text_unittest.cc |
+++ b/ui/gfx/render_text_unittest.cc |
@@ -1650,5 +1650,21 @@ TEST_F(RenderTextTest, SelectionKeepsLigatures) { |
render_text->MoveCursorTo(SelectionModel(0, CURSOR_FORWARD)); |
} |
} |
+ |
+#if defined(OS_WIN) |
+TEST_F(RenderTextTest, Win_BreakRunsByUnicodeBlocks) { |
+ const base::string16 kTestString = WideToUTF16(L"x\x25B6y"); |
msw
2013/09/04 22:05:38
nit: Add another test case with spaces, like "x \x
ckocagil
2013/09/05 20:13:15
Done.
|
+ |
+ scoped_ptr<RenderTextWin> render_text( |
+ static_cast<RenderTextWin*>(RenderText::CreateInstance())); |
+ render_text->SetText(kTestString); |
+ 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); |
+} |
+#endif // !defined(OS_WIN) |
} // namespace gfx |