mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +01:00
param: started adding callback unit tests
Well its about time. Signed-off-by: Mark Beckwith <wythe@intrig.com>
This commit is contained in:
committed by
Rusty Russell
parent
721f77f528
commit
ca40cfa0ce
@@ -476,6 +476,36 @@ static void advanced_fail(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define test_cb(cb, T, json_, value, pass) \
|
||||||
|
{ \
|
||||||
|
struct json *j = json_parse(cmd, json_); \
|
||||||
|
T *v; \
|
||||||
|
bool ret = cb(cmd, "name", j->buffer, j->toks + 1, &v); \
|
||||||
|
assert(ret == pass); \
|
||||||
|
if (ret) { \
|
||||||
|
assert(v); \
|
||||||
|
assert(*v == value); \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
static void json_tok_tests(void)
|
||||||
|
{
|
||||||
|
test_cb(json_tok_bool, bool, "[ true ]", true, true);
|
||||||
|
test_cb(json_tok_bool, bool, "[ false ]", false, true);
|
||||||
|
test_cb(json_tok_bool, bool, "[ tru ]", false, false);
|
||||||
|
test_cb(json_tok_bool, bool, "[ 1 ]", false, false);
|
||||||
|
|
||||||
|
test_cb(json_tok_percent, double, "[ -0.01 ]", 0, false);
|
||||||
|
test_cb(json_tok_percent, double, "[ 0.00 ]", 0, true);
|
||||||
|
test_cb(json_tok_percent, double, "[ 1 ]", 1, true);
|
||||||
|
test_cb(json_tok_percent, double, "[ 1.1 ]", 1.1, true);
|
||||||
|
test_cb(json_tok_percent, double, "[ 1.01 ]", 1.01, true);
|
||||||
|
test_cb(json_tok_percent, double, "[ 99.99 ]", 99.99, true);
|
||||||
|
test_cb(json_tok_percent, double, "[ 100.0 ]", 100, true);
|
||||||
|
test_cb(json_tok_percent, double, "[ 100.001 ]", 0, false);
|
||||||
|
test_cb(json_tok_percent, double, "[ 1000 ]", 0, false);
|
||||||
|
test_cb(json_tok_percent, double, "[ 'wow' ]", 0, false);
|
||||||
|
}
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
@@ -497,6 +527,7 @@ int main(void)
|
|||||||
sendpay_nulltok();
|
sendpay_nulltok();
|
||||||
advanced();
|
advanced();
|
||||||
advanced_fail();
|
advanced_fail();
|
||||||
|
json_tok_tests();
|
||||||
tal_free(tmpctx);
|
tal_free(tmpctx);
|
||||||
printf("run-params ok\n");
|
printf("run-params ok\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user