85 lines
1.5 KiB
Rust
85 lines
1.5 KiB
Rust
use super::*;
|
|
|
|
#[test]
|
|
fn set_unstable_true_with_env_var() {
|
|
let justfile = r#"
|
|
default:
|
|
echo 'foo'
|
|
"#;
|
|
|
|
for val in ["true", "some-arbitrary-string"] {
|
|
Test::new()
|
|
.justfile(justfile)
|
|
.args(["--fmt"])
|
|
.env("JUST_UNSTABLE", val)
|
|
.status(EXIT_SUCCESS)
|
|
.stderr_regex("Wrote justfile to `.*`\n")
|
|
.run();
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn set_unstable_false_with_env_var() {
|
|
let justfile = r#"
|
|
default:
|
|
echo 'foo'
|
|
"#;
|
|
for val in ["0", "", "false"] {
|
|
Test::new()
|
|
.justfile(justfile)
|
|
.args(["--fmt"])
|
|
.env("JUST_UNSTABLE", val)
|
|
.status(EXIT_FAILURE)
|
|
.stderr_regex("error: The `--fmt` command is currently unstable.*")
|
|
.run();
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn set_unstable_false_with_env_var_unset() {
|
|
let justfile = r#"
|
|
default:
|
|
echo 'foo'
|
|
"#;
|
|
Test::new()
|
|
.justfile(justfile)
|
|
.args(["--fmt"])
|
|
.status(EXIT_FAILURE)
|
|
.stderr_regex("error: The `--fmt` command is currently unstable.*")
|
|
.run();
|
|
}
|
|
|
|
#[test]
|
|
fn set_unstable_with_setting() {
|
|
Test::new()
|
|
.justfile(
|
|
"
|
|
set unstable
|
|
|
|
mod foo
|
|
",
|
|
)
|
|
.write("foo.just", "@bar:\n echo BAR")
|
|
.args(["foo", "bar"])
|
|
.stdout("BAR\n")
|
|
.run();
|
|
}
|
|
|
|
#[test]
|
|
fn unstable_setting_does_not_affect_submodules() {
|
|
Test::new()
|
|
.justfile(
|
|
"
|
|
set unstable
|
|
|
|
mod foo
|
|
",
|
|
)
|
|
.write("foo.just", "mod bar")
|
|
.write("bar.just", "baz:\n echo hello")
|
|
.args(["foo", "bar"])
|
|
.stderr_regex("error: Modules are currently unstable.*")
|
|
.status(EXIT_FAILURE)
|
|
.run();
|
|
}
|