class RSpec::Matchers::ExpectedsForMultipleDiffs
Public Instance Methods
colorizer()
click to toggle source
# File lib/super_diff/rspec/monkey_patches.rb, line 323 def colorizer RSpec::Core::Formatters::ConsoleCodes end
diffs(differ, actual)
click to toggle source
Add extra line breaks in between diffs, and colorize the word “Diff”
# File lib/super_diff/rspec/monkey_patches.rb, line 343 def diffs(differ, actual) @expected_list.map do |(expected, diff_label)| diff = differ.diff(actual, expected) next if diff.strip.empty? diff_label + diff end.compact.join("\n\n") end
from(expected)
click to toggle source
Add a key for different sides
# File lib/super_diff/rspec/monkey_patches.rb, line 286 def from(expected) return expected if self === expected text = colorizer.wrap("Diff:", SuperDiff.configuration.header_color) + "\n\n" + colorizer.wrap( "┌ (Key) ──────────────────────────┐", SuperDiff.configuration.border_color ) + "\n" + colorizer.wrap("│ ", SuperDiff.configuration.border_color) + colorizer.wrap( "‹-› in expected, not in actual", SuperDiff.configuration.expected_color ) + colorizer.wrap(" │", SuperDiff.configuration.border_color) + "\n" + colorizer.wrap("│ ", SuperDiff.configuration.border_color) + colorizer.wrap( "‹+› in actual, not in expected", SuperDiff.configuration.actual_color ) + colorizer.wrap(" │", SuperDiff.configuration.border_color) + "\n" + colorizer.wrap("│ ", SuperDiff.configuration.border_color) + "‹ › in both expected and actual" + colorizer.wrap(" │", SuperDiff.configuration.border_color) + "\n" + colorizer.wrap( "└─────────────────────────────────┘", SuperDiff.configuration.border_color ) new([[expected, text]]) end
message_with_diff(message, differ, actual)
click to toggle source
Add an extra line break
# File lib/super_diff/rspec/monkey_patches.rb, line 330 def message_with_diff(message, differ, actual) diff = diffs(differ, actual) if diff.empty? message else "#{message.rstrip}\n\n#{diff}" end end