OLD | NEW |
---|---|
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 Loading... | |
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 |
OLD | NEW |