Home | History | Annotate | Download | only in tests

Lines Matching refs:runs

85     std::vector<FontCollection::Run> runs;
92 itemize(collection.get(), "'a' 'b' 'c' 'd' 'e'", kRegularStyle, &runs);
93 ASSERT_EQ(1U, runs.size());
94 EXPECT_EQ(0, runs[0].start);
95 EXPECT_EQ(5, runs[0].end);
96 EXPECT_EQ(kLatinFont, getFontPath(runs[0]));
97 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
98 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
100 itemize(collection.get(), "'a' 'b' 'c' 'd' 'e'", kItalicStyle, &runs);
101 ASSERT_EQ(1U, runs.size());
102 EXPECT_EQ(0, runs[0].start);
103 EXPECT_EQ(5, runs[0].end);
104 EXPECT_EQ(kLatinItalicFont, getFontPath(runs[0]));
105 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
106 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
108 itemize(collection.get(), "'a' 'b' 'c' 'd' 'e'", kBoldStyle, &runs);
109 ASSERT_EQ(1U, runs.size());
110 EXPECT_EQ(0, runs[0].start);
111 EXPECT_EQ(5, runs[0].end);
112 EXPECT_EQ(kLatinBoldFont, getFontPath(runs[0]));
113 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
114 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
116 itemize(collection.get(), "'a' 'b' 'c' 'd' 'e'", kBoldItalicStyle, &runs);
117 ASSERT_EQ(1U, runs.size());
118 EXPECT_EQ(0, runs[0].start);
119 EXPECT_EQ(5, runs[0].end);
120 EXPECT_EQ(kLatinBoldItalicFont, getFontPath(runs[0]));
121 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
122 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
126 itemize(collection.get(), "'a' ',' '-' 'd' '!'", kRegularStyle, &runs);
127 ASSERT_EQ(1U, runs.size());
128 EXPECT_EQ(0, runs[0].start);
129 EXPECT_EQ(5, runs[0].end);
130 EXPECT_EQ(kLatinFont, getFontPath(runs[0]));
131 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
132 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
134 itemize(collection.get(), "'a' ',' '-' 'd' '!'", kRegularStyle, &runs);
135 ASSERT_EQ(1U, runs.size());
136 EXPECT_EQ(0, runs[0].start);
137 EXPECT_EQ(5, runs[0].end);
138 EXPECT_EQ(kLatinFont, getFontPath(runs[0]));
139 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
140 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
144 itemize(collection.get(), "'a' U+0301", kRegularStyle, &runs);
145 ASSERT_EQ(1U, runs.size());
146 EXPECT_EQ(0, runs[0].start);
147 EXPECT_EQ(2, runs[0].end);
148 EXPECT_EQ(kLatinFont, getFontPath(runs[0]));
149 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
150 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
155 std::vector<FontCollection::Run> runs;
157 itemize(collection.get(), "U+1F469 U+1F467", FontStyle(), &runs);
158 ASSERT_EQ(1U, runs.size());
159 EXPECT_EQ(0, runs[0].start);
160 EXPECT_EQ(4, runs[0].end);
161 EXPECT_EQ(kEmojiFont, getFontPath(runs[0]));
162 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
163 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
167 itemize(collection.get(), "'0' U+20E3", FontStyle(), &runs);
168 ASSERT_EQ(1U, runs.size());
169 EXPECT_EQ(0, runs[0].start);
170 EXPECT_EQ(2, runs[0].end);
171 EXPECT_EQ(kEmojiFont, getFontPath(runs[0]));
172 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
173 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
175 itemize(collection.get(), "U+1F470 U+20E3", FontStyle(), &runs);
176 ASSERT_EQ(1U, runs.size());
177 EXPECT_EQ(0, runs[0].start);
178 EXPECT_EQ(3, runs[0].end);
179 EXPECT_EQ(kEmojiFont, getFontPath(runs[0]));
180 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
181 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
183 itemize(collection.get(), "U+242EE U+1F470 U+20E3", FontStyle(), &runs);
184 ASSERT_EQ(2U, runs.size());
185 EXPECT_EQ(0, runs[0].start);
186 EXPECT_EQ(2, runs[0].end);
187 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
188 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
189 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
191 EXPECT_EQ(2, runs[1].start);
192 EXPECT_EQ(5, runs[1].end);
193 EXPECT_EQ(kEmojiFont, getFontPath(runs[1]));
194 EXPECT_FALSE(runs[1].fakedFont.fakery.isFakeBold());
195 EXPECT_FALSE(runs[1].fakedFont.fakery.isFakeItalic());
199 itemize(collection.get(), "'a' U+20E3", FontStyle(), &runs);
200 ASSERT_EQ(2U, runs.size());
201 EXPECT_EQ(0, runs[0].start);
202 EXPECT_EQ(1, runs[0].end);
203 EXPECT_EQ(kLatinFont, getFontPath(runs[0]));
204 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
205 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
207 EXPECT_EQ(1, runs[1].start);
208 EXPECT_EQ(2, runs[1].end);
209 EXPECT_EQ(kEmojiFont, getFontPath(runs[1]));
210 EXPECT_FALSE(runs[1].fakedFont.fakery.isFakeBold());
211 EXPECT_FALSE(runs[1].fakedFont.fakery.isFakeItalic());
216 std::vector<FontCollection::Run> runs;
223 itemize(collection.get(), "U+3042 U+3044 U+3046 U+3048 U+304A", kUSStyle, &runs);
224 ASSERT_EQ(1U, runs.size());
225 EXPECT_EQ(0, runs[0].start);
226 EXPECT_EQ(5, runs[0].end);
227 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
228 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
229 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
232 itemize(collection.get(), "U+B300 U+D55C U+BBFC U+AD6D", kUSStyle, &runs);
233 ASSERT_EQ(1U, runs.size());
234 EXPECT_EQ(0, runs[0].start);
235 EXPECT_EQ(4, runs[0].end);
236 EXPECT_EQ(kKOFont, getFontPath(runs[0]));
237 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
238 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
242 itemize(collection.get(), "U+81ED U+82B1 U+5FCD", kJAStyle, &runs);
243 ASSERT_EQ(1U, runs.size());
244 EXPECT_EQ(0, runs[0].start);
245 EXPECT_EQ(3, runs[0].end);
246 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
247 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
248 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
252 itemize(collection.get(), "U+81ED U+82B1 U+5FCD", kZH_HansStyle, &runs);
253 ASSERT_EQ(1U, runs.size());
254 EXPECT_EQ(0, runs[0].start);
255 EXPECT_EQ(3, runs[0].end);
256 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
257 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
258 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
262 itemize(collection.get(), "U+81ED U+4F60 U+5FCD", kJAStyle, &runs);
263 ASSERT_EQ(3U, runs.size());
264 EXPECT_EQ(0, runs[0].start);
265 EXPECT_EQ(1, runs[0].end);
266 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
267 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
268 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
270 EXPECT_EQ(1, runs[1].start);
271 EXPECT_EQ(2, runs[1].end);
272 EXPECT_EQ(kZH_HansFont, getFontPath(runs[1]));
273 EXPECT_FALSE(runs[1].fakedFont.fakery.isFakeBold());
274 EXPECT_FALSE(runs[1].fakedFont.fakery.isFakeItalic());
276 EXPECT_EQ(2, runs[2].start);
277 EXPECT_EQ(3, runs[2].end);
278 EXPECT_EQ(kJAFont, getFontPath(runs[2]));
279 EXPECT_FALSE(runs[2].fakedFont.fakery.isFakeBold());
280 EXPECT_FALSE(runs[2].fakedFont.fakery.isFakeItalic());
283 itemize(collection.get(), "U+4444 U+302D", FontStyle(), &runs);
284 ASSERT_EQ(1U, runs.size());
285 EXPECT_EQ(0, runs[0].start);
286 EXPECT_EQ(2, runs[0].end);
287 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
288 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
289 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
294 itemize(collection.get(), "U+242EE", kZH_HansStyle, &runs);
295 ASSERT_EQ(1U, runs.size());
296 EXPECT_EQ(0, runs[0].start);
297 EXPECT_EQ(2, runs[0].end);
298 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
299 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
300 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
305 std::vector<FontCollection::Run> runs;
309 itemize(collection.get(), "'a' U+4F60 'b' U+4F60 'c'", kUSStyle, &runs);
310 ASSERT_EQ(5U, runs.size());
311 EXPECT_EQ(0, runs[0].start);
312 EXPECT_EQ(1, runs[0].end);
313 EXPECT_EQ(kLatinFont, getFontPath(runs[0]));
314 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
315 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
317 EXPECT_EQ(1, runs[1].start);
318 EXPECT_EQ(2, runs[1].end);
319 EXPECT_EQ(kZH_HansFont, getFontPath(runs[1]));
320 EXPECT_FALSE(runs[1].fakedFont.fakery.isFakeBold());
321 EXPECT_FALSE(runs[1].fakedFont.fakery.isFakeItalic());
323 EXPECT_EQ(2, runs[2].start);
324 EXPECT_EQ(3, runs[2].end);
325 EXPECT_EQ(kLatinFont, getFontPath(runs[2]));
326 EXPECT_FALSE(runs[2].fakedFont.fakery.isFakeBold());
327 EXPECT_FALSE(runs[2].fakedFont.fakery.isFakeItalic());
329 EXPECT_EQ(3, runs[3].start);
330 EXPECT_EQ(4, runs[3].end);
331 EXPECT_EQ(kZH_HansFont, getFontPath(runs[3]));
332 EXPECT_FALSE(runs[3].fakedFont.fakery.isFakeBold());
333 EXPECT_FALSE(runs[3].fakedFont.fakery.isFakeItalic());
335 EXPECT_EQ(4, runs[4].start);
336 EXPECT_EQ(5, runs[4].end);
337 EXPECT_EQ(kLatinFont, getFontPath(runs[4]));
338 EXPECT_FALSE(runs[4].fakedFont.fakery.isFakeBold());
339 EXPECT_FALSE(runs[4].fakedFont.fakery.isFakeItalic());
344 std::vector<FontCollection::Run> runs;
355 itemize(collection.get(), "U+4FAE", kZH_HansStyle, &runs);
356 ASSERT_EQ(1U, runs.size());
357 EXPECT_EQ(0, runs[0].start);
358 EXPECT_EQ(1, runs[0].end);
359 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
361 itemize(collection.get(), "U+4FAE U+FE00", kZH_HansStyle, &runs);
362 ASSERT_EQ(1U, runs.size());
363 EXPECT_EQ(0, runs[0].start);
364 EXPECT_EQ(2, runs[0].end);
365 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
367 itemize(collection.get(), "U+4FAE U+4FAE U+FE00", kZH_HansStyle, &runs);
368 ASSERT_EQ(2U, runs.size());
369 EXPECT_EQ(0, runs[0].start);
370 EXPECT_EQ(1, runs[0].end);
371 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
372 EXPECT_EQ(1, runs[1].start);
373 EXPECT_EQ(3, runs[1].end);
374 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
376 itemize(collection.get(), "U+4FAE U+4FAE U+FE00 U+4FAE", kZH_HansStyle, &runs);
377 ASSERT_EQ(3U, runs.size());
378 EXPECT_EQ(0, runs[0].start);
379 EXPECT_EQ(1, runs[0].end);
380 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
381 EXPECT_EQ(1, runs[1].start);
382 EXPECT_EQ(3, runs[1].end);
383 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
384 EXPECT_EQ(3, runs[2].start);
385 EXPECT_EQ(4, runs[2].end);
386 EXPECT_EQ(kZH_HansFont, getFontPath(runs[2]));
389 itemize(collection.get(), "U+4FAE U+FE00 U+FE00", kZH_HansStyle, &runs);
390 ASSERT_EQ(1U, runs.size());
391 EXPECT_EQ(0, runs[0].start);
392 EXPECT_EQ(3, runs[0].end);
393 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
396 itemize(collection.get(), "U+4FAE U+FE0E", kZH_HansStyle, &runs);
397 ASSERT_EQ(1U, runs.size());
398 runs[0].start);
399 EXPECT_EQ(2, runs[0].end);
400 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
405 itemize(collection.get(), "U+242EE", kZH_HantStyle, &runs);
406 ASSERT_EQ(1U, runs.size());
407 EXPECT_EQ(0, runs[0].start);
408 EXPECT_EQ(2, runs[0].end);
409 EXPECT_EQ(kZH_HantFont, getFontPath(runs[0]));
411 itemize(collection.get(), "U+242EE U+FE00", kZH_HantStyle, &runs);
412 ASSERT_EQ(1U, runs.size());
413 EXPECT_EQ(0, runs[0].start);
414 EXPECT_EQ(3, runs[0].end);
415 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
417 itemize(collection.get(), "U+242EE U+242EE U+FE00", kZH_HantStyle, &runs);
418 ASSERT_EQ(2U, runs.size());
419 EXPECT_EQ(0, runs[0].start);
420 EXPECT_EQ(2, runs[0].end);
421 EXPECT_EQ(kZH_HantFont, getFontPath(runs[0]));
422 EXPECT_EQ(2, runs[1].start);
423 EXPECT_EQ(5, runs[1].end);
424 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
426 itemize(collection.get(), "U+242EE U+242EE U+FE00 U+242EE", kZH_HantStyle, &runs);
427 ASSERT_EQ(3U, runs.size());
428 EXPECT_EQ(0, runs[0].start);
429 EXPECT_EQ(2, runs[0].end);
430 EXPECT_EQ(kZH_HantFont, getFontPath(runs[0]));
431 EXPECT_EQ(2, runs[1].start);
432 EXPECT_EQ(5, runs[1].end);
433 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
434 EXPECT_EQ(5, runs[2].start);
435 EXPECT_EQ(7, runs[2].end);
436 EXPECT_EQ(kZH_HantFont, getFontPath(runs[2]));
439 itemize(collection.get(), "U+242EE U+FE00 U+FE00", kZH_HansStyle, &runs);
440 ASSERT_EQ(1U, runs.size());
441 EXPECT_EQ(0, runs[0].start);
442 EXPECT_EQ(4, runs[0].end);
443 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
446 itemize(collection.get(), "U+242EE U+FE0E", kZH_HantStyle, &runs);
447 ASSERT_EQ(1U, runs.size());
448 EXPECT_EQ(0, runs[0].start);
449 EXPECT_EQ(3, runs[0].end);
450 EXPECT_EQ(kZH_HantFont, getFontPath(runs[0]));
453 itemize(collection.get(), "U+FE00", FontStyle(), &runs);
454 ASSERT_EQ(1U, runs.size());
455 EXPECT_EQ(0, runs[0].start);
456 EXPECT_EQ(1, runs[0].end);
457 EXPECT_TRUE(runs[0].fakedFont.font == nullptr || kLatinFont == getFontPath(runs[0]));
459 itemize(collection.get(), "U+FE00", kZH_HantStyle, &runs);
460 ASSERT_EQ(1U, runs.size());
461 EXPECT_EQ(0, runs[0].start);
462 EXPECT_EQ(1, runs[0].end);
463 EXPECT_TRUE(runs[0].fakedFont.font == nullptr || kLatinFont == getFontPath(runs[0]));
467 itemize(collection.get(), "U+203C U+FE0F", kZH_HantStyle, &runs);
468 ASSERT_EQ(1U, runs.size());
469 EXPECT_EQ(0, runs[0].start);
470 EXPECT_EQ(2, runs[0].end);
471 EXPECT_EQ(kEmojiFont, getFontPath(runs[0]));
474 itemize(collection.get(), "U+203C U+FE0E", kZH_HantStyle, &runs);
475 ASSERT_EQ(1U, runs.size());
476 EXPECT_EQ(0, runs[0].start);
477 EXPECT_EQ(2, runs[0].end);
478 EXPECT_EQ(kLatinFont, getFontPath(runs[0]));
483 std::vector<FontCollection::Run> runs;
494 itemize(collection.get(), "U+845B", kZH_HansStyle, &runs);
495 ASSERT_EQ(1U, runs.size());
496 EXPECT_EQ(0, runs[0].start);
497 EXPECT_EQ(1, runs[0].end);
498 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
500 itemize(collection.get(), "U+845B U+E0100", kZH_HansStyle, &runs);
501 ASSERT_EQ(1U, runs.size());
502 EXPECT_EQ(0, runs[0].start);
503 EXPECT_EQ(3, runs[0].end);
504 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
506 itemize(collection.get(), "U+845B U+845B U+E0100", kZH_HansStyle, &runs);
507 ASSERT_EQ(2U, runs.size());
508 EXPECT_EQ(0, runs[0].start);
509 EXPECT_EQ(1, runs[0].end);
510 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
511 EXPECT_EQ(1, runs[1].start);
512 EXPECT_EQ(4, runs[1].end);
513 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
515 itemize(collection.get(), "U+845B U+845B U+E0100 U+845B", kZH_HansStyle, &runs);
516 ASSERT_EQ(3U, runs.size());
517 EXPECT_EQ(0, runs[0].start);
518 EXPECT_EQ(1, runs[0].end);
519 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
520 EXPECT_EQ(1, runs[1].start);
521 EXPECT_EQ(4, runs[1].end);
522 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
523 EXPECT_EQ(4, runs[2].start);
524 EXPECT_EQ(5, runs[2].end);
525 EXPECT_EQ(kZH_HansFont, getFontPath(runs[2]));
528 itemize(collection.get(), "U+845B U+E0100 U+E0100", kZH_HansStyle, &runs);
529 ASSERT_EQ(1U, runs.size());
530 EXPECT_EQ(0, runs[0].start);
531 EXPECT_EQ(5, runs[0].end);
532 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
535 itemize(collection.get(), "U+845B U+E01E0", kZH_HansStyle, &runs);
536 ASSERT_EQ(1U, runs.size());
537 EXPECT_EQ(0, runs[0].start);
538 EXPECT_EQ(3, runs[0].end);
539 EXPECT_EQ(kZH_HansFont, getFontPath(runs[0]));
545 itemize(collection.get(), "U+242EE", kZH_HantStyle, &runs);
546 ASSERT_EQ(1U, runs.size());
547 EXPECT_EQ(0, runs[0].start);
548 EXPECT_EQ(2, runs[0].end);
549 EXPECT_EQ(kZH_HantFont, getFontPath(runs[0]));
551 itemize(collection.get(), "U+242EE U+E0101", kZH_HantStyle, &runs);
552 ASSERT_EQ(1U, runs.size());
553 EXPECT_EQ(0, runs[0].start);
554 EXPECT_EQ(4, runs[0].end);
555 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
557 itemize(collection.get(), "U+242EE U+242EE U+E0101", kZH_HantStyle, &runs);
558 ASSERT_EQ(2U, runs.size());
559 EXPECT_EQ(0, runs[0].start);
560 EXPECT_EQ(2, runs[0].end);
561 EXPECT_EQ(kZH_HantFont, getFontPath(runs[0]));
562 EXPECT_EQ(2, runs[1].start);
563 EXPECT_EQ(6, runs[1].end);
564 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
566 itemize(collection.get(), "U+242EE U+242EE U+E0101 U+242EE", kZH_HantStyle, &runs);
567 ASSERT_EQ(3U, runs.size());
568 EXPECT_EQ(0, runs[0].start);
569 EXPECT_EQ(2, runs[0].end);
570 EXPECT_EQ(kZH_HantFont, getFontPath(runs[0]));
571 EXPECT_EQ(2, runs[1].start);
572 EXPECT_EQ(6, runs[1].end);
573 EXPECT_EQ(kJAFont, getFontPath(runs[1]));
574 EXPECT_EQ(6, runs[2].start);
575 EXPECT_EQ(8, runs[2].end);
576 EXPECT_EQ(kZH_HantFont, getFontPath(runs[2]));
579 itemize(collection.get(), "U+242EE U+E0100 U+E0100", kZH_HantStyle, &runs);
580 ASSERT_EQ(1U, runs.size());
581 EXPECT_EQ(0, runs[0].start);
582 EXPECT_EQ(6, runs[0].end);
583 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
586 itemize(collection.get(), "U+242EE U+E01E0", kZH_HantStyle, &runs);
587 ASSERT_EQ(1U, runs.size());
588 EXPECT_EQ(0, runs[0].start);
589 EXPECT_EQ(4, runs[0].end);
590 EXPECT_EQ(kZH_HantFont, getFontPath(runs[0]));
593 itemize(collection.get(), "U+E0100", FontStyle(), &runs);
594 ASSERT_EQ(1U, runs.size());
595 EXPECT_EQ(0, runs[0].start);
596 EXPECT_EQ(2, runs[0].end);
597 EXPECT_TRUE(runs[0].fakedFont.font == nullptr || kLatinFont == getFontPath(runs[0]));
599 itemize(collection.get(), "U+E0100", kZH_HantStyle, &runs);
600 ASSERT_EQ(1U, runs.size());
601 EXPECT_EQ(0, runs[0].start);
602 EXPECT_EQ(2, runs[0].end);
603 EXPECT_TRUE(runs[0].fakedFont.font == nullptr || kLatinFont == getFontPath(runs[0]));
608 std::vector<FontCollection::Run> runs;
611 itemize(collection.get(), "'a' U+D83D 'a'", FontStyle(), &runs);
612 itemize(collection.get(), "'a' U+DC69 'a'", FontStyle(), &runs);
613 itemize(collection.get(), "'a' U+D83D U+D83D 'a'", FontStyle(), &runs);
614 itemize(collection.get(), "'a' U+DC69 U+DC69 'a'", FontStyle(), &runs);
617 itemize(collection.get(), "U+FE00 U+FE00", FontStyle(), &runs);
618 itemize(collection.get(), "U+E0100 U+E0100", FontStyle(), &runs);
619 itemize(collection.get(), "U+FE00 U+E0100", FontStyle(), &runs);
620 itemize(collection.get(), "U+E0100 U+FE00", FontStyle(), &runs);
623 itemize(collection.get(), "U+302D", FontStyle(), &runs);
624 itemize(collection.get(), "U+302D U+302D", FontStyle(), &runs);
627 itemize(collection.get(), "U+FE00 U+302D U+E0100", FontStyle(), &runs);
632 std::vector<FontCollection::Run> runs;
643 itemize(collection.get(), "U+3042 U+3044 U+3046 U+3048 U+304A", kJABoldStyle, &runs);
644 ASSERT_EQ(1U, runs.size());
645 EXPECT_EQ(0, runs[0].start);
646 EXPECT_EQ(5, runs[0].end);
647 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
648 EXPECT_TRUE(runs[0].fakedFont.fakery.isFakeBold());
649 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeItalic());
652 itemize(collection.get(), "U+3042 U+3044 U+3046 U+3048 U+304A", kJAItalicStyle, &runs);
653 ASSERT_EQ(1U, runs.size());
654 EXPECT_EQ(0, runs[0].start);
655 EXPECT_EQ(5, runs[0].end);
656 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
657 EXPECT_FALSE(runs[0].fakedFont.fakery.isFakeBold());
658 EXPECT_TRUE(runs[0].fakedFont.fakery.isFakeItalic());
661 itemize(collection.get(), "U+3042 U+3044 U+3046 U+3048 U+304A", kJABoldItalicStyle, &runs);
662 ASSERT_EQ(1U, runs.size());
663 EXPECT_EQ(0, runs[0].start);
664 EXPECT_EQ(5, runs[0].end);
665 EXPECT_EQ(kJAFont, getFontPath(runs[0]));
666 EXPECT_TRUE(runs[0].fakedFont.fakery.isFakeBold());
667 EXPECT_TRUE(runs[0].fakedFont.fakery.isFakeItalic());
687 std::vector<FontCollection::Run> runs;
689 itemize(&collection, "U+717D U+FE02", FontStyle(), &runs);
690 ASSERT_EQ(1U, runs.size());
691 EXPECT_EQ(0, runs[0].start);
692 EXPECT_EQ(2, runs[0].end);
693 EXPECT_EQ(kVSTestFont, getFontPath(runs[0]));
831 std::vector<FontCollection::Run> runs;
832 itemize(&collection, "U+9AA8", style, &runs);
833 ASSERT_EQ(1U, runs.size());
834 ASSERT_NE(nullptr, runs[0].fakedFont.font);
838 EXPECT_NE(firstFamilyMinikinFont, runs[0].fakedFont.font);
841 const int usedLangIndex = fontLangIdxMap[runs[0].fakedFont.font];
1144 std::vector<FontCollection::Run> runs;
1147 itemize(collection.get(), testCase.testString.c_str(), style, &runs);
1148 ASSERT_EQ(1U, runs.size());
1149 EXPECT_EQ(testCase.expectedFont, getFontPath(runs[0]));
1155 std::vector<FontCollection::Run> runs;
1161 itemize(collection.get(), "U+00A9 U+FE0E", kDefaultFontStyle, &runs);
1162 ASSERT_EQ(1U, runs.size());
1163 EXPECT_EQ(0, runs[0].start);
1164 EXPECT_EQ(2, runs[0].end);
1165 EXPECT_EQ(kTextEmojiFont, getFontPath(runs[0]));
1169 itemize(collection.get(), "U+00AE U+FE0E", kDefaultFontStyle, &runs);
1170 ASSERT_EQ(1U, runs.size());
1171 EXPECT_EQ(0, runs[0].start);
1172 EXPECT_EQ(2, runs[0].end);
1174 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[0]));
1178 itemize(collection.get(), "U+203C U+FE0E", kDefaultFontStyle, &runs);
1179 ASSERT_EQ(1U, runs.size());
1180 EXPECT_EQ(0, runs[0].start);
1181 EXPECT_EQ(2, runs[0].end);
1182 EXPECT_EQ(kTextEmojiFont, getFontPath(runs[0]));
1186 itemize(collection.get(), "U+2049 U+FE0E", kDefaultFontStyle, &runs);
1187 ASSERT_EQ(1U, runs.size());
1188 EXPECT_EQ(0, runs[0].start);
1189 EXPECT_EQ(2, runs[0].end);
1190 EXPECT_EQ(kNoGlyphFont, getFontPath(runs[0]));
1194 itemize(collection.get(), "U+231A U+FE0E", kDefaultFontStyle, &runs);
1195 ASSERT_EQ(1U, runs.size());
1196 EXPECT_EQ(0, runs[0].start);
1197 EXPECT_EQ(2, runs[0].end);
1198 EXPECT_EQ(kTextEmojiFont, getFontPath(runs[0]));
1202 itemize(collection.get(), "U+231B U+FE0E", kDefaultFontStyle, &runs);
1203 ASSERT_EQ(1U, runs.size());
1204 EXPECT_EQ(0, runs[0].start);
1205 EXPECT_EQ(2, runs[0].end);
1207 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[0]));
1212 itemize(collection.get(), "U+23E9 U+FE0E", kDefaultFontStyle, &runs);
1213 ASSERT_EQ(1U, runs.size());
1214 EXPECT_EQ(0, runs[0].start);
1215 EXPECT_EQ(2, runs[0].end);
1216 EXPECT_EQ(kTextEmojiFont, getFontPath(runs[0]));
1220 itemize(collection.get(), "U+23EA U+FE0E", kDefaultFontStyle, &runs);
1221 ASSERT_EQ(1U, runs.size());
1222 EXPECT_EQ(0, runs[0].start);
1223 EXPECT_EQ(2, runs[0].end);
1224 EXPECT_EQ(kNoGlyphFont, getFontPath(runs[0]));
1228 itemize(collection.get(), "U+26FA U+FE0E", kDefaultFontStyle, &runs);
1229 ASSERT_EQ(1U, runs.size());
1230 EXPECT_EQ(0, runs[0].start);
1231 EXPECT_EQ(2, runs[0].end);
1232 EXPECT_EQ(kMixedEmojiFont, getFontPath(runs[0]));
1237 std::vector<FontCollection::Run> runs;
1243 itemize(collection.get(), "U+00A9 U+FE0F", kDefaultFontStyle, &runs);
1244 ASSERT_EQ(1U, runs.size());
1245 EXPECT_EQ(0, runs[0].start);
1246 EXPECT_EQ(2, runs[0].end);
1248 EXPECT_EQ(kTextEmojiFont, getFontPath(runs[0]));
1252 itemize(collection.get(), "U+00AE U+FE0F", kDefaultFontStyle, &runs);
1253 ASSERT_EQ(1U, runs.size());
1254 EXPECT_EQ(0, runs[0].start);
1255 EXPECT_EQ(2, runs[0].end);
1256 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[0]));
1261 itemize(collection.get(), "U+203C U+FE0F", kDefaultFontStyle, &runs);
1262 ASSERT_EQ(1U, runs.size());
1263 EXPECT_EQ(0, runs[0].start);
1264 EXPECT_EQ(2, runs[0].end);
1265 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[0]));
1269 itemize(collection.get(), "U+2049 U+FE0F", kDefaultFontStyle, &runs);
1270 ASSERT_EQ(1U, runs.size());
1271 EXPECT_EQ(0, runs[0].start);
1272 EXPECT_EQ(2, runs[0].end);
1273 EXPECT_EQ(kNoGlyphFont, getFontPath(runs[0]));
1277 itemize(collection.get(), "U+231A U+FE0F", kDefaultFontStyle, &runs);
1278 ASSERT_EQ(1U, runs.size());
1279 EXPECT_EQ(0, runs[0].start);
1280 EXPECT_EQ(2, runs[0].end);
1282 EXPECT_EQ(kTextEmojiFont, getFontPath(runs[0]));
1286 itemize(collection.get(), "U+231B U+FE0F", kDefaultFontStyle, &runs);
1287 ASSERT_EQ(1U, runs.size());
1288 EXPECT_EQ(0, runs[0].start);
1289 EXPECT_EQ(2, runs[0].end);
1290 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[0]));
1294 itemize(collection.get(), "U+23E9 U+FE0F", kDefaultFontStyle, &runs);
1295 ASSERT_EQ(1U, runs.size());
1296 EXPECT_EQ(0, runs[0].start);
1297 EXPECT_EQ(2, runs[0].end);
1298 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[0]));
1302 itemize(collection.get(), "U+23EA U+FE0F", kDefaultFontStyle, &runs);
1303 ASSERT_EQ(1U, runs.size());
1304 EXPECT_EQ(0, runs[0].start);
1305 EXPECT_EQ(2, runs[0].end);
1306 EXPECT_EQ(kNoGlyphFont, getFontPath(runs[0]));
1310 itemize(collection.get(), "U+26F9 U+FE0F", kDefaultFontStyle, &runs);
1311 ASSERT_EQ(1U, runs.size());
1312 EXPECT_EQ(0, runs[0].start);
1313 EXPECT_EQ(2, runs[0].end);
1314 EXPECT_EQ(kMixedEmojiFont, getFontPath(runs[0]));
1319 std::vector<FontCollection::Run> runs;
1324 itemize(collection.get(), "U+261D", kDefaultFontStyle, &runs);
1325 ASSERT_EQ(1U, runs.size());
1326 EXPECT_EQ(0, runs[0].start);
1327 EXPECT_EQ(1, runs[0].end);
1328 EXPECT_EQ(kTextEmojiFont, getFontPath(runs[0]));
1331 itemize(collection.get(), "U+261D U+1F3FD", kDefaultFontStyle, &runs);
1332 ASSERT_EQ(1U, runs.size());
1333 EXPECT_EQ(0, runs[0].start);
1334 EXPECT_EQ(3, runs[0].end);
1335 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[0]));
1338 itemize(collection.get(), "U+261D U+FE0F U+1F3FD", kDefaultFontStyle, &runs);
1339 ASSERT_EQ(1U, runs.size());
1340 EXPECT_EQ(0, runs[0].start);
1341 EXPECT_EQ(4, runs[0].end);
1342 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[0]));
1346 itemize(collection.get(), "U+261D U+FE0E U+1F3FD", kDefaultFontStyle, &runs);
1347 ASSERT_EQ(2U, runs.size());
1348 EXPECT_EQ(0, runs[0].start);
1349 EXPECT_EQ(2, runs[0].end);
1350 EXPECT_EQ(kTextEmojiFont, getFontPath(runs[0]));
1351 EXPECT_EQ(2, runs[1].start);
1352 EXPECT_EQ(4, runs[1].end);
1353 EXPECT_EQ(kColorEmojiFont, getFontPath(runs[1]));
1358 std::vector<FontCollection::Run> runs;
1363 itemize(collection.get(), "U+FEE10", kDefaultFontStyle, &runs);
1364 ASSERT_EQ(1U, runs.size());
1365 EXPECT_EQ(0, runs[0].start);
1366 EXPECT_EQ(2, runs[0].end);
1367 EXPECT_EQ(kNoGlyphFont, getFontPath(runs[0]));
1369 itemize(collection.get(), "U+FEE40 U+FE4C5", kDefaultFontStyle, &runs);
1370 ASSERT_EQ(1U, runs.size());
1371 EXPECT_EQ(0, runs[0].start);
1372 EXPECT_EQ(4, runs[0].end);
1373 EXPECT_EQ(kNoGlyphFont, getFontPath(runs[0]));