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..615860fddee607cb1997aad905e02b2584d20a2e 100644 |
--- a/ui/gfx/render_text_unittest.cc |
+++ b/ui/gfx/render_text_unittest.cc |
@@ -1650,5 +1650,27 @@ TEST_F(RenderTextTest, SelectionKeepsLigatures) { |
render_text->MoveCursorTo(SelectionModel(0, CURSOR_FORWARD)); |
} |
} |
+ |
+#if defined(OS_WIN) |
+TEST_F(RenderTextTest, Win_BreakRunsByUnicodeBlocks) { |
+ scoped_ptr<RenderTextWin> render_text( |
+ static_cast<RenderTextWin*>(RenderText::CreateInstance())); |
+ |
+ render_text->SetText(WideToUTF16(L"x\x25B6y")); |
+ render_text->EnsureLayout(); |
+ ASSERT_EQ(3U, render_text->runs_.size()); |
+ EXPECT_EQ(Range(0, 1), render_text->runs_[0]->range); |
+ EXPECT_EQ(Range(1, 2), render_text->runs_[1]->range); |
+ EXPECT_EQ(Range(2, 3), render_text->runs_[2]->range); |
+ |
+ render_text->SetText(WideToUTF16(L"x \x25B6 y")); |
+ render_text->EnsureLayout(); |
+ ASSERT_EQ(3U, render_text->runs_.size()); |
+ EXPECT_EQ(Range(0, 2), render_text->runs_[0]->range); |
+ EXPECT_EQ(Range(2, 3), render_text->runs_[1]->range); |
+ EXPECT_EQ(Range(3, 5), render_text->runs_[2]->range); |
+ |
+} |
+#endif // !defined(OS_WIN) |
} // namespace gfx |