scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

mbtest.h (2257B)


      1 static wchar_t wc;
      2 static struct mbtest {
      3 	char *s;
      4 	int l;
      5 	int rmbr;
      6 	int rmb;
      7 	int mbstate;
      8 	int syserr;
      9 	wchar_t *pwc;
     10 	wchar_t wc;
     11 } tests[] = {
     12 	{"\0",                             2,  0,  0, 1, 0,      &wc,  0},
     13 	{"\x21",                           2,  1,  1, 1, 0,      &wc,  0x21},
     14 	{"\xc2\xa1",                       3,  2,  2, 1, 0,      &wc,  0x00A1},
     15 	{"\xc2\xa1",                       2,  2,  2, 1, 0,      &wc,  0x00A1},
     16 	{"\xe2\x80\x94",                   4,  3,  3, 1, 0,      &wc,  0x2014},
     17 	{"\xf0\x9f\x92\xa9",               5,  4,  4, 1, 0,      &wc,  0x01F4A9},
     18 	{"\xf0\x9f\x92\xa9",               5,  4,  4, 1, 0,      NULL, -1},
     19 	{"\xf0\x9f\x92\xa9",              -1,  4,  4, 1, 0,      &wc,  0x01F4A9},
     20 
     21 	{NULL,                             4,  0,  0, 1, 0,      NULL, -1},
     22 	{"\xed\x9f\xbf",                   4,  3,  3, 1, 0,      &wc,  0xd7ff},
     23 	{"\xed\xa0\x80",                   4, -1, -1, 1, EILSEQ, &wc,  -1},
     24 	{"\xed\xb3\xbf",                   4, -1, -1, 1, EILSEQ, &wc,  -1},
     25 	{"\xed\xb4\x80",                   4,  3,  3, 1, 0,      &wc,  0xdd00},
     26 
     27 	{"\xf0\x9f\x92\xa9",               3, -2, -1, 0, 0,      &wc, -1},
     28 	{"\xa9",                           2,  1, -1, 1, 0,      &wc, 0x01F4A9},
     29 	{"\xf0\x9f\x92\xa9",               3, -2, -1, 0, 0,      &wc, -1},
     30 	{NULL,                             4, -1,  0, 1, EILSEQ, &wc, -1},
     31 	{"\xa9",                           2, -1, -1, 1, EILSEQ, &wc, -1},
     32 	{"\xf0\x9f\x92\xa9",               3, -2, -1, 0, 0,      &wc, -1},
     33 	{NULL,                             4, -1,  0, 1, EILSEQ, &wc, -1},
     34 	{"\x21",                           2,  1,  1, 1, 0,      &wc,  0x21},
     35 	{"\xf0\x9f\x92\xa9",               2, -2, -1, 0, 0,      &wc, -1},
     36 	{"\xf0\x9f\x92\xa9",               0, -2, -1, 0, 0,      &wc, -1},
     37 	{"\x92\xa9",                       2,  2, -1, 1, 0,      &wc, 0x01F4A9},
     38 
     39 	{"\x80",                           2, -1, -1, 1, EILSEQ, &wc, -1},
     40 	{"\xc0\x80",                       2, -1, -1, 1, EILSEQ, &wc, -1},
     41 	{"\xc0\x00",                       2, -1, -1, 1, EILSEQ, &wc, -1},
     42 	{"\xc1\x81",                       2, -1, -1, 1, EILSEQ, &wc, -1},
     43 	{"\xf8\x81\x82\x83\x84\x85",      -1, -1, -1, 1, EILSEQ, &wc, -1},
     44 	{"\xfe\x81\x82\x83\x84\x85\x86",   8, -1, -1, 1, EILSEQ, &wc, -1},
     45 };