Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(463)

Unified Diff: ui/gfx/render_text_unittest.cc

Issue 678683003: Make RenderTextHarfBuzz examine full font list. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/render_text_harfbuzz.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/render_text_unittest.cc
diff --git a/ui/gfx/render_text_unittest.cc b/ui/gfx/render_text_unittest.cc
index 1c6f902d936fb435827912df67561e1d1af51c51..c67f9e973070cdf5b590a9fb014c7e181a3f5b66 100644
--- a/ui/gfx/render_text_unittest.cc
+++ b/ui/gfx/render_text_unittest.cc
@@ -2326,4 +2326,29 @@ TEST_F(RenderTextTest, StringFitsOwnWidth) {
EXPECT_EQ(kString, render_text->GetLayoutText());
}
+// Ensure that RenderText examines all of the fonts in its FontList before
+// falling back to other fonts.
+TEST_F(RenderTextTest, FontListFallback) {
Daniel Erat 2014/10/24 15:43:23 not sure yet whether this will work on all platfor
msw 2014/10/24 16:09:11 Acknowledged.
+ // Double-check that the requested fonts are present.
+ FontList font_list("Arial, Symbol, 12px");
+ const std::vector<Font>& fonts = font_list.GetFonts();
+ ASSERT_EQ(2u, fonts.size());
+ ASSERT_EQ("arial",
+ base::StringToLowerASCII(fonts[0].GetActualFontNameForTesting()));
+ ASSERT_EQ("symbol",
+ base::StringToLowerASCII(fonts[1].GetActualFontNameForTesting()));
+
+ // "⊕" (CIRCLED PLUS) should be rendered with Symbol rather than falling back
msw 2014/10/24 16:09:11 Can you actually include this unicode char in this
Daniel Erat 2014/10/24 16:25:47 the web is inconclusive here, but i think it's fin
msw 2014/10/24 16:48:29 Hmm, the style guide might suggest only UTF-8 and
+ // to some other font that's present on the system.
+ scoped_ptr<RenderText> render_text(RenderText::CreateInstance());
+ render_text->SetFontList(font_list);
+ render_text->SetText(UTF8ToUTF16("\xE2\x8A\x95"));
+ Canvas canvas;
+ render_text->Draw(&canvas);
msw 2014/10/24 16:09:11 You shouldn't need to Draw, GetFontSpansForTesting
Daniel Erat 2014/10/24 16:25:47 cool, thanks. done.
+ const std::vector<RenderText::FontSpan> spans =
+ render_text->GetFontSpansForTesting();
+ ASSERT_EQ(static_cast<size_t>(1), spans.size());
+ EXPECT_EQ("Symbol", spans[0].first.GetFontName());
msw 2014/10/24 16:09:11 Does this actually fail without your change?
Daniel Erat 2014/10/24 16:25:47 yep, wrote the test first. :-P at least on my gtru
msw 2014/10/24 16:48:29 Acknowledged.
+}
+
} // namespace gfx
« no previous file with comments | « ui/gfx/render_text_harfbuzz.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698