| 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   EXPECT_NE(font1.GetHeight(), font2.GetHeight()); | 
| 275             font2.GetHeight() - font2.GetBaseline()); |  | 
| 276   std::vector<Font> fonts; | 275   std::vector<Font> fonts; | 
| 277   fonts.push_back(font1); | 276   fonts.push_back(font1); | 
| 278   fonts.push_back(font2); | 277   fonts.push_back(font2); | 
| 279   FontList font_list_mix(fonts); | 278   FontList font_list_mix(fonts); | 
| 280   // ascent of FontList == max(ascent of Fonts) | 279   // ascent of FontList == max(ascent of Fonts) | 
|  | 280   EXPECT_EQ(std::max(font1.GetBaseline(), font2.GetBaseline()), | 
|  | 281             font_list_mix.GetBaseline()); | 
|  | 282   // descent of FontList == max(descent of Fonts) | 
| 281   EXPECT_EQ(std::max(font1.GetHeight() - font1.GetBaseline(), | 283   EXPECT_EQ(std::max(font1.GetHeight() - font1.GetBaseline(), | 
| 282                      font2.GetHeight() - font2.GetBaseline()), | 284                      font2.GetHeight() - font2.GetBaseline()), | 
| 283             font_list_mix.GetHeight() - font_list_mix.GetBaseline()); | 285             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 } | 286 } | 
| 288 | 287 | 
| 289 TEST(FontListTest, Fonts_DeriveWithHeightUpperBound) { | 288 TEST(FontListTest, Fonts_DeriveWithHeightUpperBound) { | 
| 290   std::vector<Font> fonts; | 289   std::vector<Font> fonts; | 
| 291 | 290 | 
| 292   fonts.push_back(gfx::Font("Arial", 18)); | 291   fonts.push_back(gfx::Font("Arial", 18)); | 
| 293   fonts.push_back(gfx::Font("Sans serif", 18)); | 292   fonts.push_back(gfx::Font("Sans serif", 18)); | 
| 294   fonts.push_back(gfx::Font("Symbol", 18)); | 293   fonts.push_back(gfx::Font("Symbol", 18)); | 
| 295   FontList font_list = FontList(fonts); | 294   FontList font_list = FontList(fonts); | 
| 296 | 295 | 
| 297   // A smaller upper bound should derive a font list with a smaller height. | 296   // A smaller upper bound should derive a font list with a smaller height. | 
| 298   const int height_1 = font_list.GetHeight() - 5; | 297   const int height_1 = font_list.GetHeight() - 5; | 
| 299   FontList derived_1 = font_list.DeriveWithHeightUpperBound(height_1); | 298   FontList derived_1 = font_list.DeriveWithHeightUpperBound(height_1); | 
| 300   EXPECT_LE(derived_1.GetHeight(), height_1); | 299   EXPECT_LE(derived_1.GetHeight(), height_1); | 
| 301   EXPECT_LT(derived_1.GetHeight(), font_list.GetHeight()); | 300   EXPECT_LT(derived_1.GetHeight(), font_list.GetHeight()); | 
| 302   EXPECT_LT(derived_1.GetFontSize(), font_list.GetFontSize()); | 301   EXPECT_LT(derived_1.GetFontSize(), font_list.GetFontSize()); | 
| 303 | 302 | 
| 304   // A larger upper bound should not change the height of the font list. | 303   // A larger upper bound should not change the height of the font list. | 
| 305   const int height_2 = font_list.GetHeight() + 5; | 304   const int height_2 = font_list.GetHeight() + 5; | 
| 306   FontList derived_2 = font_list.DeriveWithHeightUpperBound(height_2); | 305   FontList derived_2 = font_list.DeriveWithHeightUpperBound(height_2); | 
| 307   EXPECT_LE(derived_2.GetHeight(), height_2); | 306   EXPECT_LE(derived_2.GetHeight(), height_2); | 
| 308   EXPECT_EQ(font_list.GetHeight(), derived_2.GetHeight()); | 307   EXPECT_EQ(font_list.GetHeight(), derived_2.GetHeight()); | 
| 309   EXPECT_EQ(font_list.GetFontSize(), derived_2.GetFontSize()); | 308   EXPECT_EQ(font_list.GetFontSize(), derived_2.GetFontSize()); | 
| 310 } | 309 } | 
| 311 | 310 | 
| 312 }  // namespace gfx | 311 }  // namespace gfx | 
| OLD | NEW | 
|---|