1
0
Fork 0
mirror of https://github.com/tailix/libkernaux.git synced 2024-11-13 11:04:27 -05:00
libkernaux/tests/printf_fmt_gen.jinja

37 lines
982 B
Text
Raw Normal View History

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <kernaux/printf_fmt.h>
#include <assert.h>
2022-11-29 12:06:01 -05:00
#include <string.h>
#include <stdio.h>
2022-06-20 14:01:56 -04:00
void test_main()
{
{% for case in cases %}
{
const char *const format = {{ escape_str(case.in.format) }};
2022-11-29 12:06:01 -05:00
struct KernAux_PrintfFmt_Spec spec = KernAux_PrintfFmt_Spec_create(format);
if (spec.set_width) {
KernAux_PrintfFmt_Spec_set_width(&spec, {{ none_to_zero(case.in.width) }});
}
if (spec.set_precision) {
KernAux_PrintfFmt_Spec_set_precision(&spec, {{ none_to_zero(case.in.precision) }});
}
2022-11-29 12:06:01 -05:00
assert(spec.format_start == format);
assert(spec.flags == {{ escape_flags(case.out.flags) }});
assert(spec.width == {{ case.out.width }});
assert(spec.precision == {{ case.out.precision }});
assert(spec.type == {{ escape_type(case.out.type) }});
assert(spec.base == {{ case.out.base }});
}
{% endfor %}
}