1
0
mirror of https://github.com/sstephenson/bats.git synced 2026-02-25 09:18:10 +01:00

Support single-line test definitions

This commit is contained in:
Sam Stephenson
2013-11-17 13:04:57 -06:00
parent 08374f7269
commit 1041e46f39
3 changed files with 22 additions and 2 deletions

View File

@@ -31,16 +31,17 @@ encode_name() {
tests=()
index=0
pattern='^ *@test *([^ ].*) *\{ *$'
pattern='^ *@test *([^ ].*) *\{ *(.*)$'
while IFS= read -r line; do
let index+=1
if [[ "$line" =~ $pattern ]]; then
quoted_name="${BASH_REMATCH[1]}"
body="${BASH_REMATCH[2]}"
name="$(eval echo "$quoted_name")"
encoded_name="$(encode_name "$name")"
tests["${#tests[@]}"]="$encoded_name"
echo "${encoded_name}() { bats_test_begin ${quoted_name} ${index}"
echo "${encoded_name}() { bats_test_begin ${quoted_name} ${index}; ${body}"
else
printf "%s\n" "$line"
fi