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

Unified Diff: ui/gfx/font_render_params_linux_unittest.cc

Issue 854713003: More old files deletion. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Fix tryjobs? 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/font_render_params_linux.cc ('k') | ui/gfx/font_render_params_mac.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/font_render_params_linux_unittest.cc
diff --git a/ui/gfx/font_render_params_linux_unittest.cc b/ui/gfx/font_render_params_linux_unittest.cc
deleted file mode 100644
index a9b230f748f689cd009a8cfe57cd0e9f49e7e806..0000000000000000000000000000000000000000
--- a/ui/gfx/font_render_params_linux_unittest.cc
+++ /dev/null
@@ -1,383 +0,0 @@
-// Copyright 2014 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_render_params.h"
-
-#include "base/files/file_path.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/logging.h"
-#include "base/macros.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/font.h"
-#include "ui/gfx/linux_font_delegate.h"
-#include "ui/gfx/pango_util.h"
-#include "ui/gfx/test/fontconfig_util_linux.h"
-
-namespace gfx {
-
-namespace {
-
-// Implementation of LinuxFontDelegate that returns a canned FontRenderParams
-// struct. This is used to isolate tests from the system's local configuration.
-class TestFontDelegate : public LinuxFontDelegate {
- public:
- TestFontDelegate() {}
- virtual ~TestFontDelegate() {}
-
- void set_params(const FontRenderParams& params) { params_ = params; }
-
- virtual FontRenderParams GetDefaultFontRenderParams() const override {
- return params_;
- }
- virtual scoped_ptr<ScopedPangoFontDescription>
- GetDefaultPangoFontDescription() const override {
- NOTIMPLEMENTED();
- return scoped_ptr<ScopedPangoFontDescription>();
- }
- virtual double GetFontDPI() const override {
- NOTIMPLEMENTED();
- return 96.0;
- }
-
- private:
- FontRenderParams params_;
-
- DISALLOW_COPY_AND_ASSIGN(TestFontDelegate);
-};
-
-// Loads the first system font defined by fontconfig_util_linux.h with a base
-// filename of |basename|. Case is ignored.
-bool LoadSystemFont(const std::string& basename) {
- for (size_t i = 0; i < kNumSystemFontsForFontconfig; ++i) {
- base::FilePath path(gfx::kSystemFontsForFontconfig[i]);
- if (strcasecmp(path.BaseName().value().c_str(), basename.c_str()) == 0)
- return LoadFontIntoFontconfig(path);
- }
- LOG(ERROR) << "Unable to find system font named " << basename;
- return false;
-}
-
-} // namespace
-
-class FontRenderParamsTest : public testing::Test {
- public:
- FontRenderParamsTest() {
- SetUpFontconfig();
- CHECK(temp_dir_.CreateUniqueTempDir());
- original_font_delegate_ = LinuxFontDelegate::instance();
- LinuxFontDelegate::SetInstance(&test_font_delegate_);
- ClearFontRenderParamsCacheForTest();
- }
-
- virtual ~FontRenderParamsTest() {
- LinuxFontDelegate::SetInstance(
- const_cast<LinuxFontDelegate*>(original_font_delegate_));
- TearDownFontconfig();
- }
-
- protected:
- base::ScopedTempDir temp_dir_;
- const LinuxFontDelegate* original_font_delegate_;
- TestFontDelegate test_font_delegate_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(FontRenderParamsTest);
-};
-
-TEST_F(FontRenderParamsTest, Default) {
- // Fontconfig needs to know about at least one font to return a match.
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
- std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
- CreateFontconfigEditStanza("antialias", "bool", "true") +
- CreateFontconfigEditStanza("autohint", "bool", "false") +
- CreateFontconfigEditStanza("hinting", "bool", "true") +
- CreateFontconfigEditStanza("hintstyle", "const", "hintfull") +
- CreateFontconfigEditStanza("rgba", "const", "rgb") +
- kFontconfigMatchFooter +
- kFontconfigFileFooter));
-
- FontRenderParams params = GetFontRenderParams(
- FontRenderParamsQuery(true), NULL);
- EXPECT_TRUE(params.antialiasing);
- EXPECT_FALSE(params.autohinter);
- EXPECT_TRUE(params.use_bitmaps);
- EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting);
- EXPECT_FALSE(params.subpixel_positioning);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB,
- params.subpixel_rendering);
-}
-
-TEST_F(FontRenderParamsTest, Size) {
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
- std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
- CreateFontconfigEditStanza("antialias", "bool", "true") +
- CreateFontconfigEditStanza("hinting", "bool", "true") +
- CreateFontconfigEditStanza("hintstyle", "const", "hintfull") +
- CreateFontconfigEditStanza("rgba", "const", "none") +
- kFontconfigMatchFooter +
- kFontconfigMatchHeader +
- CreateFontconfigTestStanza("pixelsize", "less_eq", "double", "10") +
- CreateFontconfigEditStanza("antialias", "bool", "false") +
- kFontconfigMatchFooter +
- kFontconfigMatchHeader +
- CreateFontconfigTestStanza("size", "more_eq", "double", "20") +
- CreateFontconfigEditStanza("hintstyle", "const", "hintslight") +
- CreateFontconfigEditStanza("rgba", "const", "rgb") +
- kFontconfigMatchFooter +
- kFontconfigFileFooter));
-
- // The defaults should be used when the supplied size isn't matched by the
- // second or third blocks.
- FontRenderParamsQuery query(false);
- query.pixel_size = 12;
- FontRenderParams params = GetFontRenderParams(query, NULL);
- EXPECT_TRUE(params.antialiasing);
- EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE,
- params.subpixel_rendering);
-
- query.pixel_size = 10;
- params = GetFontRenderParams(query, NULL);
- EXPECT_FALSE(params.antialiasing);
- EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE,
- params.subpixel_rendering);
-
- query.pixel_size = 0;
- query.point_size = 20;
- params = GetFontRenderParams(query, NULL);
- EXPECT_TRUE(params.antialiasing);
- EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB,
- params.subpixel_rendering);
-}
-
-TEST_F(FontRenderParamsTest, Style) {
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- // Load a config that disables subpixel rendering for bold text and disables
- // hinting for italic text.
- ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
- std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
- CreateFontconfigEditStanza("antialias", "bool", "true") +
- CreateFontconfigEditStanza("hinting", "bool", "true") +
- CreateFontconfigEditStanza("hintstyle", "const", "hintslight") +
- CreateFontconfigEditStanza("rgba", "const", "rgb") +
- kFontconfigMatchFooter +
- kFontconfigMatchHeader +
- CreateFontconfigTestStanza("weight", "eq", "const", "bold") +
- CreateFontconfigEditStanza("rgba", "const", "none") +
- kFontconfigMatchFooter +
- kFontconfigMatchHeader +
- CreateFontconfigTestStanza("slant", "eq", "const", "italic") +
- CreateFontconfigEditStanza("hinting", "bool", "false") +
- kFontconfigMatchFooter +
- kFontconfigFileFooter));
-
- FontRenderParamsQuery query(false);
- query.style = Font::NORMAL;
- FontRenderParams params = GetFontRenderParams(query, NULL);
- EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB,
- params.subpixel_rendering);
-
- query.style = Font::BOLD;
- params = GetFontRenderParams(query, NULL);
- EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE,
- params.subpixel_rendering);
-
- query.style = Font::ITALIC;
- params = GetFontRenderParams(query, NULL);
- EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB,
- params.subpixel_rendering);
-
- query.style = Font::BOLD | Font::ITALIC;
- params = GetFontRenderParams(query, NULL);
- EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE,
- params.subpixel_rendering);
-}
-
-TEST_F(FontRenderParamsTest, Scalable) {
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- // Load a config that only enables antialiasing for scalable fonts.
- ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
- std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
- CreateFontconfigEditStanza("antialias", "bool", "false") +
- kFontconfigMatchFooter +
- kFontconfigMatchHeader +
- CreateFontconfigTestStanza("scalable", "eq", "bool", "true") +
- CreateFontconfigEditStanza("antialias", "bool", "true") +
- kFontconfigMatchFooter +
- kFontconfigFileFooter));
-
- // Check that we specifically ask how scalable fonts should be rendered.
- FontRenderParams params = GetFontRenderParams(
- FontRenderParamsQuery(false), NULL);
- EXPECT_TRUE(params.antialiasing);
-}
-
-TEST_F(FontRenderParamsTest, UseBitmaps) {
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- // Load a config that enables embedded bitmaps for fonts <= 10 pixels.
- ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
- std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
- CreateFontconfigEditStanza("embeddedbitmap", "bool", "false") +
- kFontconfigMatchFooter +
- kFontconfigMatchHeader +
- CreateFontconfigTestStanza("pixelsize", "less_eq", "double", "10") +
- CreateFontconfigEditStanza("embeddedbitmap", "bool", "true") +
- kFontconfigMatchFooter +
- kFontconfigFileFooter));
-
- FontRenderParamsQuery query(false);
- FontRenderParams params = GetFontRenderParams(query, NULL);
- EXPECT_FALSE(params.use_bitmaps);
-
- query.pixel_size = 5;
- params = GetFontRenderParams(query, NULL);
- EXPECT_TRUE(params.use_bitmaps);
-}
-
-TEST_F(FontRenderParamsTest, ForceFullHintingWhenAntialiasingIsDisabled) {
- // Load a config that disables antialiasing and hinting while requesting
- // subpixel rendering.
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
- std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
- CreateFontconfigEditStanza("antialias", "bool", "false") +
- CreateFontconfigEditStanza("hinting", "bool", "false") +
- CreateFontconfigEditStanza("hintstyle", "const", "hintnone") +
- CreateFontconfigEditStanza("rgba", "const", "rgb") +
- kFontconfigMatchFooter +
- kFontconfigFileFooter));
-
- // Full hinting should be forced. See the comment in GetFontRenderParams() for
- // more information.
- FontRenderParams params = GetFontRenderParams(
- FontRenderParamsQuery(false), NULL);
- EXPECT_FALSE(params.antialiasing);
- EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting);
- EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE,
- params.subpixel_rendering);
- EXPECT_FALSE(params.subpixel_positioning);
-}
-
-#if defined(OS_CHROMEOS)
-TEST_F(FontRenderParamsTest, ForceSubpixelPositioning) {
- {
- FontRenderParams params =
- GetFontRenderParams(FontRenderParamsQuery(false), NULL);
- EXPECT_TRUE(params.antialiasing);
- EXPECT_FALSE(params.subpixel_positioning);
- SetFontRenderParamsDeviceScaleFactor(1.0f);
- }
- ClearFontRenderParamsCacheForTest();
- SetFontRenderParamsDeviceScaleFactor(1.25f);
- // Subpixel positioning should be forced.
- {
- FontRenderParams params =
- GetFontRenderParams(FontRenderParamsQuery(false), NULL);
- EXPECT_TRUE(params.antialiasing);
- EXPECT_TRUE(params.subpixel_positioning);
- SetFontRenderParamsDeviceScaleFactor(1.0f);
- }
-}
-#endif
-
-TEST_F(FontRenderParamsTest, OnlySetConfiguredValues) {
- // Configure the LinuxFontDelegate (which queries GtkSettings on desktop
- // Linux) to request subpixel rendering.
- FontRenderParams system_params;
- system_params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_RGB;
- test_font_delegate_.set_params(system_params);
-
- // Load a Fontconfig config that enables antialiasing but doesn't say anything
- // about subpixel rendering.
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
- std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
- CreateFontconfigEditStanza("antialias", "bool", "true") +
- kFontconfigMatchFooter +
- kFontconfigFileFooter));
-
- // The subpixel rendering setting from the delegate should make it through.
- FontRenderParams params = GetFontRenderParams(
- FontRenderParamsQuery(false), NULL);
- EXPECT_EQ(system_params.subpixel_rendering, params.subpixel_rendering);
-}
-
-TEST_F(FontRenderParamsTest, NoFontconfigMatch) {
- // Don't load a Fontconfig configuration.
- FontRenderParams system_params;
- system_params.antialiasing = true;
- system_params.hinting = FontRenderParams::HINTING_MEDIUM;
- system_params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_RGB;
- test_font_delegate_.set_params(system_params);
-
- FontRenderParamsQuery query(false);
- query.families.push_back("Arial");
- query.families.push_back("Times New Roman");
- query.pixel_size = 10;
- std::string suggested_family;
- FontRenderParams params = GetFontRenderParams(query, &suggested_family);
-
- // The system params and the first requested family should be returned.
- EXPECT_EQ(system_params.antialiasing, params.antialiasing);
- EXPECT_EQ(system_params.hinting, params.hinting);
- EXPECT_EQ(system_params.subpixel_rendering, params.subpixel_rendering);
- EXPECT_EQ(query.families[0], suggested_family);
-}
-
-TEST_F(FontRenderParamsTest, MissingFamily) {
- // With Arial and Verdana installed, request (in order) Helvetica, Arial, and
- // Verdana and check that Arial is returned.
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- ASSERT_TRUE(LoadSystemFont("verdana.ttf"));
- FontRenderParamsQuery query(false);
- query.families.push_back("Helvetica");
- query.families.push_back("Arial");
- query.families.push_back("Verdana");
- std::string suggested_family;
- GetFontRenderParams(query, &suggested_family);
- EXPECT_EQ("Arial", suggested_family);
-}
-
-TEST_F(FontRenderParamsTest, SubstituteFamily) {
- // Configure Fontconfig to use Verdana for both Helvetica and Arial.
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
- ASSERT_TRUE(LoadSystemFont("verdana.ttf"));
- ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
- std::string(kFontconfigFileHeader) +
- CreateFontconfigAliasStanza("Helvetica", "Verdana") +
- kFontconfigMatchHeader +
- CreateFontconfigTestStanza("family", "eq", "string", "Arial") +
- CreateFontconfigEditStanza("family", "string", "Verdana") +
- kFontconfigMatchFooter +
- kFontconfigFileFooter));
-
- FontRenderParamsQuery query(false);
- query.families.push_back("Helvetica");
- std::string suggested_family;
- GetFontRenderParams(query, &suggested_family);
- EXPECT_EQ("Verdana", suggested_family);
-
- query.families.clear();
- query.families.push_back("Arial");
- suggested_family.clear();
- GetFontRenderParams(query, &suggested_family);
- EXPECT_EQ("Verdana", suggested_family);
-}
-
-} // namespace gfx
« no previous file with comments | « ui/gfx/font_render_params_linux.cc ('k') | ui/gfx/font_render_params_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698