diff options
author | Aspen Smith <root@gws.fyi> | 2024-07-06T15·04-0400 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-07-07T14·19+0000 |
commit | 01765c3717579dc985f4b6c15a5b0b2fcf1dc4da (patch) | |
tree | cb74e926207080fda32a57b2b2925570f6689eec | |
parent | 0ad986169d06922945d035aab8d82266e798bffc (diff) |
test(tvix/cli): Add some additional REPL tests r/8354
A couple of already-passing tests covering REPL behavior Change-Id: Ie21f4abf68ab12827fd15128a8ef810cd8592d07 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11959 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: aspen <root@gws.fyi>
-rw-r--r-- | tvix/cli/tests/repl.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tvix/cli/tests/repl.rs b/tvix/cli/tests/repl.rs index 8d49e7771db3..a14f4bff7e6a 100644 --- a/tvix/cli/tests/repl.rs +++ b/tvix/cli/tests/repl.rs @@ -25,3 +25,45 @@ test_repl!(simple_expr_eval() { => 1 :: int "#]]; }); + +test_repl!(multiline_input() { + "{ x = 1; " => expect![[""]]; + "y = 2; }" => expect![[r#" + => { x = 1; y = 2; } :: set + "#]]; +}); + +test_repl!(bind_literal() { + "x = 1" => expect![[""]]; + "x" => expect![[r#" + => 1 :: int + "#]]; +}); + +test_repl!(bind_lazy() { + "x = { z = 1; }" => expect![[""]]; + "x" => expect![[r#" + => { z = 1; } :: set + "#]]; + "x.z" => expect![[r#" + => 1 :: int + "#]]; + "x.z" => expect![[r#" + => 1 :: int + "#]]; +}); + +test_repl!(deep_print() { + "builtins.map (x: x + 1) [ 1 2 3 ]" => expect![[r#" + => [ <CODE> <CODE> <CODE> ] :: list + "#]]; + ":p builtins.map (x: x + 1) [ 1 2 3 ]" => expect![[r#" + => [ 2 3 4 ] :: list + "#]]; +}); + +test_repl!(explain() { + ":d { x = 1; y = [ 2 3 4 ]; }" => expect![[r#" + => a 2-item attribute set + "#]]; +}); |