1234567891011121314151617181920212223242526272829303132333435363738 |
- /**
- * This is a test for utf8 in $package$
- */
- #include "si_test.h"
- #include "utf8.h"
- TEST_FUNC(utf8) {
- char * strlist[] = { "", "u", "µ", "無"};
- long correct[] = { 0, 117, 181, 28961 };
- int index;
- long result;
- char * aid = NULL;
- for (index = 0; index < 4; index ++) {
- TEST_INTEQ(index, utf8_decode_length(strlist[index]));
- TEST_INTEQ(index, utf8_decode_one(strlist[index], &result));
- TEST_INTEQ(result, correct[index]);
- TEST_INTEQ(index, utf8_next(strlist[index], &aid, &result));
- if (index > 0) {
- TEST_INTEQ(result, correct[index]);
- TEST_PTREQ((void *)aid, (void *)(strlist[index] + index));
- } else {
- TEST_INTEQ(result, 0);
- TEST_NULL((void *)aid);
- }
- }
- TEST_DONE();
- }
- int main(void) {
- TEST_INIT();
- TEST_RUN(utf8);
- TEST_REPORT();
- }
|