1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
6 #include "platform/fonts/FontCache.h"
8 #include "platform/fonts/FontDescription.h"
9 #include "platform/fonts/SimpleFontData.h"
10 #include "public/platform/Platform.h"
11 #include <gtest/gtest.h>
15 class EmptyPlatform : public Platform {
18 virtual ~EmptyPlatform() { }
19 virtual void cryptographicallyRandomValues(unsigned char* buffer, size_t length) override { }
22 TEST(FontCache, getLastResortFallbackFont)
24 FontCache* fontCache = FontCache::fontCache();
25 ASSERT_TRUE(fontCache);
27 Platform* oldPlatform = Platform::current();
28 OwnPtr<EmptyPlatform> platform = adoptPtr(new EmptyPlatform);
29 Platform::initialize(platform.get());
31 FontDescription fontDescription;
32 fontDescription.setGenericFamily(FontDescription::StandardFamily);
33 RefPtr<SimpleFontData> fontData = fontCache->getLastResortFallbackFont(fontDescription, Retain);
34 EXPECT_TRUE(fontData);
36 fontDescription.setGenericFamily(FontDescription::SansSerifFamily);
37 fontData = fontCache->getLastResortFallbackFont(fontDescription, Retain);
38 EXPECT_TRUE(fontData);
40 Platform::initialize(oldPlatform);