diff --git a/pkg/fish-spec/basic_formatter.fish b/pkg/fish-spec/basic_formatter.fish index 0a47e9bd2f5c89e4631f9797d9823ef662fc6f66..0632d1ee6848aa7d5e0044bd8caa1054af7cd9b3 100644 --- a/pkg/fish-spec/basic_formatter.fish +++ b/pkg/fish-spec/basic_formatter.fish @@ -1,4 +1,6 @@ function __fish-spec.spec_init -e spec_init -a spec + set -g __current_spec_name (echo $spec | sed 's/^[0-9]*_//;s/_/ /g;s/^it/It/') + set -e __current_spec_output set -e __current_spec_status end @@ -20,7 +22,12 @@ function __fish-spec.spec_success -e spec_success end function __fish-spec.spec_error -e spec_error - echo -n 'F' + echo -e "\n\nFailure: $__current_spec_name" + + if not set -q __current_spec_quiet + echo (omf::em) $__current_spec_output(omf::off) + end + set -g __any_spec_failed true end @@ -34,11 +41,6 @@ end function __fish-spec_assertion_error -e assertion_error -a error_message # Mimics output redirect inside an event handler - if set -q __fish_spec_output - set __fish_spec_output $error_message - else - echo $error_message - end - + set -g __current_spec_output $error_message set -g __current_spec_status error end diff --git a/pkg/fish-spec/spec/assert_error_message_spec.fish b/pkg/fish-spec/spec/assert_error_message_spec.fish index 03660da8b97a73a53ecfd1d3c412eb9f62e49188..99147520068be7ae513f15b21e59190962e71cf7 100644 --- a/pkg/fish-spec/spec/assert_error_message_spec.fish +++ b/pkg/fish-spec/spec/assert_error_message_spec.fish @@ -1,10 +1,10 @@ function describe_assert_error_message function before_each - set -g __fish_spec_output "initial test value" + set -g __current_spec_quiet end function after_each - set -e __fish_spec_output + set -e __current_spec_quiet end function it_has_no_output_when_the_test_succeeds @@ -13,7 +13,7 @@ function describe_assert_error_message # Reset test status set -e __current_spec_status - assert 'initial test value' = "$__fish_spec_output"; or echo $__fish_spec_output + assert -z "$__current_spec_output" end function it_supports_unary_operators @@ -22,7 +22,7 @@ function describe_assert_error_message # Reset test status set -e __current_spec_status - assert 'Expected string to be empty' = "$__fish_spec_output"; or echo $__fish_spec_output + assert 'Expected string to be empty' = "$__current_spec_output" end function it_supports_binary_operators @@ -31,7 +31,7 @@ function describe_assert_error_message # Reset test status set -e __current_spec_status - assert 'Expected 1 to equals 2' = "$__fish_spec_output"; or echo $__fish_spec_output + assert 'Expected 1 to equals 2' = "$__current_spec_output" end function it_supports_inversion_on_unary_operators @@ -40,7 +40,7 @@ function describe_assert_error_message # Reset test status set -e __current_spec_status - assert 'Expected to not be empty' = "$__fish_spec_output"; or echo $__fish_spec_output + assert 'Expected to not be empty' = "$__current_spec_output" end function it_supports_inversion_on_binary_operators @@ -49,6 +49,6 @@ function describe_assert_error_message # Reset test status set -e __current_spec_status - assert 'Expected 1 to not equals 1' = "$__fish_spec_output"; or echo $__fish_spec_output + assert 'Expected 1 to not equals 1' = "$__current_spec_output" end end diff --git a/pkg/fish-spec/spec/results_spec.fish b/pkg/fish-spec/spec/results_spec.fish index 9cae8821a196238c60ecb0747273d12871aff65a..eaa47cdd00840aa3301485341419dc056e5765e1 100644 --- a/pkg/fish-spec/spec/results_spec.fish +++ b/pkg/fish-spec/spec/results_spec.fish @@ -1,8 +1,4 @@ function describe_results - function after_each - set -e __fish_spec_quiet - end - function it_succeeds_when_single_assertion_succeeds assert 1 = 1