mirror of
https://github.com/sstephenson/bats.git
synced 2026-02-26 17:58:09 +01:00
saving $IFS in run() not altered for code using it
IFS was modified by run() becoming '\n' and so relying to its bash default was failing tests. Also some wrong tests corrected because was relying on this behavior to pass. Fix #89
This commit is contained in:
@@ -37,7 +37,7 @@ fixtures bats
|
||||
run bats "$FIXTURE_ROOT/passing.bats"
|
||||
[ $status -eq 0 ]
|
||||
[ ${lines[0]} = "1..1" ]
|
||||
[ ${lines[1]} = "ok 1 a passing test" ]
|
||||
[ "${lines[1]}" = "ok 1 a passing test" ]
|
||||
}
|
||||
|
||||
@test "summary passing tests" {
|
||||
@@ -256,3 +256,9 @@ fixtures bats
|
||||
[ "${lines[5]}" = "# (in test file $RELATIVE_FIXTURE_ROOT/single_line.bats, line 9)" ]
|
||||
[ "${lines[6]}" = $'# `@test "failing" { false; }\' failed' ]
|
||||
}
|
||||
|
||||
@test "testing IFS not modified by run" {
|
||||
run bats "$FIXTURE_ROOT/loop_keep_IFS.bats"
|
||||
[ $status -eq 0 ]
|
||||
[ "${lines[1]}" = "ok 1 loop_func" ]
|
||||
}
|
||||
|
||||
16
test/fixtures/bats/loop_keep_IFS.bats
vendored
Normal file
16
test/fixtures/bats/loop_keep_IFS.bats
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# see issue #89
|
||||
loop_func() {
|
||||
local search="none one two tree"
|
||||
local d
|
||||
|
||||
for d in $search ; do
|
||||
echo $d
|
||||
done
|
||||
}
|
||||
|
||||
@test "loop_func" {
|
||||
run loop_func
|
||||
[[ "${lines[3]}" == 'tree' ]]
|
||||
run loop_func
|
||||
[[ "${lines[2]}" == 'two' ]]
|
||||
}
|
||||
@@ -13,7 +13,7 @@ fixtures suite
|
||||
run bats "$FIXTURE_ROOT/single"
|
||||
[ $status -eq 0 ]
|
||||
[ ${lines[0]} = "1..1" ]
|
||||
[ ${lines[1]} = "ok 1 a passing test" ]
|
||||
[ "${lines[1]}" = "ok 1 a passing test" ]
|
||||
}
|
||||
|
||||
@test "counting tests in a suite" {
|
||||
|
||||
Reference in New Issue
Block a user