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

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

Issue 142523003: Renames gfx::FontList::Derive* family. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Synced. Created 6 years, 10 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
« no previous file with comments | « ui/gfx/font_list.cc ('k') | ui/gfx/render_text.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 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 fonts.push_back(gfx::Font("Arial", 8)); 200 fonts.push_back(gfx::Font("Arial", 8));
201 fonts.push_back(gfx::Font("Sans serif", 8)); 201 fonts.push_back(gfx::Font("Sans serif", 8));
202 FontList font_list = FontList(fonts); 202 FontList font_list = FontList(fonts);
203 EXPECT_EQ(Font::NORMAL, font_list.GetFontStyle()); 203 EXPECT_EQ(Font::NORMAL, font_list.GetFontStyle());
204 fonts[0] = fonts[0].DeriveFont(0, Font::ITALIC | Font::BOLD); 204 fonts[0] = fonts[0].DeriveFont(0, Font::ITALIC | Font::BOLD);
205 fonts[1] = fonts[1].DeriveFont(0, Font::ITALIC | Font::BOLD); 205 fonts[1] = fonts[1].DeriveFont(0, Font::ITALIC | Font::BOLD);
206 font_list = FontList(fonts); 206 font_list = FontList(fonts);
207 EXPECT_EQ(Font::ITALIC | Font::BOLD, font_list.GetFontStyle()); 207 EXPECT_EQ(Font::ITALIC | Font::BOLD, font_list.GetFontStyle());
208 } 208 }
209 209
210 TEST(FontListTest, FontDescString_DeriveFontList) { 210 TEST(FontListTest, FontDescString_Derive) {
211 FontList font_list = FontList("Arial,Sans serif, 8px"); 211 FontList font_list = FontList("Arial,Sans serif,Bold Italic 8px");
212 212
213 FontList derived = font_list.DeriveFontList(Font::BOLD | Font::ITALIC); 213 FontList derived = font_list.Derive(10, Font::ITALIC | Font::UNDERLINE);
214 EXPECT_EQ("Arial,Sans serif,Bold Italic 8px", 214 EXPECT_EQ("Arial,Sans serif,Italic 18px", derived.GetFontDescriptionString());
215 derived.GetFontDescriptionString()); 215 EXPECT_EQ(Font::ITALIC | Font::UNDERLINE, derived.GetFontStyle());
216
217 // FontList has a special case for Font::UNDERLINE. See if the handling of
218 // Font::UNDERLINE in GetFonts() is okay or not.
219 derived.GetFonts();
220 EXPECT_EQ(Font::ITALIC | Font::UNDERLINE, derived.GetFontStyle());
216 } 221 }
217 222
218 TEST(FontListTest, Fonts_DeriveFontList) { 223 TEST(FontListTest, Fonts_Derive) {
219 std::vector<Font> fonts; 224 std::vector<Font> fonts;
220 fonts.push_back(gfx::Font("Arial", 8)); 225 fonts.push_back(gfx::Font("Arial", 8));
221 fonts.push_back(gfx::Font("Sans serif", 8)); 226 fonts.push_back(gfx::Font("Sans serif", 8));
222 FontList font_list = FontList(fonts); 227 FontList font_list = FontList(fonts);
223 228
224 FontList derived = font_list.DeriveFontList(Font::BOLD | Font::ITALIC); 229 FontList derived = font_list.Derive(5, Font::BOLD | Font::UNDERLINE);
225 const std::vector<Font>& derived_fonts = derived.GetFonts(); 230 const std::vector<Font>& derived_fonts = derived.GetFonts();
226 231
227 EXPECT_EQ(2U, derived_fonts.size()); 232 EXPECT_EQ(2U, derived_fonts.size());
228 EXPECT_EQ("Arial|8|bold|italic", FontToString(derived_fonts[0])); 233 EXPECT_EQ("Arial|13|bold|underline", FontToString(derived_fonts[0]));
229 EXPECT_EQ("Sans serif|8|bold|italic", FontToString(derived_fonts[1])); 234 EXPECT_EQ("Sans serif|13|bold|underline", FontToString(derived_fonts[1]));
230 } 235 }
231 236
232 TEST(FontListTest, FontDescString_DeriveFontListWithSize) { 237 TEST(FontListTest, FontDescString_DeriveWithSizeDelta) {
233 FontList font_list = FontList("Arial,Sans serif,Bold Italic 8px");
234
235 FontList derived = font_list.DeriveFontListWithSize(10);
236 EXPECT_EQ("Arial,Sans serif,Bold Italic 10px",
237 derived.GetFontDescriptionString());
238 }
239
240 TEST(FontListTest, Fonts_DeriveFontListWithSize) {
241 std::vector<Font> fonts;
242 fonts.push_back(gfx::Font("Arial", 8));
243 fonts.push_back(gfx::Font("Sans serif", 8));
244 FontList font_list = FontList(fonts);
245
246 FontList derived = font_list.DeriveFontListWithSize(5);
247 const std::vector<Font>& derived_fonts = derived.GetFonts();
248
249 EXPECT_EQ(2U, derived_fonts.size());
250 EXPECT_EQ("Arial|5", FontToString(derived_fonts[0]));
251 EXPECT_EQ("Sans serif|5", FontToString(derived_fonts[1]));
252 }
253
254 TEST(FontListTest, FontDescString_DeriveFontListWithSizeDelta) {
255 FontList font_list = FontList("Arial,Sans serif,Bold 18px"); 238 FontList font_list = FontList("Arial,Sans serif,Bold 18px");
256 239
257 FontList derived = font_list.DeriveFontListWithSizeDelta(-8); 240 FontList derived = font_list.DeriveWithSizeDelta(-8);
258 EXPECT_EQ("Arial,Sans serif,Bold 10px", 241 EXPECT_EQ("Arial,Sans serif,Bold 10px",
259 derived.GetFontDescriptionString()); 242 derived.GetFontDescriptionString());
260 } 243 }
261 244
262 TEST(FontListTest, Fonts_DeriveFontListWithSizeDelta) { 245 TEST(FontListTest, Fonts_DeriveWithSizeDelta) {
263 std::vector<Font> fonts; 246 std::vector<Font> fonts;
264 fonts.push_back(gfx::Font("Arial", 18).DeriveFont(0, Font::ITALIC)); 247 fonts.push_back(gfx::Font("Arial", 18).DeriveFont(0, Font::ITALIC));
265 fonts.push_back(gfx::Font("Sans serif", 18).DeriveFont(0, Font::ITALIC)); 248 fonts.push_back(gfx::Font("Sans serif", 18).DeriveFont(0, Font::ITALIC));
266 FontList font_list = FontList(fonts); 249 FontList font_list = FontList(fonts);
267 250
268 FontList derived = font_list.DeriveFontListWithSizeDelta(-5); 251 FontList derived = font_list.DeriveWithSizeDelta(-5);
269 const std::vector<Font>& derived_fonts = derived.GetFonts(); 252 const std::vector<Font>& derived_fonts = derived.GetFonts();
270 253
271 EXPECT_EQ(2U, derived_fonts.size()); 254 EXPECT_EQ(2U, derived_fonts.size());
272 EXPECT_EQ("Arial|13|italic", FontToString(derived_fonts[0])); 255 EXPECT_EQ("Arial|13|italic", FontToString(derived_fonts[0]));
273 EXPECT_EQ("Sans serif|13|italic", FontToString(derived_fonts[1])); 256 EXPECT_EQ("Sans serif|13|italic", FontToString(derived_fonts[1]));
274 } 257 }
275 258
276 TEST(FontListTest, FontDescString_DeriveFontListWithSizeDeltaAndStyle) {
277 FontList font_list = FontList("Arial,Sans serif,Bold Italic 8px");
278
279 FontList derived = font_list.DeriveFontListWithSizeDeltaAndStyle(
280 10, Font::ITALIC | Font::UNDERLINE);
281 EXPECT_EQ("Arial,Sans serif,Italic 18px",
282 derived.GetFontDescriptionString());
283 EXPECT_EQ(Font::ITALIC | Font::UNDERLINE,
284 derived.GetFontStyle());
285
286 // FontList has a special care for Font::UNDERLINE. See if the handling of
287 // Font::UNDERLINE in GetFonts() is okay or not.
288 derived.GetFonts();
289 EXPECT_EQ(Font::ITALIC | Font::UNDERLINE,
290 derived.GetFontStyle());
291 }
292
293 TEST(FontListTest, Fonts_DeriveFontListWithSizeDeltaAndStyle) {
294 std::vector<Font> fonts;
295 fonts.push_back(gfx::Font("Arial", 8));
296 fonts.push_back(gfx::Font("Sans serif", 8));
297 FontList font_list = FontList(fonts);
298
299 FontList derived = font_list.DeriveFontListWithSizeDeltaAndStyle(
300 5, Font::BOLD | Font::UNDERLINE);
301 const std::vector<Font>& derived_fonts = derived.GetFonts();
302
303 EXPECT_EQ(2U, derived_fonts.size());
304 EXPECT_EQ("Arial|13|bold|underline", FontToString(derived_fonts[0]));
305 EXPECT_EQ("Sans serif|13|bold|underline", FontToString(derived_fonts[1]));
306 }
307
308 TEST(FontListTest, Fonts_GetHeight_GetBaseline) { 259 TEST(FontListTest, Fonts_GetHeight_GetBaseline) {
309 // 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.
310 Font font1("Arial", 16); 261 Font font1("Arial", 16);
311 ASSERT_EQ("arial", StringToLowerASCII(font1.GetActualFontNameForTesting())); 262 ASSERT_EQ("arial", StringToLowerASCII(font1.GetActualFontNameForTesting()));
312 FontList font_list1("Arial, 16px"); 263 FontList font_list1("Arial, 16px");
313 EXPECT_EQ(font1.GetHeight(), font_list1.GetHeight()); 264 EXPECT_EQ(font1.GetHeight(), font_list1.GetHeight());
314 EXPECT_EQ(font1.GetBaseline(), font_list1.GetBaseline()); 265 EXPECT_EQ(font1.GetBaseline(), font_list1.GetBaseline());
315 266
316 // If there are two different fonts, the font list returns the max value 267 // If there are two different fonts, the font list returns the max value
317 // for ascent and descent. 268 // for ascent and descent.
318 Font font2("Symbol", 16); 269 Font font2("Symbol", 16);
319 ASSERT_EQ("symbol", StringToLowerASCII(font2.GetActualFontNameForTesting())); 270 ASSERT_EQ("symbol", StringToLowerASCII(font2.GetActualFontNameForTesting()));
320 EXPECT_NE(font1.GetBaseline(), font2.GetBaseline()); 271 EXPECT_NE(font1.GetBaseline(), font2.GetBaseline());
321 EXPECT_NE(font1.GetHeight() - font1.GetBaseline(), 272 EXPECT_NE(font1.GetHeight() - font1.GetBaseline(),
322 font2.GetHeight() - font2.GetBaseline()); 273 font2.GetHeight() - font2.GetBaseline());
323 std::vector<Font> fonts; 274 std::vector<Font> fonts;
324 fonts.push_back(font1); 275 fonts.push_back(font1);
325 fonts.push_back(font2); 276 fonts.push_back(font2);
326 FontList font_list_mix(fonts); 277 FontList font_list_mix(fonts);
327 // ascent of FontList == max(ascent of Fonts) 278 // ascent of FontList == max(ascent of Fonts)
328 EXPECT_EQ(std::max(font1.GetHeight() - font1.GetBaseline(), 279 EXPECT_EQ(std::max(font1.GetHeight() - font1.GetBaseline(),
329 font2.GetHeight() - font2.GetBaseline()), 280 font2.GetHeight() - font2.GetBaseline()),
330 font_list_mix.GetHeight() - font_list_mix.GetBaseline()); 281 font_list_mix.GetHeight() - font_list_mix.GetBaseline());
331 // descent of FontList == max(descent of Fonts) 282 // descent of FontList == max(descent of Fonts)
332 EXPECT_EQ(std::max(font1.GetBaseline(), font2.GetBaseline()), 283 EXPECT_EQ(std::max(font1.GetBaseline(), font2.GetBaseline()),
333 font_list_mix.GetBaseline()); 284 font_list_mix.GetBaseline());
334 } 285 }
335 286
336 } // namespace gfx 287 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gfx/font_list.cc ('k') | ui/gfx/render_text.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698