Class: SuperDiff::RSpec::Differ

Inherits:
Object
  • Object
show all
Defined in:
lib/super_diff/rspec/differ.rb

Defined Under Namespace

Classes: Helpers

Instance Method Summary collapse

Instance Method Details

#diffObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/super_diff/rspec/differ.rb', line 8

def diff
  if worth_diffing?
    diff = SuperDiff::Differ.call(
      expected,
      actual,
      omit_empty: true,
      extra_classes: [
        *RSpec.configuration.extra_differ_classes,
        Differs::CollectionContainingExactly,
        Differs::CollectionIncluding,
        Differs::HashIncluding,
        Differs::ObjectHavingAttributes,
      ],
      extra_operational_sequencer_classes: [
        *RSpec.configuration.extra_operational_sequencer_classes,
        OperationalSequencers::CollectionContainingExactly,
        OperationalSequencers::CollectionIncluding,
        OperationalSequencers::HashIncluding,
        OperationalSequencers::ObjectHavingAttributes,
      ],
      extra_diff_formatter_classes: RSpec.configuration.extra_diff_formatter_classes,
    )
    "\n\n" + diff
  else
    ""
  end
rescue NoDifferAvailableError
  ""
end