84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/matest/spec_printer.rb', line 84
def print_subexpression(subexpression, status)
just_before_assertion = status.example.just_before_assertion.code
code = just_before_assertion + subexpression
result = Evaluator.new(just_before_assertion, proc{}).eval_string(code)
if result.class != Matest::EvalErr
explanation = []
explanation << expression(" #{subexpression}")
explanation << "\n"
explanation << value(" # => #{result}")
puts explanation.join
true
else
code = " The assertion couldn't be explained.\n The error message was:\n\#{result}\n CODE\n puts error(code)\n false\n end\nend\n"
|