Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Side by Side Diff: third_party/WebKit/Source/platform/fonts/CharacterTest.cpp

Issue 1644893002: Revert of Improve performance of Character::isCJKIdeographOrSymbol by using trie tree (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/Character.h" 5 #include "platform/fonts/Character.h"
6 6
7 #include "platform/Logging.h" 7 #include "platform/Logging.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "wtf/text/CharacterNames.h" 9 #include "wtf/text/CharacterNames.h"
10 10
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 static UChar c4[] = { 0x36F, 0x330 }; 136 static UChar c4[] = { 0x36F, 0x330 };
137 EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c4, 2)); 137 EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c4, 2));
138 // Surrogate-Complex is Complex 138 // Surrogate-Complex is Complex
139 static UChar c5[] = { 0xD83C, 0xDDE5, 0x330 }; 139 static UChar c5[] = { 0xD83C, 0xDDE5, 0x330 };
140 EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c5, 3)); 140 EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c5, 3));
141 // Complex-Surrogate is Complex 141 // Complex-Surrogate is Complex
142 static UChar c6[] = { 0x330, 0xD83C, 0xDDE5 }; 142 static UChar c6[] = { 0x330, 0xD83C, 0xDDE5 };
143 EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c6, 3)); 143 EXPECT_EQ(ComplexPath, Character::characterRangeCodePath(c6, 3));
144 } 144 }
145 145
146 static void TestSpecificUChar32RangeIdeograph(UChar32 rangeStart, 146 static void TestSpecificUChar32RangeIdeograph(UChar32 rangeStart, UChar32 rangeE nd)
147 UChar32 rangeEnd,
148 bool before = true)
149 { 147 {
150 if (before) 148 EXPECT_FALSE(Character::isCJKIdeograph(rangeStart - 1));
151 EXPECT_FALSE(Character::isCJKIdeographOrSymbol(rangeStart - 1)); 149 EXPECT_TRUE(Character::isCJKIdeograph(rangeStart));
152 EXPECT_TRUE(Character::isCJKIdeographOrSymbol(rangeStart)); 150 EXPECT_TRUE(Character::isCJKIdeograph((UChar32)((uint64_t)rangeStart + (uint 64_t)rangeEnd) / 2));
153 EXPECT_TRUE(Character::isCJKIdeographOrSymbol( 151 EXPECT_TRUE(Character::isCJKIdeograph(rangeEnd));
154 (UChar32)((uint64_t)rangeStart + (uint64_t)rangeEnd) / 2)); 152 EXPECT_FALSE(Character::isCJKIdeograph(rangeEnd + 1));
155 EXPECT_TRUE(Character::isCJKIdeographOrSymbol(rangeEnd));
156 EXPECT_FALSE(Character::isCJKIdeographOrSymbol(rangeEnd + 1));
157 } 153 }
158 154
159 TEST(CharacterTest, TestIsCJKIdeograph) 155 TEST(CharacterTest, TestIsCJKIdeograph)
160 { 156 {
161 // The basic CJK Unified Ideographs block. 157 // The basic CJK Unified Ideographs block.
162 TestSpecificUChar32RangeIdeograph(0x4E00, 0x9FFF); 158 TestSpecificUChar32RangeIdeograph(0x4E00, 0x9FFF);
163 // CJK Unified Ideographs Extension A. 159 // CJK Unified Ideographs Extension A.
164 TestSpecificUChar32RangeIdeograph(0x3400, 0x4DBF, false); 160 TestSpecificUChar32RangeIdeograph(0x3400, 0x4DBF);
165 // CJK Unified Ideographs Extension A and Kangxi Radicals. 161 // CJK Unified Ideographs Extension A and Kangxi Radicals.
166 TestSpecificUChar32RangeIdeograph(0x2E80, 0x2FDF); 162 TestSpecificUChar32RangeIdeograph(0x2E80, 0x2FDF);
167 // CJK Strokes. 163 // CJK Strokes.
168 TestSpecificUChar32RangeIdeograph(0x31C0, 0x31EF, false); 164 TestSpecificUChar32RangeIdeograph(0x31C0, 0x31EF);
169 // CJK Compatibility Ideographs. 165 // CJK Compatibility Ideographs.
170 TestSpecificUChar32RangeIdeograph(0xF900, 0xFAFF); 166 TestSpecificUChar32RangeIdeograph(0xF900, 0xFAFF);
171 // CJK Unified Ideographs Extension B. 167 // CJK Unified Ideographs Extension B.
172 TestSpecificUChar32RangeIdeograph(0x20000, 0x2A6DF); 168 TestSpecificUChar32RangeIdeograph(0x20000, 0x2A6DF);
173 // CJK Unified Ideographs Extension C. 169 // CJK Unified Ideographs Extension C.
174 // CJK Unified Ideographs Extension D. 170 // CJK Unified Ideographs Extension D.
175 TestSpecificUChar32RangeIdeograph(0x2A700, 0x2B81F); 171 TestSpecificUChar32RangeIdeograph(0x2A700, 0x2B81F);
176 // CJK Compatibility Ideographs Supplement. 172 // CJK Compatibility Ideographs Supplement.
177 TestSpecificUChar32RangeIdeograph(0x2F800, 0x2FA1F); 173 TestSpecificUChar32RangeIdeograph(0x2F800, 0x2FA1F);
178 } 174 }
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 EXPECT_FALSE(Character::isEmojiModifierBase(0x1F47D)); 362 EXPECT_FALSE(Character::isEmojiModifierBase(0x1F47D));
367 } 363 }
368 364
369 TEST(CharacterTest, LineBreakAndQuoteNotEmoji) 365 TEST(CharacterTest, LineBreakAndQuoteNotEmoji)
370 { 366 {
371 EXPECT_FALSE(Character::isEmojiTextPresentation('\n')); 367 EXPECT_FALSE(Character::isEmojiTextPresentation('\n'));
372 EXPECT_FALSE(Character::isEmojiTextPresentation('"')); 368 EXPECT_FALSE(Character::isEmojiTextPresentation('"'));
373 } 369 }
374 370
375 } // namespace blink 371 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698