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

Side by Side Diff: ui/gfx/render_text_unittest.cc

Issue 435583003: RenderTextHarfBuzz: Check CreateSkiaTypeface return value against NULL (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add tests Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/gfx/render_text.h" 5 #include "ui/gfx/render_text.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/i18n/break_iterator.h" 10 #include "base/i18n/break_iterator.h"
(...skipping 2244 matching lines...) Expand 10 before | Expand all | Expand 10 after
2255 2255
2256 for (size_t i = 0; i < arraysize(kTestStrings); ++i) { 2256 for (size_t i = 0; i < arraysize(kTestStrings); ++i) {
2257 render_text->SetText(WideToUTF16(kTestStrings[i])); 2257 render_text->SetText(WideToUTF16(kTestStrings[i]));
2258 render_text->EnsureLayout(); 2258 render_text->EnsureLayout();
2259 2259
2260 for (size_t j = 0; j < render_text->text().length(); ++j) 2260 for (size_t j = 0; j < render_text->text().length(); ++j)
2261 EXPECT_FALSE(render_text->GetGlyphBounds(j).is_empty()); 2261 EXPECT_FALSE(render_text->GetGlyphBounds(j).is_empty());
2262 } 2262 }
2263 } 2263 }
2264 2264
2265 // Try shaping with fonts that don't exist on the system.
msw 2014/08/02 18:05:33 Consider: "// Ensure that shaping with a non-exist
ckocagil 2014/08/03 03:36:55 Done.
2266 TEST_F(RenderTextTest, HarfBuzz_NonExistentFont) {
2267 RenderTextHarfBuzz render_text;
2268
msw 2014/08/02 18:05:33 nit: remove blank line
ckocagil 2014/08/03 03:36:55 Done.
2269 render_text.SetText(ASCIIToUTF16("test"));
2270 render_text.EnsureLayout();
2271 ASSERT_EQ(1U, render_text.runs_.size());
2272 internal::TextRunHarfBuzz* run = render_text.runs_[0];
2273 render_text.ShapeRunWithFont(run, "TheFontThatDoesntExist");
2274 }
2275
2276 // Ensure an empty run returns sane values to queries.
2277 TEST_F(RenderTextTest, HarfBuzz_EmptyRun) {
2278 internal::TextRunHarfBuzz run;
2279 const base::string16 kString = ASCIIToUTF16("abcdefgh");
2280 scoped_ptr<base::i18n::BreakIterator> iter(new base::i18n::BreakIterator(
2281 kString, base::i18n::BreakIterator::BREAK_CHARACTER));
2282 ASSERT_TRUE(iter->Init());
2283
2284 run.range = Range(3, 8);
2285 run.glyph_count = 0;
2286 EXPECT_EQ(Range(0, 0), run.CharRangeToGlyphRange(Range(4, 5)));
2287 EXPECT_EQ(Range(0, 0), run.GetGraphemeBounds(iter.get(), 4));
2288 Range chars;
2289 Range glyphs;
2290 run.GetClusterAt(4, &chars, &glyphs);
2291 EXPECT_EQ(Range(3, 8), chars);
2292 EXPECT_EQ(Range(0, 0), glyphs);
2293
msw 2014/08/02 18:05:33 nit: remove blank line
ckocagil 2014/08/03 03:36:55 Done.
2294 }
2295
2265 } // namespace gfx 2296 } // namespace gfx
OLDNEW
« ui/gfx/render_text_harfbuzz.cc ('K') | « ui/gfx/render_text_harfbuzz.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698