43 lines
738 B
C
43 lines
738 B
C
#include "test.h"
|
|
|
|
Str
|
|
mkstr(char *s)
|
|
{
|
|
Str r;
|
|
|
|
sinit(&r, s, strlen(s));
|
|
return r;
|
|
}
|
|
|
|
int
|
|
checkstr(struct ct *t, char *where, char *want, Str *got)
|
|
{
|
|
char buf[Maxutf];
|
|
|
|
stoutf(got, buf, sizeof buf);
|
|
if(strcmp(want, buf) == 0)
|
|
return 1;
|
|
return CT_ERRORF(t, "%s: want \"%s\", got \"%s\"",
|
|
where, want, buf);
|
|
}
|
|
|
|
Str
|
|
shownpre(Im *state)
|
|
{
|
|
Str mapped, shown;
|
|
|
|
if(state->l->lang == LangJP || state->l->lang == LangJPK){
|
|
shown = state->pre;
|
|
if(state->raw.n == 0)
|
|
return shown;
|
|
if(mapget(state->l->map, &state->raw, &mapped))
|
|
sappend(&shown, &mapped);
|
|
else
|
|
sappend(&shown, &state->raw);
|
|
return shown;
|
|
}
|
|
if(state->l->map != nil && mapget(state->l->map, &state->pre, &shown))
|
|
return shown;
|
|
return state->pre;
|
|
}
|