summaryrefslogtreecommitdiffstats
path: root/ui/gfx/render_text_unittest.cc
diff options
context:
space:
mode:
authorckocagil@chromium.org <ckocagil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-07 01:25:42 +0000
committerckocagil@chromium.org <ckocagil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-07 01:25:42 +0000
commitbc3901550754ae6d09e3da2e3eac6465fedc6942 (patch)
tree32c979be3f1697aee70e2d81e88c46c852998441 /ui/gfx/render_text_unittest.cc
parent3dd89894b1a5bf08af476c27c6fda72d9cefd7ed (diff)
downloadchromium_src-bc3901550754ae6d09e3da2e3eac6465fedc6942.zip
chromium_src-bc3901550754ae6d09e3da2e3eac6465fedc6942.tar.gz
chromium_src-bc3901550754ae6d09e3da2e3eac6465fedc6942.tar.bz2
Re-land: "RenderTextWin: Break runs between any two characters that are not in the same code block"
Original CL: https://codereview.chromium.org/23522018/ Last CL had a mid-air collision with r221762. It is now merged. BUG=278913 TBR=asvitkine@chromium.org NOTRY=true Review URL: https://chromiumcodereview.appspot.com/23857008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221850 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/render_text_unittest.cc')
-rw-r--r--ui/gfx/render_text_unittest.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/ui/gfx/render_text_unittest.cc b/ui/gfx/render_text_unittest.cc
index d1e9961..625e3f0 100644
--- a/ui/gfx/render_text_unittest.cc
+++ b/ui/gfx/render_text_unittest.cc
@@ -1651,4 +1651,26 @@ TEST_F(RenderTextTest, SelectionKeepsLigatures) {
}
}
+#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