use std assert
# TODO use testing.nu testing module,
# which wasn't working at the time I wrote these tests
#[test]
def test_shell_variables [] {
let actual = (echo "A=123" | bash-env -s).shellvars
let expected = { A: "123" }
assert equal $actual $expected
}
#[test]
def test_shell_variables_from_file [] {
let actual = bash-env -s tests/shell-variables.env
let expected = { shellvars: { A: "not exported" } env: { B: "exported" } }
assert equal $actual $expected
}
#[test]
def test_shell_functions [] {
let actual = bash-env -f [f2 f3] tests/shell-functions.env
let expected = {
"env": {
"B": "1",
"A": "1"
},
"shellvars": {},
"fn": {
"f2": {
"env": {
"B": "2",
"A": "2"
},
"shellvars": {
"C2": "I am shell variable C2"
}
},
"f3": {
"env": {
"B": "3",
"A": "3"
},
"shellvars": {
"C3": "I am shell variable C3"
}
}
}
}
assert equal $actual $expected
}
export def main [] {
test_shell_variables
test_shell_variables_from_file
test_shell_functions
print "All tests passed"
}