use super::*; #[test] fn once() { Test::new() .justfile("x := 'a' / 'b'") .args(["--evaluate", "x"]) .stdout("a/b") .run(); } #[test] fn twice() { Test::new() .justfile("x := 'a' / 'b' / 'c'") .args(["--evaluate", "x"]) .stdout("a/b/c") .run(); } #[test] fn no_lhs_once() { Test::new() .justfile("x := / 'a'") .args(["--evaluate", "x"]) .stdout("/a") .run(); } #[test] fn no_lhs_twice() { Test::new() .justfile("x := / 'a' / 'b'") .args(["--evaluate", "x"]) .stdout("/a/b") .run(); Test::new() .justfile("x := // 'a'") .args(["--evaluate", "x"]) .stdout("//a") .run(); } #[test] fn no_rhs_once() { Test::new() .justfile("x := 'a' /") .stderr( " error: Expected backtick, identifier, '(', '/', or string, but found end of file --> justfile:1:11 | 1 | x := 'a' / | ^ ", ) .status(EXIT_FAILURE) .run(); } #[test] fn default_un_parenthesized() { Test::new() .justfile( " foo x='a' / 'b': echo {{x}} ", ) .stderr( " error: Expected '*', ':', '--', '$', identifier, or '+', but found '/' --> justfile:1:11 | 1 | foo x='a' / 'b': | ^ ", ) .status(EXIT_FAILURE) .run(); } #[test] fn no_lhs_un_parenthesized() { Test::new() .justfile( " foo x=/ 'a' / 'b': echo {{x}} ", ) .stderr( " error: Expected backtick, identifier, '(', or string, but found '/' --> justfile:1:7 | 1 | foo x=/ 'a' / 'b': | ^ ", ) .status(EXIT_FAILURE) .run(); } #[test] fn default_parenthesized() { Test::new() .justfile( " foo x=('a' / 'b'): echo {{x}} ", ) .stderr("echo a/b\n") .stdout("a/b\n") .run(); } #[test] fn no_lhs_parenthesized() { Test::new() .justfile( " foo x=(/ 'a' / 'b'): echo {{x}} ", ) .stderr("echo /a/b\n") .stdout("/a/b\n") .run(); }