Make if blocks work like a def-env (#4656)

* Make `if` work like a def-env

* Add some tests

* Add an example
This commit is contained in:
JT
2022-03-08 07:45:47 -05:00
committed by GitHub
parent ae7c0b1097
commit 477f3be8df
2 changed files with 70 additions and 14 deletions

View File

@@ -350,3 +350,16 @@ fn default_value11() -> TestResult {
fn default_value12() -> TestResult {
fail_test(r#"def foo [--x:int = "a"] { $x }"#, "default value not int")
}
#[test]
fn def_env_if() -> TestResult {
run_test(r#"if true { let-env FOO = "QUX" }; $env.FOO"#, "QUX")
}
#[test]
fn def_env_if2() -> TestResult {
run_test(
r#"if false { let-env FOO = "QUX" } else { let-env FOO = "QUUX" }; $env.FOO"#,
"QUUX",
)
}