diff options
Diffstat (limited to 'unicode/enttest.c')
| -rw-r--r-- | unicode/enttest.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/unicode/enttest.c b/unicode/enttest.c new file mode 100644 index 0000000..cf64390 --- /dev/null +++ b/unicode/enttest.c @@ -0,0 +1,55 @@ +#include "unicode_config.h" +#include "unicode.h" + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> + +struct i { + size_t n_start; + size_t n_size; + unicode_char v; +}; + +#include "unicode_htmlent.h" + +static void testsuite() +{ + size_t j; + + for (j=0; j<sizeof(ii)/sizeof(ii[0]); ++j) + { + char buf[60]; + + memcpy(buf, n + ii[j].n_start, ii[j].n_size); + buf[ii[j].n_size]=0; + + if (unicode_html40ent_lookup(buf) != ii[j].v) + { + fprintf(stderr, "Did not find %s\n", buf); + exit(1); + } + + strcat(buf, "X"); + + if (unicode_html40ent_lookup(buf) == ii[j].v) + { + fprintf(stderr, "Found %s?\n", buf); + exit(1); + } + + buf[strlen(buf)-2]=0; + + if (unicode_html40ent_lookup(buf) == ii[j].v) + { + fprintf(stderr, "Found %s?\n", buf); + exit(1); + } + } +} + +int main(int argc, char **argv) +{ + testsuite(); + return 0; +} |
