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 ~EmptyPlatform() override
{}
19 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
);