1e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch/* 2e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * Copyright (C) 2013 Google Inc. All rights reserved. 3e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * 4e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * Redistribution and use in source and binary forms, with or without 5e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * modification, are permitted provided that the following conditions 6e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * are met: 7e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * 8e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * 1. Redistributions of source code must retain the above copyright 9e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * notice, this list of conditions and the following disclaimer. 10e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * 2. Redistributions in binary form must reproduce the above copyright 11e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * notice, this list of conditions and the following disclaimer in the 12e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * documentation and/or other materials provided with the distribution. 13e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * 14e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 15e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 18e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 21e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch */ 25e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 26e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch// Tests for the Font class. 27e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 28e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch#include "config.h" 29e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 3009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)#include "platform/fonts/Character.h" 31a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)#include "platform/fonts/Font.h" 32e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 33e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch#include <gtest/gtest.h> 34e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 35c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 36e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 373464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdochstatic void TestSpecificUCharRange(UChar rangeStart, UChar rangeEnd) 38e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch{ 393464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch UChar below[1]; 403464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch UChar start[1]; 413464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch UChar midway[1]; 423464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch UChar end[1]; 433464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch UChar above[1]; 443464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 453464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch below[0] = rangeStart - 1; 463464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch start[0] = rangeStart; 473464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch midway[0] = ((int)rangeStart + (int)rangeEnd) / 2; 483464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch end[0] = rangeEnd; 493464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch above[0] = rangeEnd + 1; 503464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 5109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(below, 1)); 5209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(start, 1)); 5309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(midway, 1)); 5409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(end, 1)); 5509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(above, 1)); 56e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch} 57e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 583464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben MurdochTEST(FontTest, TestCharacterRangeCodePath) 59e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch{ 603464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch static UChar c1[] = { 0x0 }; 6109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c1, 1)); 623464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 633464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x2E5, 0x2E9); 643464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x300, 0x36F); 653464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x0591, 0x05BD); 663464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x05BF, 0x05CF); 673464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x0600, 0x109F); 683464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x1100, 0x11FF); 693464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x135D, 0x135F); 703464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x1700, 0x18AF); 713464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x1900, 0x194F); 723464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x1980, 0x19DF); 733464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x1A00, 0x1CFF); 743464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 753464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch static UChar c2[] = { 0x1DBF }; 7609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c2, 1)); 773464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch static UChar c3[] = { 0x1DC0 }; 7809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c3, 1)); 793464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch static UChar c4[] = { 0x1DD0 }; 8009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c4, 1)); 813464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch static UChar c5[] = { 0x1DFF }; 8209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c5, 1)); 833464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch static UChar c6[] = { 0x1E00 }; 8409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimpleWithGlyphOverflowPath, Character::characterRangeCodePath(c6, 1)); 853464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch static UChar c7[] = { 0x2000 }; 8609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimpleWithGlyphOverflowPath, Character::characterRangeCodePath(c7, 1)); 873464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch static UChar c8[] = { 0x2001 }; 8809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c8, 1)); 893464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 903464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x20D0, 0x20FF); 913464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x2CEF, 0x2CF1); 923464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0x302A, 0x302F); 933464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 943464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0xA67C, 0xA67D); 953464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0xA6F0, 0xA6F1); 963464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0xA800, 0xABFF); 973464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 983464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0xD7B0, 0xD7FF); 993464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0xFE00, 0xFE0F); 1003464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUCharRange(0xFE20, 0xFE2F); 101e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch} 102e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 103e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben MurdochTEST(FontTest, TestCharacterRangeCodePathSurrogate1) 104e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch{ 105e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch /* To be surrogate ... */ 106e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch /* 1st character must be 0xD800 .. 0xDBFF */ 107e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch /* 2nd character must be 0xdc00 .. 0xdfff */ 108e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 109e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch /* The following 5 should all be Simple because they are not surrogate. */ 110e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c1[] = { 0xD800, 0xDBFE }; 11109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c1, 2)); 112e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c2[] = { 0xD800, 0xE000 }; 11309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c2, 2)); 114e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c3[] = { 0xDBFF, 0xDBFE }; 11509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c3, 2)); 116e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c4[] = { 0xDBFF, 0xE000 }; 11709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c4, 2)); 118e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c5[] = { 0xDC00, 0xDBFF }; 11909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c5, 2)); 120e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 121e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch /* To be Complex, the Supplementary Character must be in either */ 122e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch /* U+1F1E6 through U+1F1FF or U+E0100 through U+E01EF. */ 123e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch /* That is, a lead of 0xD83C with trail 0xDDE6 .. 0xDDFF or */ 124e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch /* a lead of 0xDB40 with trail 0xDD00 .. 0xDDEF. */ 125e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c6[] = { 0xD83C, 0xDDE5 }; 12609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c6, 2)); 127e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c7[] = { 0xD83C, 0xDDE6 }; 12809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c7, 2)); 129e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c8[] = { 0xD83C, 0xDDF0 }; 13009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c8, 2)); 131e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c9[] = { 0xD83C, 0xDDFF }; 13209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c9, 2)); 133e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c10[] = { 0xD83C, 0xDE00 }; 13409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c10, 2)); 135e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 136e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c11[] = { 0xDB40, 0xDCFF }; 13709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c11, 2)); 138e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c12[] = { 0xDB40, 0xDD00 }; 13909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c12, 2)); 140e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c13[] = { 0xDB40, 0xDDED }; 14109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c13, 2)); 142e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c14[] = { 0xDB40, 0xDDEF }; 14309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c14, 2)); 144e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c15[] = { 0xDB40, 0xDDF0 }; 14509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c15, 2)); 146e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch} 147e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 148e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben MurdochTEST(FontTest, TestCharacterRangeCodePathString) 149e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch{ 150e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // Simple-Simple is still simple 151e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c1[] = { 0x2FF, 0x2FF }; 15209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimplePath, Character::characterRangeCodePath(c1, 2)); 153e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // Complex-Simple is Complex 154e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c2[] = { 0x300, 0x2FF }; 15509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c2, 2)); 156e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // Simple-Complex is Complex 157e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c3[] = { 0x2FF, 0x330 }; 15809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c3, 2)); 159e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // Complex-Complex is Complex 160e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c4[] = { 0x36F, 0x330 }; 16109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c4, 2)); 162e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // SimpleWithGlyphOverflow-Simple is SimpleWithGlyphOverflow 163e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c5[] = { 0x1E00, 0x2FF }; 16409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimpleWithGlyphOverflowPath, Character::characterRangeCodePath(c5, 2)); 165e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // Simple-SimpleWithGlyphOverflow is SimpleWithGlyphOverflow 166e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c6[] = { 0x2FF, 0x2000 }; 16709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(SimpleWithGlyphOverflowPath, Character::characterRangeCodePath(c6, 2)); 168e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // SimpleWithGlyphOverflow-Complex is Complex 169e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c7[] = { 0x1E00, 0x330 }; 17009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c7, 2)); 171e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // Complex-SimpleWithGlyphOverflow is Complex 172e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c8[] = { 0x330, 0x2000 }; 17309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c8, 2)); 174e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // Surrogate-Complex is Complex 175e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c9[] = { 0xD83C, 0xDDE5, 0x330 }; 17609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c9, 3)); 177e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch // Complex-Surrogate is Complex 178e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch static UChar c10[] = { 0x330, 0xD83C, 0xDDE5 }; 17909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c10, 3)); 180e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch} 181e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 1823464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdochstatic void TestSpecificUChar32RangeIdeograph(UChar32 rangeStart, UChar32 rangeEnd) 1833464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch{ 18409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeograph(rangeStart - 1)); 18509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeograph(rangeStart)); 18609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeograph((UChar32)((uint64_t)rangeStart + (uint64_t)rangeEnd) / 2)); 18709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeograph(rangeEnd)); 18809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeograph(rangeEnd + 1)); 1893464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch} 1903464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 1913464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben MurdochTEST(FontTest, TestIsCJKIdeograph) 1923464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch{ 1933464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // The basic CJK Unified Ideographs block. 1943464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeograph(0x4E00, 0x9FFF); 1953464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Unified Ideographs Extension A. 1963464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeograph(0x3400, 0x4DBF); 1973464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Unified Ideographs Extension A and Kangxi Radicals. 1983464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeograph(0x2E80, 0x2FDF); 1993464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Strokes. 2003464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeograph(0x31C0, 0x31EF); 2013464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Compatibility Ideographs. 2023464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeograph(0xF900, 0xFAFF); 2033464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Unified Ideographs Extension B. 2043464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeograph(0x20000, 0x2A6DF); 2053464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Unified Ideographs Extension C. 2063464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Unified Ideographs Extension D. 2073464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeograph(0x2A700, 0x2B81F); 2083464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Compatibility Ideographs Supplement. 2093464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeograph(0x2F800, 0x2FA1F); 2103464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch} 2113464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 2123464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdochstatic void TestSpecificUChar32RangeIdeographSymbol(UChar32 rangeStart, UChar32 rangeEnd) 2133464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch{ 21409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(rangeStart - 1)); 21509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(rangeStart)); 21609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol((UChar32)((uint64_t)rangeStart + (uint64_t)rangeEnd) / 2)); 21709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(rangeEnd)); 21809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(rangeEnd + 1)); 2193464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch} 2203464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 2213464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben MurdochTEST(FontTest, TestIsCJKIdeographOrSymbol) 2223464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch{ 2233464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch // CJK Compatibility Ideographs Supplement. 22409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2C7)); 22509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2CA)); 22609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2CB)); 22709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2D9)); 22809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) 22909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2020)); 23009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2021)); 23109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2030)); 23209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x203B)); 23309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x203C)); 23409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2042)); 23509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2047)); 23609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2048)); 23709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2049)); 23809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2051)); 23909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x20DD)); 24009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x20DE)); 24109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2100)); 24209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2103)); 24309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2105)); 24409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2109)); 24509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x210A)); 24609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2113)); 24709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2116)); 24809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2121)); 24909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x212B)); 25009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x213B)); 25109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2150)); 25209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2151)); 25309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2152)); 2543464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 2553464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2156, 0x215A); 2563464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2160, 0x216B); 2573464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2170, 0x217B); 2583464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 25909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x217F)); 26009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2189)); 26109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2307)); 26209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2312)); 2633464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 26409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0x23BD)); 26509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x23BE)); 26609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x23C4)); 26709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x23CC)); 26809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0x23CD)); 26909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x23CE)); 27009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2423)); 2713464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 2723464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2460, 0x2492); 2733464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x249C, 0x24FF); 2743464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 27509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25A0)); 27609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25A1)); 27709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25A2)); 27809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25AA)); 27909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25AB)); 28009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25B1)); 28109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25B2)); 28209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25B3)); 28309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25B6)); 28409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25B7)); 28509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25BC)); 28609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25BD)); 28709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25C0)); 28809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25C1)); 28909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25C6)); 29009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25C7)); 29109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25C9)); 29209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25CB)); 29309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25CC)); 2943464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 2953464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x25CE, 0x25D3); 2963464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x25E2, 0x25E6); 2973464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 29809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x25EF)); 2993464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 3003464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2600, 0x2603); 3013464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 30209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2605)); 30309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2606)); 30409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x260E)); 30509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2616)); 30609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2617)); 30709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2640)); 30809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2642)); 3093464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 3103464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2660, 0x266F); 3113464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2672, 0x267D); 3123464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 31309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x26A0)); 31409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x26BD)); 31509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x26BE)); 31609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2713)); 31709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x271A)); 31809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x273F)); 31909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2740)); 32009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2756)); 3213464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 3223464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2776, 0x277F); 3233464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 32409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x2B1A)); 3253464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 3263464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x2FF0, 0x302F); 32709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x3031)); 32809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x312F)); 32909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0x3130)); 3303464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 33109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0x318F)); 33209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x3190)); 33309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x319F)); 33409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x31BF)); 3353464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 33609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0x31FF)); 33709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x3200)); 33809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x3300)); 33909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x33FF)); 3403464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 3413464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0xF860, 0xF862); 3423464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0xFE30, 0xFE4F); 3433464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 34409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0xFE10)); 34509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0xFE11)); 34609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0xFE12)); 34709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0xFE19)); 3483464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 34909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0xFF0D)); 35009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0xFF1B)); 35109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0xFF1C)); 35209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_FALSE(Character::isCJKIdeographOrSymbol(0xFF1E)); 3533464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 3543464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0xFF00, 0xFFEF); 3553464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 35609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) EXPECT_TRUE(Character::isCJKIdeographOrSymbol(0x1F100)); 3573464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch 3583464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x1F110, 0x1F129); 3593464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x1F130, 0x1F149); 3603464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x1F150, 0x1F169); 3613464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x1F170, 0x1F189); 3623464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch TestSpecificUChar32RangeIdeographSymbol(0x1F200, 0x1F6FF); 3633464d02a173573db42f8ee6bb07bb74fabf4f5f2Ben Murdoch} 364e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 365c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 366e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 367