OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/shaping/RunSegmenter.h" | 5 #include "platform/fonts/shaping/RunSegmenter.h" |
6 | 6 |
7 #include "platform/fonts/OrientationIterator.h" | 7 #include "platform/fonts/OrientationIterator.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 #include "wtf/Assertions.h" | 9 #include "wtf/Assertions.h" |
10 #include "wtf/Vector.h" | 10 #include "wtf/Vector.h" |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 | 120 |
121 TEST_F(RunSegmenterTest, JapaneseHindiEmojiMix) | 121 TEST_F(RunSegmenterTest, JapaneseHindiEmojiMix) |
122 { | 122 { |
123 CHECK_RUNS_MIXED({ { "百家姓", USCRIPT_HAN, OrientationIterator::OrientationKee
p, FontFallbackPriority::Text }, | 123 CHECK_RUNS_MIXED({ { "百家姓", USCRIPT_HAN, OrientationIterator::OrientationKee
p, FontFallbackPriority::Text }, |
124 { "ऋषियों", USCRIPT_DEVANAGARI, OrientationIterator::OrientationRotateSi
deways, FontFallbackPriority::Text }, | 124 { "ऋषियों", USCRIPT_DEVANAGARI, OrientationIterator::OrientationRotateSi
deways, FontFallbackPriority::Text }, |
125 { "🌱🌲🌳🌴", USCRIPT_DEVANAGARI, OrientationIterator::OrientationKeep, Font
FallbackPriority::EmojiEmoji }, | 125 { "🌱🌲🌳🌴", USCRIPT_DEVANAGARI, OrientationIterator::OrientationKeep, Font
FallbackPriority::EmojiEmoji }, |
126 { "百家姓", USCRIPT_HAN, OrientationIterator::OrientationKeep, FontFallback
Priority::Text }, | 126 { "百家姓", USCRIPT_HAN, OrientationIterator::OrientationKeep, FontFallback
Priority::Text }, |
127 { "🌱🌲", USCRIPT_HAN, OrientationIterator::OrientationKeep, FontFallbackP
riority::EmojiEmoji } }); | 127 { "🌱🌲", USCRIPT_HAN, OrientationIterator::OrientationKeep, FontFallbackP
riority::EmojiEmoji } }); |
128 } | 128 } |
129 | 129 |
| 130 TEST_F(RunSegmenterTest, CombiningCirlce) |
| 131 { |
| 132 CHECK_RUNS_HORIZONTAL({ { "◌́◌̀◌̈◌̂◌̄◌̊", USCRIPT_COMMON, OrientationIterato
r::OrientationKeep, FontFallbackPriority::Text } }); |
| 133 } |
| 134 |
130 TEST_F(RunSegmenterTest, HangulSpace) | 135 TEST_F(RunSegmenterTest, HangulSpace) |
131 { | 136 { |
132 CHECK_RUNS_MIXED({ { "키스의", USCRIPT_HANGUL, OrientationIterator::Orientation
Keep, FontFallbackPriority::Text }, | 137 CHECK_RUNS_MIXED({ { "키스의", USCRIPT_HANGUL, OrientationIterator::Orientation
Keep, FontFallbackPriority::Text }, |
133 { " ", USCRIPT_HANGUL, OrientationIterator::OrientationRotateSideways, F
ontFallbackPriority::Text }, | 138 { " ", USCRIPT_HANGUL, OrientationIterator::OrientationRotateSideways, F
ontFallbackPriority::Text }, |
134 { "고유조건은", USCRIPT_HANGUL, OrientationIterator::OrientationKeep, FontFal
lbackPriority::Text } }); | 139 { "고유조건은", USCRIPT_HANGUL, OrientationIterator::OrientationKeep, FontFal
lbackPriority::Text } }); |
135 } | 140 } |
136 | 141 |
137 TEST_F(RunSegmenterTest, TechnicalCommonUpright) | 142 TEST_F(RunSegmenterTest, TechnicalCommonUpright) |
138 { | 143 { |
139 CHECK_RUNS_MIXED({ { "⌀⌁⌂", USCRIPT_COMMON, OrientationIterator::Orientation
Keep, FontFallbackPriority::Math } }); | 144 CHECK_RUNS_MIXED({ { "⌀⌁⌂", USCRIPT_COMMON, OrientationIterator::Orientation
Keep, FontFallbackPriority::Text } }); |
140 } | 145 } |
141 | 146 |
142 TEST_F(RunSegmenterTest, PunctuationCommonSideways) | 147 TEST_F(RunSegmenterTest, PunctuationCommonSideways) |
143 { | 148 { |
144 CHECK_RUNS_MIXED({ { ".…¡", USCRIPT_COMMON, OrientationIterator::Orientation
RotateSideways, FontFallbackPriority::Text } }); | 149 CHECK_RUNS_MIXED({ { ".…¡", USCRIPT_COMMON, OrientationIterator::Orientation
RotateSideways, FontFallbackPriority::Text } }); |
145 } | 150 } |
146 | 151 |
147 TEST_F(RunSegmenterTest, JapanesePunctuationMixedInside) | 152 TEST_F(RunSegmenterTest, JapanesePunctuationMixedInside) |
148 { | 153 { |
149 CHECK_RUNS_MIXED({ { "いろはに", USCRIPT_HIRAGANA, OrientationIterator::Orientat
ionKeep, FontFallbackPriority::Text }, | 154 CHECK_RUNS_MIXED({ { "いろはに", USCRIPT_HIRAGANA, OrientationIterator::Orientat
ionKeep, FontFallbackPriority::Text }, |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 } | 197 } |
193 | 198 |
194 TEST_F(RunSegmenterTest, ArmenianCyrillicCase) | 199 TEST_F(RunSegmenterTest, ArmenianCyrillicCase) |
195 { | 200 { |
196 CHECK_RUNS_HORIZONTAL({ { "աբգ", USCRIPT_ARMENIAN, OrientationIterator::Orie
ntationKeep, FontFallbackPriority::Text }, | 201 CHECK_RUNS_HORIZONTAL({ { "աբգ", USCRIPT_ARMENIAN, OrientationIterator::Orie
ntationKeep, FontFallbackPriority::Text }, |
197 { "αβγ", USCRIPT_GREEK, OrientationIterator::OrientationKeep, FontFallba
ckPriority::Text }, | 202 { "αβγ", USCRIPT_GREEK, OrientationIterator::OrientationKeep, FontFallba
ckPriority::Text }, |
198 { "ԱԲԳ", USCRIPT_ARMENIAN, OrientationIterator::OrientationKeep, FontFal
lbackPriority::Text } }); | 203 { "ԱԲԳ", USCRIPT_ARMENIAN, OrientationIterator::OrientationKeep, FontFal
lbackPriority::Text } }); |
199 } | 204 } |
200 | 205 |
201 } // namespace blink | 206 } // namespace blink |
OLD | NEW |