mirror of
https://github.com/zaphar/ucg.git
synced 2025-07-22 18:19:54 -04:00
parent
68e9c1c119
commit
05771c7221
@ -67,4 +67,31 @@ assert {
|
|||||||
assert {
|
assert {
|
||||||
ok = no_default_test(false) == "I was false",
|
ok = no_default_test(false) == "I was false",
|
||||||
desc = "no default successfully detects false",
|
desc = "no default successfully detects false",
|
||||||
|
};
|
||||||
|
|
||||||
|
let tpl_fields = {
|
||||||
|
test = "foo",
|
||||||
|
};
|
||||||
|
|
||||||
|
let no_default_select_result = select tpl_fields.test == "foo", {
|
||||||
|
true = true,
|
||||||
|
false = false,
|
||||||
|
};
|
||||||
|
|
||||||
|
assert {
|
||||||
|
ok = no_default_select_result,
|
||||||
|
desc = "no default successfully select true",
|
||||||
|
};
|
||||||
|
|
||||||
|
let nested_select_result_no_defaults = select true, {
|
||||||
|
true = true,
|
||||||
|
false = select false, {
|
||||||
|
true = fail "whoops! this should never have triggered.",
|
||||||
|
false = true,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
assert {
|
||||||
|
ok = nested_select_result_no_defaults,
|
||||||
|
desc = "Nested select result parses and resturns true",
|
||||||
};
|
};
|
@ -467,13 +467,22 @@ fn select_expression(input: SliceIter<Token>) -> Result<SliceIter<Token>, Expres
|
|||||||
_ => must!(punct!(",")),
|
_ => must!(punct!(",")),
|
||||||
(expr)
|
(expr)
|
||||||
),
|
),
|
||||||
default => optional!(do_each!(
|
default_and_map => either!(
|
||||||
expr => trace_parse!(must!(expression)),
|
do_each!(
|
||||||
_ => punct!(","),
|
default => do_each!(
|
||||||
(expr)
|
expr => trace_parse!(expression),
|
||||||
)),
|
_ => punct!(","),
|
||||||
map => trace_parse!(must!(tuple)),
|
(expr)
|
||||||
(val, default, map)
|
),
|
||||||
|
map => trace_parse!(tuple),
|
||||||
|
(Some(default), map)
|
||||||
|
),
|
||||||
|
do_each!(
|
||||||
|
map => trace_parse!(must!(tuple)),
|
||||||
|
(None, map)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(val, default_and_map.0, default_and_map.1)
|
||||||
);
|
);
|
||||||
match parsed {
|
match parsed {
|
||||||
Result::Abort(e) => Result::Abort(e),
|
Result::Abort(e) => Result::Abort(e),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user