| Index: ui/gfx/font_list_unittest.cc
|
| diff --git a/ui/gfx/font_list_unittest.cc b/ui/gfx/font_list_unittest.cc
|
| deleted file mode 100644
|
| index 6dcbb855d083d4483fb3e85e110cad02714fe174..0000000000000000000000000000000000000000
|
| --- a/ui/gfx/font_list_unittest.cc
|
| +++ /dev/null
|
| @@ -1,312 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ui/gfx/font_list.h"
|
| -
|
| -#include <algorithm>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/strings/string_number_conversions.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace {
|
| -
|
| -// Helper function for comparing fonts for equality.
|
| -std::string FontToString(const gfx::Font& font) {
|
| - std::string font_string = font.GetFontName();
|
| - font_string += "|";
|
| - font_string += base::IntToString(font.GetFontSize());
|
| - int style = font.GetStyle();
|
| - if (style & gfx::Font::BOLD)
|
| - font_string += "|bold";
|
| - if (style & gfx::Font::ITALIC)
|
| - font_string += "|italic";
|
| - if (style & gfx::Font::UNDERLINE)
|
| - font_string += "|underline";
|
| - return font_string;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -namespace gfx {
|
| -
|
| -TEST(FontListTest, FontDescString_FromDescString) {
|
| - // Test init from font name style size string.
|
| - FontList font_list = FontList("Droid Sans serif, Sans serif, 10px");
|
| - EXPECT_EQ("Droid Sans serif, Sans serif, 10px",
|
| - font_list.GetFontDescriptionString());
|
| -}
|
| -
|
| -TEST(FontListTest, FontDescString_FromFontNamesStyleAndSize) {
|
| - // Test init from font names, style and size.
|
| - std::vector<std::string> font_names;
|
| - font_names.push_back("Arial");
|
| - font_names.push_back("Droid Sans serif");
|
| - int font_style = Font::BOLD | Font::ITALIC | Font::UNDERLINE;
|
| - int font_size = 11;
|
| - FontList font_list = FontList(font_names, font_style, font_size);
|
| - // "Underline" doesn't appear in the font description string.
|
| - EXPECT_EQ("Arial,Droid Sans serif,Bold Italic 11px",
|
| - font_list.GetFontDescriptionString());
|
| -}
|
| -
|
| -TEST(FontListTest, FontDescString_FromFont) {
|
| - // Test init from Font.
|
| - Font font("Arial", 8);
|
| - FontList font_list = FontList(font);
|
| - EXPECT_EQ("Arial,8px", font_list.GetFontDescriptionString());
|
| -}
|
| -
|
| -TEST(FontListTest, FontDescString_FromFontWithNonNormalStyle) {
|
| - // Test init from Font with non-normal style.
|
| - Font font("Arial", 8);
|
| - FontList font_list = FontList(font.Derive(2, Font::BOLD));
|
| - EXPECT_EQ("Arial,Bold 10px", font_list.GetFontDescriptionString());
|
| -
|
| - font_list = FontList(font.Derive(-2, Font::ITALIC));
|
| - EXPECT_EQ("Arial,Italic 6px", font_list.GetFontDescriptionString());
|
| -
|
| - // "Underline" doesn't appear in the font description string.
|
| - font_list = FontList(font.Derive(-4, Font::UNDERLINE));
|
| - EXPECT_EQ("Arial,4px", font_list.GetFontDescriptionString());
|
| -}
|
| -
|
| -TEST(FontListTest, FontDescString_FromFontVector) {
|
| - // Test init from Font vector.
|
| - Font font("Arial", 8);
|
| - Font font_1("Sans serif", 10);
|
| - std::vector<Font> fonts;
|
| - fonts.push_back(font.Derive(0, Font::BOLD));
|
| - fonts.push_back(font_1.Derive(-2, Font::BOLD));
|
| - FontList font_list = FontList(fonts);
|
| - EXPECT_EQ("Arial,Sans serif,Bold 8px", font_list.GetFontDescriptionString());
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_FromDescString) {
|
| - // Test init from font name size string.
|
| - FontList font_list = FontList("serif,Sans serif, 13px");
|
| - const std::vector<Font>& fonts = font_list.GetFonts();
|
| - EXPECT_EQ(2U, fonts.size());
|
| - EXPECT_EQ("serif|13", FontToString(fonts[0]));
|
| - EXPECT_EQ("Sans serif|13", FontToString(fonts[1]));
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_FromDescStringInFlexibleFormat) {
|
| - // Test init from font name size string with flexible format.
|
| - FontList font_list = FontList(" serif , Sans serif , 13px");
|
| - const std::vector<Font>& fonts = font_list.GetFonts();
|
| - EXPECT_EQ(2U, fonts.size());
|
| - EXPECT_EQ("serif|13", FontToString(fonts[0]));
|
| - EXPECT_EQ("Sans serif|13", FontToString(fonts[1]));
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_FromDescStringWithStyleInFlexibleFormat) {
|
| - // Test init from font name style size string with flexible format.
|
| - FontList font_list = FontList(" serif , Sans serif , Bold "
|
| - " Italic 13px");
|
| - const std::vector<Font>& fonts = font_list.GetFonts();
|
| - EXPECT_EQ(2U, fonts.size());
|
| - EXPECT_EQ("serif|13|bold|italic", FontToString(fonts[0]));
|
| - EXPECT_EQ("Sans serif|13|bold|italic", FontToString(fonts[1]));
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_FromFont) {
|
| - // Test init from Font.
|
| - Font font("Arial", 8);
|
| - FontList font_list = FontList(font);
|
| - const std::vector<Font>& fonts = font_list.GetFonts();
|
| - EXPECT_EQ(1U, fonts.size());
|
| - EXPECT_EQ("Arial|8", FontToString(fonts[0]));
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_FromFontWithNonNormalStyle) {
|
| - // Test init from Font with non-normal style.
|
| - Font font("Arial", 8);
|
| - FontList font_list = FontList(font.Derive(2, Font::BOLD));
|
| - std::vector<Font> fonts = font_list.GetFonts();
|
| - EXPECT_EQ(1U, fonts.size());
|
| - EXPECT_EQ("Arial|10|bold", FontToString(fonts[0]));
|
| -
|
| - font_list = FontList(font.Derive(-2, Font::ITALIC));
|
| - fonts = font_list.GetFonts();
|
| - EXPECT_EQ(1U, fonts.size());
|
| - EXPECT_EQ("Arial|6|italic", FontToString(fonts[0]));
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_FromFontVector) {
|
| - // Test init from Font vector.
|
| - Font font("Arial", 8);
|
| - Font font_1("Sans serif", 10);
|
| - std::vector<Font> input_fonts;
|
| - input_fonts.push_back(font.Derive(0, Font::BOLD));
|
| - input_fonts.push_back(font_1.Derive(-2, Font::BOLD));
|
| - FontList font_list = FontList(input_fonts);
|
| - const std::vector<Font>& fonts = font_list.GetFonts();
|
| - EXPECT_EQ(2U, fonts.size());
|
| - EXPECT_EQ("Arial|8|bold", FontToString(fonts[0]));
|
| - EXPECT_EQ("Sans serif|8|bold", FontToString(fonts[1]));
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_DescStringWithStyleInFlexibleFormat_RoundTrip) {
|
| - // Test round trip from font description string to font vector to
|
| - // font description string.
|
| - FontList font_list = FontList(" serif , Sans serif , Bold "
|
| - " Italic 13px");
|
| -
|
| - const std::vector<Font>& fonts = font_list.GetFonts();
|
| - FontList font_list_1 = FontList(fonts);
|
| - const std::string& desc_str = font_list_1.GetFontDescriptionString();
|
| -
|
| - EXPECT_EQ("serif,Sans serif,Bold Italic 13px", desc_str);
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_FontVector_RoundTrip) {
|
| - // Test round trip from font vector to font description string to font vector.
|
| - Font font("Arial", 8);
|
| - Font font_1("Sans serif", 10);
|
| - std::vector<Font> input_fonts;
|
| - input_fonts.push_back(font.Derive(0, Font::BOLD));
|
| - input_fonts.push_back(font_1.Derive(-2, Font::BOLD));
|
| - FontList font_list = FontList(input_fonts);
|
| -
|
| - const std::string& desc_string = font_list.GetFontDescriptionString();
|
| - FontList font_list_1 = FontList(desc_string);
|
| - const std::vector<Font>& round_trip_fonts = font_list_1.GetFonts();
|
| -
|
| - EXPECT_EQ(2U, round_trip_fonts.size());
|
| - EXPECT_EQ("Arial|8|bold", FontToString(round_trip_fonts[0]));
|
| - EXPECT_EQ("Sans serif|8|bold", FontToString(round_trip_fonts[1]));
|
| -}
|
| -
|
| -TEST(FontListTest, FontDescString_GetStyle) {
|
| - FontList font_list = FontList("Arial,Sans serif, 8px");
|
| - EXPECT_EQ(Font::NORMAL, font_list.GetFontStyle());
|
| -
|
| - font_list = FontList("Arial,Sans serif,Bold 8px");
|
| - EXPECT_EQ(Font::BOLD, font_list.GetFontStyle());
|
| -
|
| - font_list = FontList("Arial,Sans serif,Italic 8px");
|
| - EXPECT_EQ(Font::ITALIC, font_list.GetFontStyle());
|
| -
|
| - font_list = FontList("Arial,Italic Bold 8px");
|
| - EXPECT_EQ(Font::BOLD | Font::ITALIC, font_list.GetFontStyle());
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_GetStyle) {
|
| - std::vector<Font> fonts;
|
| - fonts.push_back(gfx::Font("Arial", 8));
|
| - fonts.push_back(gfx::Font("Sans serif", 8));
|
| - FontList font_list = FontList(fonts);
|
| - EXPECT_EQ(Font::NORMAL, font_list.GetFontStyle());
|
| - fonts[0] = fonts[0].Derive(0, Font::ITALIC | Font::BOLD);
|
| - fonts[1] = fonts[1].Derive(0, Font::ITALIC | Font::BOLD);
|
| - font_list = FontList(fonts);
|
| - EXPECT_EQ(Font::ITALIC | Font::BOLD, font_list.GetFontStyle());
|
| -}
|
| -
|
| -TEST(FontListTest, FontDescString_Derive) {
|
| - FontList font_list = FontList("Arial,Sans serif,Bold Italic 8px");
|
| -
|
| - FontList derived = font_list.Derive(10, Font::ITALIC | Font::UNDERLINE);
|
| - EXPECT_EQ("Arial,Sans serif,Italic 18px", derived.GetFontDescriptionString());
|
| - EXPECT_EQ(Font::ITALIC | Font::UNDERLINE, derived.GetFontStyle());
|
| -
|
| - // FontList has a special case for Font::UNDERLINE. See if the handling of
|
| - // Font::UNDERLINE in GetFonts() is okay or not.
|
| - derived.GetFonts();
|
| - EXPECT_EQ(Font::ITALIC | Font::UNDERLINE, derived.GetFontStyle());
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_Derive) {
|
| - std::vector<Font> fonts;
|
| - fonts.push_back(gfx::Font("Arial", 8));
|
| - fonts.push_back(gfx::Font("Sans serif", 8));
|
| - FontList font_list = FontList(fonts);
|
| -
|
| - FontList derived = font_list.Derive(5, Font::BOLD | Font::UNDERLINE);
|
| - const std::vector<Font>& derived_fonts = derived.GetFonts();
|
| -
|
| - EXPECT_EQ(2U, derived_fonts.size());
|
| - EXPECT_EQ("Arial|13|bold|underline", FontToString(derived_fonts[0]));
|
| - EXPECT_EQ("Sans serif|13|bold|underline", FontToString(derived_fonts[1]));
|
| -}
|
| -
|
| -TEST(FontListTest, FontDescString_DeriveWithSizeDelta) {
|
| - FontList font_list = FontList("Arial,Sans serif,Bold 18px");
|
| -
|
| - FontList derived = font_list.DeriveWithSizeDelta(-8);
|
| - EXPECT_EQ("Arial,Sans serif,Bold 10px",
|
| - derived.GetFontDescriptionString());
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_DeriveWithSizeDelta) {
|
| - std::vector<Font> fonts;
|
| - fonts.push_back(gfx::Font("Arial", 18).Derive(0, Font::ITALIC));
|
| - fonts.push_back(gfx::Font("Sans serif", 18).Derive(0, Font::ITALIC));
|
| - FontList font_list = FontList(fonts);
|
| -
|
| - FontList derived = font_list.DeriveWithSizeDelta(-5);
|
| - const std::vector<Font>& derived_fonts = derived.GetFonts();
|
| -
|
| - EXPECT_EQ(2U, derived_fonts.size());
|
| - EXPECT_EQ("Arial|13|italic", FontToString(derived_fonts[0]));
|
| - EXPECT_EQ("Sans serif|13|italic", FontToString(derived_fonts[1]));
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_GetHeight_GetBaseline) {
|
| - // If a font list has only one font, the height and baseline must be the same.
|
| - Font font1("Arial", 16);
|
| - ASSERT_EQ("arial",
|
| - base::StringToLowerASCII(font1.GetActualFontNameForTesting()));
|
| - FontList font_list1("Arial, 16px");
|
| - EXPECT_EQ(font1.GetHeight(), font_list1.GetHeight());
|
| - EXPECT_EQ(font1.GetBaseline(), font_list1.GetBaseline());
|
| -
|
| - // If there are two different fonts, the font list returns the max value
|
| - // for ascent and descent.
|
| - Font font2("Symbol", 16);
|
| - ASSERT_EQ("symbol",
|
| - base::StringToLowerASCII(font2.GetActualFontNameForTesting()));
|
| - EXPECT_NE(font1.GetBaseline(), font2.GetBaseline());
|
| - EXPECT_NE(font1.GetHeight() - font1.GetBaseline(),
|
| - font2.GetHeight() - font2.GetBaseline());
|
| - std::vector<Font> fonts;
|
| - fonts.push_back(font1);
|
| - fonts.push_back(font2);
|
| - FontList font_list_mix(fonts);
|
| - // ascent of FontList == max(ascent of Fonts)
|
| - EXPECT_EQ(std::max(font1.GetHeight() - font1.GetBaseline(),
|
| - font2.GetHeight() - font2.GetBaseline()),
|
| - font_list_mix.GetHeight() - font_list_mix.GetBaseline());
|
| - // descent of FontList == max(descent of Fonts)
|
| - EXPECT_EQ(std::max(font1.GetBaseline(), font2.GetBaseline()),
|
| - font_list_mix.GetBaseline());
|
| -}
|
| -
|
| -TEST(FontListTest, Fonts_DeriveWithHeightUpperBound) {
|
| - std::vector<Font> fonts;
|
| -
|
| - fonts.push_back(gfx::Font("Arial", 18));
|
| - fonts.push_back(gfx::Font("Sans serif", 18));
|
| - fonts.push_back(gfx::Font("Symbol", 18));
|
| - FontList font_list = FontList(fonts);
|
| -
|
| - // A smaller upper bound should derive a font list with a smaller height.
|
| - const int height_1 = font_list.GetHeight() - 5;
|
| - FontList derived_1 = font_list.DeriveWithHeightUpperBound(height_1);
|
| - EXPECT_LE(derived_1.GetHeight(), height_1);
|
| - EXPECT_LT(derived_1.GetHeight(), font_list.GetHeight());
|
| - EXPECT_LT(derived_1.GetFontSize(), font_list.GetFontSize());
|
| -
|
| - // A larger upper bound should not change the height of the font list.
|
| - const int height_2 = font_list.GetHeight() + 5;
|
| - FontList derived_2 = font_list.DeriveWithHeightUpperBound(height_2);
|
| - EXPECT_LE(derived_2.GetHeight(), height_2);
|
| - EXPECT_EQ(font_list.GetHeight(), derived_2.GetHeight());
|
| - EXPECT_EQ(font_list.GetFontSize(), derived_2.GetFontSize());
|
| -}
|
| -
|
| -} // namespace gfx
|
|
|