#include <stdio.h>
#include <stdlib.h>
#include <NATools/words.h>
#include <glib.h>
#include <wchar.h>
#include "unicode.c"
wchar_t* chomp(wchar_t *str) {
wchar_t *rts = str;
while(*str) {
if (*str == L'\n') {
*str = L'\0';
}
str++;
}
return rts;
}
int main(void) {
wchar_t buff[100];
Words *lst;
FILE *fd;
init_locale();
lst = words_new();
printf("ok 1\n");
fd = fopen("t/bin/words.input", "r");
if (!fd) return 1;
while(!feof(fd)) {
fgetws(buff, 100, fd);
chomp(buff);
if (!feof(fd)) {
words_add_word(lst, wcs_dup(buff));
}
}
fclose(fd);
printf("ok 2\n");
if (words_save(lst, "t/bin/words.output.bin") != TRUE) return 1;
printf("ok 3\n");
words_free(lst);
lst = words_quick_load("t/bin/words.output.bin");
if (!lst) return 1;
printf("ok 4\n");
fd = fopen("t/bin/words.input", "r");
while(!feof(fd)) {
fgetws(buff, 100, fd);
if (!feof(fd)) {
if (words_get_id(lst, chomp(buff)) == 0) {
fprintf(stderr, "Word %ls returned 0\n", buff);
return 1;
}
}
}
printf("ok 5\n");
fclose(fd);
return 0;
}