]> sigrok.org Git - libsigrok.git/blobdiff - tests/strutil.c
hwdriver: introduce SR_CONF_FORCE_DETECT config key (scan option)
[libsigrok.git] / tests / strutil.c
index 14240f049f1f4c181d74cbe820803cb7d2f00072..fca70eaaee36ef270d6725376391add9715197a2 100644 (file)
@@ -125,6 +125,15 @@ static void test_rational(const char *input, struct sr_rational expected)
                    input, rational.p, rational.q);
 }
 
+static void test_rational_fail(const char *input)
+{
+       int ret;
+       struct sr_rational rational;
+
+       ret = sr_parse_rational(input, &rational);
+       fail_unless(ret != SR_OK, "Unexpected success for '%s'.", input);
+}
+
 static void test_voltage(uint64_t v_p, uint64_t v_q, const char *expected)
 {
        char *s;
@@ -388,6 +397,16 @@ START_TEST(test_fractional)
        test_rational("+.1", (struct sr_rational){1, 10});
        test_rational("-0.1", (struct sr_rational){-1, 10});
        test_rational("-.1", (struct sr_rational){-1, 10});
+       test_rational(".1", (struct sr_rational){1, 10});
+       test_rational(".123", (struct sr_rational){123, 1000});
+       test_rational("1.", (struct sr_rational){1, 1});
+       test_rational("123.", (struct sr_rational){123, 1});
+       test_rational("-.1", (struct sr_rational){-1, 10});
+       test_rational(" .1", (struct sr_rational){1, 10});
+       test_rational("+.1", (struct sr_rational){1, 10});
+       test_rational_fail(".");
+       test_rational_fail(".e");
+       test_rational_fail(".e1");
 }
 END_TEST