chibicc/test/unicode.c

40 lines
848 B
C
Raw Normal View History

2020-08-18 05:56:24 +03:00
#include "test.h"
2020-09-27 13:46:47 +03:00
#define STR(x) #x
2020-08-18 05:56:24 +03:00
int main() {
ASSERT(4, sizeof(L'\0'));
ASSERT(97, L'a');
ASSERT(0, strcmp("αβγ", "\u03B1\u03B2\u03B3"));
ASSERT(0, strcmp("日本語", "\u65E5\u672C\u8A9E"));
ASSERT(0, strcmp("日本語", "\U000065E5\U0000672C\U00008A9E"));
ASSERT(0, strcmp("🌮", "\U0001F32E"));
ASSERT(-1, L'\xffffffff'>>31);
ASSERT(946, L'β');
ASSERT(12354, L'');
ASSERT(127843, L'🍣');
2020-09-27 13:46:47 +03:00
ASSERT(2, sizeof(u'\0'));
ASSERT(1, u'\xffff'>>15);
ASSERT(97, u'a');
ASSERT(946, u'β');
ASSERT(12354, u'');
ASSERT(62307, u'🍣');
ASSERT(0, strcmp(STR(u'a'), "u'a'"));
2020-07-06 12:59:25 +03:00
ASSERT(4, sizeof(U'\0'));
ASSERT(1, U'\xffffffff'>>31);
ASSERT(97, U'a');
ASSERT(946, U'β');
ASSERT(12354, U'');
ASSERT(127843, U'🍣');
ASSERT(0, strcmp(STR(U'a'), "U'a'"));
2020-08-18 05:56:24 +03:00
printf("OK\n");
return 0;
}