OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "platform/fonts/FontCache.h" | 5 #include "platform/fonts/FontCache.h" |
6 | 6 |
7 #include "platform/fonts/SimpleFontData.h" | 7 #include "platform/fonts/SimpleFontData.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
11 | 11 |
12 TEST(FontCacheAndroid, fallbackFontForCharacter) | 12 TEST(FontCacheAndroid, fallbackFontForCharacter) |
13 { | 13 { |
14 // A Latin character in the common locale system font, but not in the | 14 // A Latin character in the common locale system font, but not in the |
15 // Chinese locale-preferred font. | 15 // Chinese locale-preferred font. |
16 const UChar32 testChar = 228; | 16 const UChar32 testChar = 228; |
17 | 17 |
18 FontDescription fontDescription; | 18 FontDescription fontDescription; |
19 fontDescription.setLocale(LayoutLocale::get("zh")); | 19 fontDescription.setLocale(LayoutLocale::get("zh")); |
20 ASSERT_EQ(USCRIPT_SIMPLIFIED_HAN, fontDescription.script()); | 20 ASSERT_EQ(USCRIPT_SIMPLIFIED_HAN, fontDescription.script()); |
21 fontDescription.setGenericFamily(FontDescription::StandardFamily); | 21 fontDescription.setGenericFamily(FontDescription::StandardFamily); |
22 | 22 |
23 FontCache* fontCache = FontCache::fontCache(); | 23 FontCache* fontCache = FontCache::fontCache(); |
24 ASSERT_TRUE(fontCache); | 24 ASSERT_TRUE(fontCache); |
25 RefPtr<SimpleFontData> fontData = fontCache->fallbackFontForCharacter(fontDe
scription, testChar, 0); | 25 RefPtr<SimpleFontData> fontData = fontCache->fallbackFontForCharacter(fontDe
scription, testChar, 0); |
26 EXPECT_TRUE(fontData); | 26 EXPECT_TRUE(fontData); |
27 } | 27 } |
28 | 28 |
| 29 TEST(FontCacheAndroid, genericFamilyNameForScript) |
| 30 { |
| 31 FontDescription english; |
| 32 english.setLocale(LayoutLocale::get("en")); |
| 33 FontDescription chinese; |
| 34 chinese.setLocale(LayoutLocale::get("zh")); |
| 35 |
| 36 if (FontFamilyNames::webkit_standard.isEmpty()) |
| 37 FontFamilyNames::init(); |
| 38 |
| 39 // For non-CJK, getGenericFamilyNameForScript should return the given family
Name. |
| 40 EXPECT_EQ(FontFamilyNames::webkit_standard, FontCache::getGenericFamilyNameF
orScript( |
| 41 FontFamilyNames::webkit_standard, english)); |
| 42 EXPECT_EQ(FontFamilyNames::webkit_monospace, FontCache::getGenericFamilyName
ForScript( |
| 43 FontFamilyNames::webkit_monospace, english)); |
| 44 |
| 45 // For CJK, getGenericFamilyNameForScript should return CJK fonts except mon
ospace. |
| 46 EXPECT_NE(FontFamilyNames::webkit_standard, FontCache::getGenericFamilyNameF
orScript( |
| 47 FontFamilyNames::webkit_standard, chinese)); |
| 48 EXPECT_EQ(FontFamilyNames::webkit_monospace, FontCache::getGenericFamilyName
ForScript( |
| 49 FontFamilyNames::webkit_monospace, chinese)); |
| 50 } |
| 51 |
29 } // namespace blink | 52 } // namespace blink |
OLD | NEW |