@@ -72,6 +72,27 @@ static void test_visitor_in_int(TestInputVisitorData *data,
g_assert_cmpint(res, ==, value);
}
+static void test_visitor_in_uint64(TestInputVisitorData *data,
+ const void *unused)
+{
+ uint64_t res = 0, value = UINT64_MAX;
+ Error *err = NULL;
+ Visitor *v;
+
+ v = visitor_input_test_init(data, g_strdup_printf("%" PRIu64, value));
+
+ visit_type_uint64(v, &res, NULL, &err);
+ g_assert(!err);
+ g_assert_cmpint(res, ==, value);
+ visitor_input_teardown(data, unused);
+
+ v = visitor_input_test_init(data, g_strdup_printf("0x%" PRIx64, value));
+
+ visit_type_uint64(v, &res, NULL, &err);
+ g_assert(!err);
+ g_assert_cmpint(res, ==, value);
+}
+
static void test_visitor_in_intList(TestInputVisitorData *data,
const void *unused)
{
@@ -271,6 +292,8 @@ int main(int argc, char **argv)
input_visitor_test_add("/string-visitor/input/int",
&in_visitor_data, test_visitor_in_int);
+ input_visitor_test_add("/string-visitor/input/uint64",
+ &in_visitor_data, test_visitor_in_uint64);
input_visitor_test_add("/string-visitor/input/intList",
&in_visitor_data, test_visitor_in_intList);
input_visitor_test_add("/string-visitor/input/bool",
Test parsing of decimal and hexadecimal uint64 numbers with most significient bit set. Signed-off-by: Andreas Färber <afaerber@suse.de> --- tests/test-string-input-visitor.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)