blob: b21725ae21266d97cf973c0b30412eac19ce5a14 [file]
#!/usr/bin/env bats
load test_helper
@test 'assert_equal() <actual> <expected>: returns 0 if <actual> equals <expected>' {
run assert_equal 'a' 'a'
[ "$status" -eq 0 ]
[ "${#lines[@]}" -eq 0 ]
}
@test 'assert_equal() <actual> <expected>: returns 1 and displays details if <actual> does not equal <expected>' {
run assert_equal 'a' 'b'
[ "$status" -eq 1 ]
[ "${#lines[@]}" -eq 4 ]
[ "${lines[0]}" == '-- values do not equal --' ]
[ "${lines[1]}" == 'expected : b' ]
[ "${lines[2]}" == 'actual : a' ]
[ "${lines[3]}" == '--' ]
}
@test 'assert_equal() <actual> <expected>: displays details in multi-line format if <actual> is longer than one line' {
run assert_equal $'a 0\na 1' 'b'
[ "$status" -eq 1 ]
[ "${#lines[@]}" -eq 7 ]
[ "${lines[0]}" == '-- values do not equal --' ]
[ "${lines[1]}" == 'expected (1 lines):' ]
[ "${lines[2]}" == ' b' ]
[ "${lines[3]}" == 'actual (2 lines):' ]
[ "${lines[4]}" == ' a 0' ]
[ "${lines[5]}" == ' a 1' ]
[ "${lines[6]}" == '--' ]
}
@test 'assert_equal() <actual> <expected>: displays details in multi-line format if <expected> is longer than one line' {
run assert_equal 'a' $'b 0\nb 1'
[ "$status" -eq 1 ]
[ "${#lines[@]}" -eq 7 ]
[ "${lines[0]}" == '-- values do not equal --' ]
[ "${lines[1]}" == 'expected (2 lines):' ]
[ "${lines[2]}" == ' b 0' ]
[ "${lines[3]}" == ' b 1' ]
[ "${lines[4]}" == 'actual (1 lines):' ]
[ "${lines[5]}" == ' a' ]
[ "${lines[6]}" == '--' ]
}
@test 'assert_equal() <actual> <expected>: performs literal matching' {
run assert_equal 'a' '*'
[ "$status" -eq 1 ]
}