diff --git a/lib/pact/provider/matchers/messages.rb b/lib/pact/provider/matchers/messages.rb index 6e109826..1ef0419c 100644 --- a/lib/pact/provider/matchers/messages.rb +++ b/lib/pact/provider/matchers/messages.rb @@ -36,9 +36,9 @@ def expected_desc_for_it expected def colorize_if_enabled formatted_diff, color_enabled if color_enabled # RSpec wraps each line in the failure message with failure_color, turning it red. - # To ensure the lines in the diff that should be white, stay white, wrap each line - # in ANSI white. - formatted_diff.split("\n").collect{ |line| Rainbow(line).white }.join("\n") + # To ensure the lines in the diff that should be white, stay white, put an + # ANSI reset at the start of each line. + formatted_diff.split("\n").collect{ |line|"\e[0m#{line}" }.join("\n") else formatted_diff end diff --git a/spec/lib/pact/provider/matchers/messages_spec.rb b/spec/lib/pact/provider/matchers/messages_spec.rb index 7bec993b..053f9dc5 100644 --- a/spec/lib/pact/provider/matchers/messages_spec.rb +++ b/spec/lib/pact/provider/matchers/messages_spec.rb @@ -12,7 +12,8 @@ module Matchers let(:diff_formatter) { Pact::Matchers::UnixDiffFormatter } let(:message) { "line1\nline2"} let(:output_message) { "Actual: actual\n\n#{message}"} - let(:output_message_with_resets) { "Actual: \e[37mactual\e[0m\n\n#{Rainbow('line1').white}\n#{Rainbow('line2').white}"} + let(:r) { "\e[0m" } + let(:output_message_with_resets) { "Actual: \e[37mactual\e[0m\n\n#{r}line1\n#{r}line2"} let(:diff) { double("diff") } let(:actual) { "actual" } let(:color_enabled) { true }