12 const intptr_t kInputLen = 3;
13 const uint16_t
kInput[kInputLen] = {0xe6, 0xe7, 0xe8};
15 const uintptr_t kBufferLength = 10;
16 unsigned char buffer[kBufferLength];
17 for (uintptr_t
i = 0;
i < kBufferLength;
i++) {
22 for (
i = 0; i < static_cast<uintptr_t>(
Utf8::Length(input));
i++) {
25 for (;
i < kBufferLength;
i++) {
32 uint8_t array[] = {0x41, 0xF0, 0x92};
33 intptr_t encode_len = 3;
34 intptr_t decode_len = 3;
40 uint8_t array[] = {0x81, 0x40, 0x42};
41 intptr_t encode_len = 3;
42 intptr_t decode_len = 3;
48 uint8_t array[] = {0x42, 0x40, 0x80};
49 intptr_t encode_len = 3;
50 intptr_t decode_len = 3;
56 uint8_t array[] = {0x41, 0xF0, 0x92, 0x92, 0x91};
57 intptr_t encode_len = 5;
58 intptr_t decode_len = 2;
67 const char*
src =
"\x41\xC3\xB1\x42";
68 int32_t expected[] = {0x41, 0xF1, 0x42};
70 memset(
dst, 0,
sizeof(
dst));
73 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
77 const char*
src =
"\x4D";
78 int32_t expected[] = {0x4D};
80 memset(
dst, 0,
sizeof(
dst));
83 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
87 const char*
src =
"\xD0\xB0";
88 int32_t expected[] = {0x430};
90 memset(
dst, 0,
sizeof(
dst));
93 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
97 const char*
src =
"\xE4\xBA\x8C";
98 int32_t expected[] = {0x4E8C};
100 memset(
dst, 0,
sizeof(
dst));
103 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
107 const char*
src =
"\xF0\x90\x8C\x82";
108 int32_t expected[] = {0x10302};
110 memset(
dst, 0,
sizeof(
dst));
113 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
117 const char*
src =
"\x4D\xD0\xB0\xE4\xBA\x8C\xF0\x90\x8C\x82";
118 int32_t expected[] = {0x4D, 0x430, 0x4E8C, 0x10302};
120 memset(
dst, 0,
sizeof(
dst));
123 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
129 "\xD7\x92\xD7\x9C\xD7\xA2\xD7\x93"
131 "\xD7\x91\xD7\xA8\xD7\x9B\xD7\x94";
132 int32_t expected[] = {0x5D2, 0x5DC, 0x5E2, 0x5D3, 0x20,
133 0x5D1, 0x5E8, 0x5DB, 0x5D4};
135 memset(
dst, 0,
sizeof(
dst));
138 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
145 const char*
src =
"\xCE\xBA\xE1\xBD\xB9\xCF\x83\xCE\xBC\xCE\xB5";
146 int32_t expected[] = {0x3BA, 0x1F79, 0x3C3, 0x3BC, 0x3B5};
148 memset(
dst, 0,
sizeof(
dst));
151 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
160 const char*
src =
"\x00";
161 int32_t expected[] = {0x0};
163 memset(
dst, 0xFF,
sizeof(
dst));
166 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
171 const char*
src =
"\xC2\x80";
172 int32_t expected[] = {0x80};
174 memset(
dst, 0,
sizeof(
dst));
177 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
182 const char*
src =
"\xE0\xA0\x80";
183 int32_t expected[] = {0x800};
185 memset(
dst, 0,
sizeof(
dst));
188 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
193 const char*
src =
"\xF0\x90\x80\x80";
194 int32_t expected[] = {0x10000};
196 memset(
dst, 0,
sizeof(
dst));
199 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
204 const char*
src =
"\xF8\x88\x80\x80\x80";
205 int32_t expected[] = {0x200000};
207 memset(
dst, 0,
sizeof(
dst));
210 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
215 const char*
src =
"\xFC\x84\x80\x80\x80\x80";
216 int32_t expected[] = {0x400000};
218 memset(
dst, 0,
sizeof(
dst));
221 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
228 const char*
src =
"\x7F";
229 int32_t expected[] = {0x7F};
231 memset(
dst, 0,
sizeof(
dst));
234 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
239 const char*
src =
"\xDF\xBF";
240 int32_t expected[] = {0x7FF};
242 memset(
dst, 0,
sizeof(
dst));
245 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
250 const char*
src =
"\xEF\xBF\xBF";
251 int32_t expected[] = {0xFFFF};
253 memset(
dst, 0,
sizeof(
dst));
256 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
261 const char*
src =
"\xF7\xBF\xBF\xBF";
262 int32_t expected[] = {0x1FFFF};
264 memset(
dst, 0,
sizeof(
dst));
267 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
272 const char*
src =
"\xFB\xBF\xBF\xBF\xBF";
273 int32_t expected[] = {0x3FFFFFF};
275 memset(
dst, 0,
sizeof(
dst));
278 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
283 const char*
src =
"\xFD\xBF\xBF\xBF\xBF\xBF";
284 int32_t expected[] = {0x7FFFFFF};
286 memset(
dst, 0,
sizeof(
dst));
289 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
296 const char*
src =
"\xED\x9F\xBF";
297 int32_t expected[] = {0xD7FF};
299 memset(
dst, 0,
sizeof(
dst));
302 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
307 const char*
src =
"\xEE\x80\x80";
308 int32_t expected[] = {0xE000};
310 memset(
dst, 0,
sizeof(
dst));
313 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
318 const char*
src =
"\xEF\xBF\xBD";
319 int32_t expected[] = {0xFFFD};
321 memset(
dst, 0,
sizeof(
dst));
324 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
329 const char*
src =
"\xF4\x8F\xBF\xBF";
330 int32_t expected[] = {0x10FFFF};
332 memset(
dst, 0,
sizeof(
dst));
335 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
340 const char*
src =
"\xF4\x90\x80\x80";
341 int32_t expected[] = {0x110000};
343 memset(
dst, 0,
sizeof(
dst));
346 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
355 const char*
src =
"\x80";
356 int32_t expected[] = {0x80};
358 memset(
dst, 0,
sizeof(
dst));
361 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
366 const char*
src =
"\xBF";
367 int32_t expected[] = {0xBF};
369 memset(
dst, 0,
sizeof(
dst));
372 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
377 const char*
src =
"\x80\xBF";
378 int32_t expected[] = {0x80, 0xBF};
380 memset(
dst, 0,
sizeof(
dst));
383 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
388 const char*
src =
"\x80\xBF\x80";
389 int32_t expected[] = {0x80, 0xBF, 0x80};
391 memset(
dst, 0,
sizeof(
dst));
394 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
399 const char*
src =
"\x80\xBF\x80\xBF";
400 int32_t expected[] = {0x80, 0xBF, 0x80, 0xBF};
402 memset(
dst, 0,
sizeof(
dst));
405 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
410 const char*
src =
"\x80\xBF\x80\xBF\x80";
411 int32_t expected[] = {0x80, 0xBF, 0x80, 0xBF, 0x80};
413 memset(
dst, 0,
sizeof(
dst));
416 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
421 const char*
src =
"\x80\xBF\x80\xBF\x80\xBF";
422 int32_t expected[] = {0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF};
424 memset(
dst, 0,
sizeof(
dst));
427 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
432 const char*
src =
"\x80\xBF\x80\xBF\x80\xBF\x80";
433 int32_t expected[] = {0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF, 0x80};
435 memset(
dst, 0,
sizeof(
dst));
438 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
444 "\x80\x81\x82\x83\x84\x85\x86\x87"
445 "\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F"
446 "\x90\x91\x92\x93\x94\x95\x96\x97"
447 "\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F"
448 "\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7"
449 "\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF"
450 "\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7"
451 "\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF";
452 int32_t expected[] = {0x0};
454 for (
size_t i = 0;
i < strlen(
src); ++
i) {
455 memset(
dst, 0xFF,
sizeof(
dst));
458 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
468 "\xC0\x20\xC1\x20\xC2\x20\xC3\x20"
469 "\xC4\x20\xC5\x20\xC6\x20\xC7\x20"
470 "\xC8\x20\xC9\x20\xCA\x20\xCB\x20"
471 "\xCC\x20\xCD\x20\xCE\x20\xCF\x20"
472 "\xD0\x20\xD1\x20\xD2\x20\xD3\x20"
473 "\xD4\x20\xD5\x20\xD6\x20\xD7\x20"
474 "\xD8\x20\xD9\x20\xDA\x20\xDB\x20"
475 "\xDC\x20\xDD\x20\xDE\x20\xDF\x20";
476 int32_t expected[] = {0x0};
478 for (
size_t i = 0;
i < strlen(
src);
i += 2) {
479 memset(
dst, 0xFF,
sizeof(
dst));
482 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
490 "\xE0\x20\xE1\x20\xE2\x20\xE3\x20"
491 "\xE4\x20\xE5\x20\xE6\x20\xE7\x20"
492 "\xE8\x20\xE9\x20\xEA\x20\xEB\x20"
493 "\xEC\x20\xED\x20\xEE\x20\xEF\x20";
494 int32_t expected[] = {0x0};
496 for (
size_t i = 0;
i < strlen(
src);
i += 2) {
497 memset(
dst, 0xFF,
sizeof(
dst));
500 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
508 "\xF0\x20\xF1\x20\xF2\x20\xF3\x20"
509 "\xF4\x20\xF5\x20\xF6\x20\xF7\x20";
510 int32_t expected[] = {0x0};
512 for (
size_t i = 0;
i < strlen(
src);
i += 2) {
513 memset(
dst, 0xFF,
sizeof(
dst));
516 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
523 const char*
src =
"\xF8\x20\xF9\x20\xFA\x20\xFB\x20";
524 int32_t expected[] = {0x0};
526 for (
size_t i = 0;
i < strlen(
src);
i += 2) {
527 memset(
dst, 0xFF,
sizeof(
dst));
530 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
537 const char*
src =
"\xFC\x20\xFD\x20";
538 int32_t expected[] = {0x0};
540 for (
size_t i = 0;
i < strlen(
src);
i += 2) {
541 memset(
dst, 0xFF,
sizeof(
dst));
544 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
552 const char*
src =
"\xC0";
553 int32_t expected[] = {0x0};
555 memset(
dst, 0xFF,
sizeof(
dst));
558 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
563 const char*
src =
"\xE0\x80";
564 int32_t expected[] = {0x0};
566 memset(
dst, 0xFF,
sizeof(
dst));
569 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
574 const char*
src =
"\xF0\x80\x80";
575 int32_t expected[] = {0x0};
577 memset(
dst, 0xFF,
sizeof(
dst));
580 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
585 const char*
src =
"\xF8\x80\x80\x80";
586 int32_t expected[] = {0x0};
588 memset(
dst, 0xFF,
sizeof(
dst));
591 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
597 const char*
src =
"\xFC\x80\x80\x80\x80";
598 int32_t expected[] = {0x0};
600 memset(
dst, 0xFF,
sizeof(
dst));
603 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
608 const char*
src =
"\xDF";
609 int32_t expected[] = {0x0};
611 memset(
dst, 0xFF,
sizeof(
dst));
614 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
619 const char*
src =
"\xEF\xBF";
620 int32_t expected[] = {0x0};
622 memset(
dst, 0xFF,
sizeof(
dst));
625 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
630 const char*
src =
"\xF7\xBF\xBF";
631 int32_t expected[] = {0x0};
633 memset(
dst, 0xFF,
sizeof(
dst));
636 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
642 const char*
src =
"\xFB\xBF\xBF\xBF";
643 int32_t expected[] = {0x0};
645 memset(
dst, 0xFF,
sizeof(
dst));
648 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
654 const char*
src =
"\xFD\xBF\xBF\xBF\xBF";
655 int32_t expected[] = {0x0};
657 memset(
dst, 0xFF,
sizeof(
dst));
660 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
666 "\xC0\xE0\x80\xF0\x80\x80"
667 "\xF8\x80\x80\x80\xFC\x80"
668 "\x80\x80\x80\xDF\xEF\xBF"
669 "\xF7\xBF\xBF\xFB\xBF\xBF"
670 "\xBF\xFD\xBF\xBF\xBF\xBF";
671 int32_t expected[] = {0x0};
673 for (
size_t i = 0;
i < strlen(
src); ++
i) {
674 for (
size_t j = 1; j < (strlen(
src) -
i); ++j) {
675 memset(
dst, 0xFF,
sizeof(
dst));
679 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
688 const char*
src =
"\xFE";
689 int32_t expected[] = {0xFE};
691 memset(
dst, 0,
sizeof(
dst));
694 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
699 const char*
src =
"\xFF";
700 int32_t expected[] = {0xFF};
702 memset(
dst, 0,
sizeof(
dst));
705 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
710 const char*
src =
"\xFE\xFE\xFF\xFF";
711 int32_t expected[] = {0xFF};
713 memset(
dst, 0,
sizeof(
dst));
716 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
725 const char*
src =
"\xC0\xAF";
726 int32_t expected[] = {0x2F};
728 memset(
dst, 0,
sizeof(
dst));
731 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
736 const char*
src =
"\xE0\x80\xAF";
737 int32_t expected[] = {0x2F};
739 memset(
dst, 0,
sizeof(
dst));
742 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
747 const char*
src =
"\xF0\x80\x80\xAF";
748 int32_t expected[] = {0x2F};
750 memset(
dst, 0,
sizeof(
dst));
753 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
758 const char*
src =
"\xF8\x80\x80\x80\xAF";
759 int32_t expected[] = {0x2F};
761 memset(
dst, 0,
sizeof(
dst));
764 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
769 const char*
src =
"\xFC\x80\x80\x80\x80\xAF";
770 int32_t expected[] = {0x2F};
772 memset(
dst, 0,
sizeof(
dst));
775 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
782 const char*
src =
"\xC1\xBF";
783 int32_t expected[] = {0x7F};
785 memset(
dst, 0,
sizeof(
dst));
788 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
793 const char*
src =
"\xE0\x9F\xBF";
794 int32_t expected[] = {0x7FF};
796 memset(
dst, 0,
sizeof(
dst));
799 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
804 const char*
src =
"\xF0\x8F\xBF\xBF";
805 int32_t expected[] = {0xFFFF};
807 memset(
dst, 0,
sizeof(
dst));
810 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
815 const char*
src =
"\xF8\x87\xBF\xBF\xBF";
816 int32_t expected[] = {0x1FFFFF};
818 memset(
dst, 0,
sizeof(
dst));
821 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
826 const char*
src =
"\xFC\x83\xBF\xBF\xBF\xBF";
827 int32_t expected[] = {0x3FFFFFF};
829 memset(
dst, 0,
sizeof(
dst));
832 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
839 const char*
src =
"\xC0\x80";
840 int32_t expected[] = {0x0};
842 memset(
dst, 0xFF,
sizeof(
dst));
845 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
850 const char*
src =
"\xE0\x80\x80";
851 int32_t expected[] = {0x0};
853 memset(
dst, 0xFF,
sizeof(
dst));
856 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
861 const char*
src =
"\xF0\x80\x80\x80";
862 int32_t expected[] = {0x0};
864 memset(
dst, 0xFF,
sizeof(
dst));
867 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
872 const char*
src =
"\xF8\x80\x80\x80\x80";
873 int32_t expected[] = {0x0};
875 memset(
dst, 0xFF,
sizeof(
dst));
878 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
883 const char*
src =
"\xFC\x80\x80\x80\x80\x80";
884 int32_t expected[] = {0x0};
886 memset(
dst, 0xFF,
sizeof(
dst));
889 EXPECT(memcmp(expected,
dst,
sizeof(expected)));
898 const char*
src =
"\xED\xA0\x80";
899 int32_t expected[] = {0xD800};
901 memset(
dst, 0,
sizeof(
dst));
904 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
909 const char*
src =
"\xED\xAD\xBF";
910 int32_t expected[] = {0xDB7F};
912 memset(
dst, 0,
sizeof(
dst));
915 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
920 const char*
src =
"\xED\xAE\x80";
921 int32_t expected[] = {0xDB80};
923 memset(
dst, 0,
sizeof(
dst));
926 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
931 const char*
src =
"\xED\xAF\xBF";
932 int32_t expected[] = {0xDBFF};
934 memset(
dst, 0,
sizeof(
dst));
937 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
942 const char*
src =
"\xED\xB0\x80";
943 int32_t expected[] = {0xDC00};
945 memset(
dst, 0,
sizeof(
dst));
948 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
953 const char*
src =
"\xED\xBE\x80";
954 int32_t expected[] = {0xDF80};
956 memset(
dst, 0,
sizeof(
dst));
959 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
964 const char*
src =
"\xED\xBF\xBF";
965 int32_t expected[] = {0xDFFF};
967 memset(
dst, 0,
sizeof(
dst));
970 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
982 const char*
src =
"\xED\xA0\x80\xED\xB0\x80";
983 int32_t expected[] = {0xD800, 0xDC00};
985 memset(
dst, 0,
sizeof(
dst));
988 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
993 const char*
src =
"\xED\xA0\x80\xED\xBF\xBF";
994 int32_t expected[] = {0xD800, 0xDFFF};
996 memset(
dst, 0,
sizeof(
dst));
999 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
1004 const char*
src =
"\xED\xAD\xBF\xED\xB0\x80";
1005 int32_t expected[] = {0xDB7F, 0xDC00};
1007 memset(
dst, 0,
sizeof(
dst));
1010 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
1015 const char*
src =
"\xED\xAD\xBF\xED\xBF\xBF";
1016 int32_t expected[] = {0xDB7F, 0xDFFF};
1018 memset(
dst, 0,
sizeof(
dst));
1021 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
1026 const char*
src =
"\xED\xAE\x80\xED\xB0\x80";
1027 int32_t expected[] = {0xDB80, 0xDC00};
1029 memset(
dst, 0,
sizeof(
dst));
1032 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
1037 const char*
src =
"\xED\xAE\x80\xED\xBF\xBF";
1038 int32_t expected[] = {0xDB80, 0xDFFF};
1040 memset(
dst, 0,
sizeof(
dst));
1043 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
1048 const char*
src =
"\xED\xAF\xBF\xED\xB0\x80";
1049 int32_t expected[] = {0xDBFF, 0xDC00};
1051 memset(
dst, 0,
sizeof(
dst));
1054 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
1059 const char*
src =
"\xED\xAF\xBF\xED\xBF\xBF";
1060 int32_t expected[] = {0xDBFF, 0xDFFF};
1062 memset(
dst, 0,
sizeof(
dst));
1065 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
1072 const char*
src =
"\xEF\xBF\xBE";
1073 int32_t expected[] = {0xFFFE};
1075 memset(
dst, 0,
sizeof(
dst));
1078 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
1083 const char*
src =
"\xEF\xBF\xBF";
1084 int32_t expected[] = {0xFFFF};
1086 memset(
dst, 0,
sizeof(
dst));
1089 EXPECT(!memcmp(expected,
dst,
sizeof(expected)));
static bool is_valid(SkISize dim)
static StringPtr FromUTF16(const uint16_t *utf16_array, intptr_t array_len, Heap::Space space=Heap::kNew)
static bool DecodeCStringToUTF32(const char *str, int32_t *dst, intptr_t len)
static intptr_t Length(int32_t ch)
static intptr_t ReportInvalidByte(const uint8_t *utf8_array, intptr_t array_len, intptr_t len)
static intptr_t Encode(int32_t ch, char *dst)
ISOLATE_UNIT_TEST_CASE(StackAllocatedDestruction)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer
#define ARRAY_SIZE(array)