class Tryouts::CLI::VerboseFormatter
def show_failure_details(test_case, actual_results, expected_results = [])
def show_failure_details(test_case, actual_results, expected_results = []) return if actual_results.empty? actual_results.each_with_index do |actual, idx| expected = expected_results[idx] if expected_results && idx < expected_results.length expected_line = test_case.expectations[idx] if test_case.expectations if !expected.nil? # Use the evaluated expected value from the evaluator puts indent_text("Expected: #{Console.color(:green, expected.inspect)}", 4) puts indent_text("Actual: #{Console.color(:red, actual.inspect)}", 4) elsif expected_line && !expected_results.empty? # Only show raw expectation content if we have expected_results (non-error case) puts indent_text("Expected: #{Console.color(:green, expected_line.content)}", 4) puts indent_text("Actual: #{Console.color(:red, actual.inspect)}", 4) else # For error cases (empty expected_results), just show the error puts indent_text("Error: #{Console.color(:red, actual.inspect)}", 4) end # Show difference if both are strings if !expected.nil? && actual.is_a?(String) && expected.is_a?(String) show_string_diff(expected, actual) end puts end end