Home | History | Annotate | Download | only in fonts
      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 WebCore {
     14 
     15 class EmptyPlatform : public blink::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     blink::Platform* oldPlatform = blink::Platform::current();
     28     OwnPtr<EmptyPlatform> platform = adoptPtr(new EmptyPlatform);
     29     blink::Platform::initialize(platform.get());
     30 
     31     if (emptyAtom.isNull())
     32         AtomicString::init();
     33 
     34     FontDescription fontDescription;
     35     fontDescription.setGenericFamily(FontDescription::StandardFamily);
     36     RefPtr<SimpleFontData> fontData = fontCache->getLastResortFallbackFont(fontDescription, Retain);
     37     EXPECT_TRUE(fontData);
     38 
     39     fontDescription.setGenericFamily(FontDescription::SansSerifFamily);
     40     fontData = fontCache->getLastResortFallbackFont(fontDescription, Retain);
     41     EXPECT_TRUE(fontData);
     42 
     43     blink::Platform::initialize(oldPlatform);
     44 }
     45 
     46 } // namespace WebCore
     47