Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / fonts / FontCacheTest.cpp
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.
4
5 #include "config.h"
6 #include "platform/fonts/FontCache.h"
7
8 #include "platform/fonts/FontDescription.h"
9 #include "platform/fonts/SimpleFontData.h"
10 #include "public/platform/Platform.h"
11 #include <gtest/gtest.h>
12
13 namespace blink {
14
15 class EmptyPlatform : public Platform {
16 public:
17     EmptyPlatform() { }
18     virtual ~EmptyPlatform() { }
19     virtual void cryptographicallyRandomValues(unsigned char* buffer, size_t length) override { }
20 };
21
22 TEST(FontCache, getLastResortFallbackFont)
23 {
24     FontCache* fontCache = FontCache::fontCache();
25     ASSERT_TRUE(fontCache);
26
27     Platform* oldPlatform = Platform::current();
28     OwnPtr<EmptyPlatform> platform = adoptPtr(new EmptyPlatform);
29     Platform::initialize(platform.get());
30
31     FontDescription fontDescription;
32     fontDescription.setGenericFamily(FontDescription::StandardFamily);
33     RefPtr<SimpleFontData> fontData = fontCache->getLastResortFallbackFont(fontDescription, Retain);
34     EXPECT_TRUE(fontData);
35
36     fontDescription.setGenericFamily(FontDescription::SansSerifFamily);
37     fontData = fontCache->getLastResortFallbackFont(fontDescription, Retain);
38     EXPECT_TRUE(fontData);
39
40     Platform::initialize(oldPlatform);
41 }
42
43 } // namespace blink