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

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

Issue 853553002: Relanding this with font test fixes for gdi. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed the CreateFontWithHeight function and addressed comments Created 5 years, 11 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
« no previous file with comments | « no previous file | ui/gfx/platform_font_win.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/font_list.h" 5 #include "ui/gfx/font_list.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 TEST(FontListTest, Fonts_GetHeight_GetBaseline) { 259 TEST(FontListTest, Fonts_GetHeight_GetBaseline) {
260 // If a font list has only one font, the height and baseline must be the same. 260 // If a font list has only one font, the height and baseline must be the same.
261 Font font1("Arial", 16); 261 Font font1("Arial", 16);
262 ASSERT_EQ("arial", 262 ASSERT_EQ("arial",
263 base::StringToLowerASCII(font1.GetActualFontNameForTesting())); 263 base::StringToLowerASCII(font1.GetActualFontNameForTesting()));
264 FontList font_list1("Arial, 16px"); 264 FontList font_list1("Arial, 16px");
265 EXPECT_EQ(font1.GetHeight(), font_list1.GetHeight()); 265 EXPECT_EQ(font1.GetHeight(), font_list1.GetHeight());
266 EXPECT_EQ(font1.GetBaseline(), font_list1.GetBaseline()); 266 EXPECT_EQ(font1.GetBaseline(), font_list1.GetBaseline());
267 267
268 // If there are two different fonts, the font list returns the max value 268 // If there are two different fonts, the font list returns the max value
269 // for ascent and descent. 269 // for the baseline (ascent) and height.
270 Font font2("Symbol", 16); 270 Font font2("Symbol", 16);
271 ASSERT_EQ("symbol", 271 ASSERT_EQ("symbol",
272 base::StringToLowerASCII(font2.GetActualFontNameForTesting())); 272 base::StringToLowerASCII(font2.GetActualFontNameForTesting()));
273 EXPECT_NE(font1.GetBaseline(), font2.GetBaseline()); 273 EXPECT_NE(font1.GetBaseline(), font2.GetBaseline());
274 EXPECT_NE(font1.GetHeight() - font1.GetBaseline(), 274 // TODO(ananta): Find a size and font pair with reliably distinct descents."
msw 2015/01/14 00:33:09 nit: remove trailing quote.
ananta 2015/01/14 00:35:45 Done.
275 font2.GetHeight() - font2.GetBaseline()); 275 EXPECT_NE(font1.GetHeight(), font2.GetHeight());
276 std::vector<Font> fonts; 276 std::vector<Font> fonts;
277 fonts.push_back(font1); 277 fonts.push_back(font1);
278 fonts.push_back(font2); 278 fonts.push_back(font2);
279 FontList font_list_mix(fonts); 279 FontList font_list_mix(fonts);
280 // ascent of FontList == max(ascent of Fonts) 280 // ascent of FontList == max(ascent of Fonts)
281 EXPECT_EQ(std::max(font1.GetBaseline(), font2.GetBaseline()),
282 font_list_mix.GetBaseline());
283 // descent of FontList == max(descent of Fonts)
281 EXPECT_EQ(std::max(font1.GetHeight() - font1.GetBaseline(), 284 EXPECT_EQ(std::max(font1.GetHeight() - font1.GetBaseline(),
282 font2.GetHeight() - font2.GetBaseline()), 285 font2.GetHeight() - font2.GetBaseline()),
283 font_list_mix.GetHeight() - font_list_mix.GetBaseline()); 286 font_list_mix.GetHeight() - font_list_mix.GetBaseline());
284 // descent of FontList == max(descent of Fonts)
285 EXPECT_EQ(std::max(font1.GetBaseline(), font2.GetBaseline()),
286 font_list_mix.GetBaseline());
287 } 287 }
288 288
289 TEST(FontListTest, Fonts_DeriveWithHeightUpperBound) { 289 TEST(FontListTest, Fonts_DeriveWithHeightUpperBound) {
290 std::vector<Font> fonts; 290 std::vector<Font> fonts;
291 291
292 fonts.push_back(gfx::Font("Arial", 18)); 292 fonts.push_back(gfx::Font("Arial", 18));
293 fonts.push_back(gfx::Font("Sans serif", 18)); 293 fonts.push_back(gfx::Font("Sans serif", 18));
294 fonts.push_back(gfx::Font("Symbol", 18)); 294 fonts.push_back(gfx::Font("Symbol", 18));
295 FontList font_list = FontList(fonts); 295 FontList font_list = FontList(fonts);
296 296
297 // A smaller upper bound should derive a font list with a smaller height. 297 // A smaller upper bound should derive a font list with a smaller height.
298 const int height_1 = font_list.GetHeight() - 5; 298 const int height_1 = font_list.GetHeight() - 5;
299 FontList derived_1 = font_list.DeriveWithHeightUpperBound(height_1); 299 FontList derived_1 = font_list.DeriveWithHeightUpperBound(height_1);
300 EXPECT_LE(derived_1.GetHeight(), height_1); 300 EXPECT_LE(derived_1.GetHeight(), height_1);
301 EXPECT_LT(derived_1.GetHeight(), font_list.GetHeight()); 301 EXPECT_LT(derived_1.GetHeight(), font_list.GetHeight());
302 EXPECT_LT(derived_1.GetFontSize(), font_list.GetFontSize()); 302 EXPECT_LT(derived_1.GetFontSize(), font_list.GetFontSize());
303 303
304 // A larger upper bound should not change the height of the font list. 304 // A larger upper bound should not change the height of the font list.
305 const int height_2 = font_list.GetHeight() + 5; 305 const int height_2 = font_list.GetHeight() + 5;
306 FontList derived_2 = font_list.DeriveWithHeightUpperBound(height_2); 306 FontList derived_2 = font_list.DeriveWithHeightUpperBound(height_2);
307 EXPECT_LE(derived_2.GetHeight(), height_2); 307 EXPECT_LE(derived_2.GetHeight(), height_2);
308 EXPECT_EQ(font_list.GetHeight(), derived_2.GetHeight()); 308 EXPECT_EQ(font_list.GetHeight(), derived_2.GetHeight());
309 EXPECT_EQ(font_list.GetFontSize(), derived_2.GetFontSize()); 309 EXPECT_EQ(font_list.GetFontSize(), derived_2.GetFontSize());
310 } 310 }
311 311
312 } // namespace gfx 312 } // namespace gfx
OLDNEW
« no previous file with comments | « no previous file | ui/gfx/platform_font_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698