mirror of
https://github.com/casey/just.git
synced 2025-12-23 11:37:29 +00:00
131 lines
1.9 KiB
Rust
131 lines
1.9 KiB
Rust
use super::*;
|
|
|
|
#[test]
|
|
fn closing_curly_brace_can_abut_interpolation_close() {
|
|
Test::new()
|
|
.justfile(
|
|
"
|
|
foo:
|
|
echo {{if 'a' == 'b' { 'c' } else { 'd' }}}
|
|
",
|
|
)
|
|
.stderr("echo d\n")
|
|
.stdout("d\n")
|
|
.run();
|
|
}
|
|
|
|
#[test]
|
|
fn eol_with_continuation_in_interpolation() {
|
|
Test::new()
|
|
.justfile(
|
|
"
|
|
foo:
|
|
echo {{(
|
|
'a'
|
|
)}}
|
|
",
|
|
)
|
|
.stderr("echo a\n")
|
|
.stdout("a\n")
|
|
.run();
|
|
}
|
|
|
|
#[test]
|
|
fn eol_without_continuation_in_interpolation() {
|
|
Test::new()
|
|
.justfile(
|
|
"
|
|
foo:
|
|
echo {{
|
|
'a'
|
|
}}
|
|
",
|
|
)
|
|
.stderr("echo a\n")
|
|
.stdout("a\n")
|
|
.run();
|
|
}
|
|
|
|
#[test]
|
|
fn comment_in_interopolation() {
|
|
Test::new()
|
|
.justfile(
|
|
"
|
|
foo:
|
|
echo {{ # hello
|
|
'a'
|
|
}}
|
|
",
|
|
)
|
|
.stderr(
|
|
"
|
|
error: Expected backtick, identifier, '(', '/', or string, but found comment
|
|
——▶ justfile:2:11
|
|
│
|
|
2 │ echo {{ # hello
|
|
│ ^^^^^^^
|
|
",
|
|
)
|
|
.status(EXIT_FAILURE)
|
|
.run();
|
|
}
|
|
|
|
#[test]
|
|
fn indent_and_dedent_are_ignored_in_interpolation() {
|
|
Test::new()
|
|
.justfile(
|
|
"
|
|
foo:
|
|
echo {{
|
|
'a'
|
|
+ 'b'
|
|
+ 'c'
|
|
}}
|
|
echo foo
|
|
",
|
|
)
|
|
.stderr("echo abc\necho foo\n")
|
|
.stdout("abc\nfoo\n")
|
|
.run();
|
|
}
|
|
|
|
#[test]
|
|
fn shebang_line_numbers_are_correct_with_multi_line_interpolations() {
|
|
Test::new()
|
|
.justfile(
|
|
"
|
|
foo:
|
|
#!/usr/bin/env cat
|
|
echo {{
|
|
'a'
|
|
+ 'b'
|
|
+ 'c'
|
|
}}
|
|
echo foo
|
|
",
|
|
)
|
|
.stdout(if cfg!(windows) {
|
|
"
|
|
|
|
|
|
echo abc
|
|
|
|
|
|
|
|
|
|
echo foo
|
|
"
|
|
} else {
|
|
"
|
|
#!/usr/bin/env cat
|
|
|
|
echo abc
|
|
|
|
|
|
|
|
|
|
echo foo
|
|
"
|
|
})
|
|
.run();
|
|
}
|