#!/usr/bin/env bats load test_helper @test "assert_failure(): returns 0 if \`\$status' is not 0" { run false run assert_failure assert_test_pass } @test "assert_failure(): returns 1 and displays details if \`\$status' is 0" { run bash -c 'echo "a" exit 0' run assert_failure assert_test_fail <<'ERR_MSG' -- command succeeded, but it was expected to fail -- output : a -- ERR_MSG } @test "assert_failure(): displays \`\$output' in multi-line format if it is longer then one line" { run bash -c 'printf "a 0\na 1" exit 0' run assert_failure assert_test_fail <<'ERR_MSG' -- command succeeded, but it was expected to fail -- output (2 lines): a 0 a 1 -- ERR_MSG } @test "assert_failure() : returns 0 if \`\$status' equals " { run bash -c 'exit 1' run assert_failure 1 assert_test_pass } @test "assert_failure() : returns 1 and displays details if \`\$status' does not equal " { run bash -c 'echo "a" exit 1' run assert_failure 2 assert_test_fail <<'ERR_MSG' -- command failed as expected, but status differs -- expected : 2 actual : 1 output : a -- ERR_MSG } @test "assert_failure() : displays \`\$output' in multi-line format if it is longer then one line" { run bash -c 'printf "a 0\na 1" exit 1' run assert_failure 2 assert_test_fail <<'ERR_MSG' -- command failed as expected, but status differs -- expected : 2 actual : 1 output (2 lines): a 0 a 1 -- ERR_MSG }