Module: SuperDiff::RSpec::Differ

Defined in:
lib/super_diff/rspec/differ.rb

Class Method Summary collapse

Class Method Details

.diff(actual, expected) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/super_diff/rspec/differ.rb', line 4

def self.diff(actual, expected)
  if (
    expected != actual &&
    expected.class == actual.class &&
    !expected.is_a?(Symbol) &&
    !expected.is_a?(Integer) &&
    !(
      expected.is_a?(String) &&
      actual.is_a?(String) &&
      !expected.include?("\n") &&
      !actual.include?("\n")
    )
  )
    diff = SuperDiff::Differ.call(
      expected,
      actual,
      extra_operational_sequencer_classes: RSpec.extra_operational_sequencer_classes,
      extra_diff_formatter_classes: RSpec.extra_diff_formatter_classes,
    )
    "\n\n" + diff
  else
    ""
  end
end