super_diff 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/spec/spec_helper.rb CHANGED
@@ -68,6 +68,7 @@ RSpec.configure do |config|
68
68
  unless defined?(ActiveSupport)
69
69
  config.filter_run_excluding active_support: true
70
70
  end
71
+ config.filter_run_excluding with_superdiff_rspec: false
71
72
 
72
73
  config.order = :random
73
74
  Kernel.srand config.seed
@@ -0,0 +1,7 @@
1
+ if defined?(Data)
2
+ module SuperDiff
3
+ module Test
4
+ Point = Data.define(:x, :y)
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,146 @@
1
+ require "spec_helper"
2
+
3
+ if defined?(Data)
4
+ RSpec.describe SuperDiff, type: :unit do
5
+ describe ".inspect_object" do
6
+ context "given as_lines: false" do
7
+ subject(:output) do
8
+ described_class.inspect_object(object, as_lines: false)
9
+ end
10
+
11
+ context "given an anonymous Data object" do
12
+ let(:object) { Data.define(:x, :y).new(1, 2) }
13
+
14
+ it "shows the data" do
15
+ expect(output).to eq("#<data x: 1, y: 2>")
16
+ end
17
+ end
18
+
19
+ context "given a named Data object" do
20
+ let(:object) { SuperDiff::Test::Point.new(1, 2) }
21
+
22
+ it "shows the data" do
23
+ expect(output).to eq("#<data SuperDiff::Test::Point x: 1, y: 2>")
24
+ end
25
+ end
26
+
27
+ context "given a Data object that defines #attributes_for_super_diff" do
28
+ let(:klass) do
29
+ Data.define(:x, :y) do
30
+ def attributes_for_super_diff
31
+ { beep: :boop }
32
+ end
33
+ end
34
+ end
35
+ let(:object) { klass.new(1, 2) }
36
+
37
+ it "uses the custom attributes" do
38
+ expect(output).to start_with("#<#<Class:0x").and end_with(
39
+ "beep: :boop>"
40
+ )
41
+ end
42
+ end
43
+ end
44
+
45
+ context "given as_lines: true" do
46
+ subject(:tiered_lines) do
47
+ described_class.inspect_object(
48
+ object,
49
+ as_lines: true,
50
+ type: :noop,
51
+ indentation_level: 1
52
+ )
53
+ end
54
+
55
+ context "given an anonymous Data object" do
56
+ let(:object) { Data.define(:x, :y).new(1, 2) }
57
+
58
+ it "shows the data" do
59
+ expect(tiered_lines).to match(
60
+ [
61
+ an_object_having_attributes(
62
+ value: "#<data {",
63
+ collection_bookend: :open
64
+ ),
65
+ an_object_having_attributes(
66
+ prefix: "x: ",
67
+ value: "1",
68
+ add_comma: true
69
+ ),
70
+ an_object_having_attributes(
71
+ prefix: "y: ",
72
+ value: "2",
73
+ add_comma: false
74
+ ),
75
+ an_object_having_attributes(
76
+ value: "}>",
77
+ collection_bookend: :close
78
+ )
79
+ ]
80
+ )
81
+ end
82
+ end
83
+
84
+ context "given a named Data object" do
85
+ let(:object) { SuperDiff::Test::Point.new(1, 2) }
86
+
87
+ it "shows the data" do
88
+ expect(tiered_lines).to match(
89
+ [
90
+ an_object_having_attributes(
91
+ value: "#<data SuperDiff::Test::Point {",
92
+ collection_bookend: :open
93
+ ),
94
+ an_object_having_attributes(
95
+ prefix: "x: ",
96
+ value: "1",
97
+ add_comma: true
98
+ ),
99
+ an_object_having_attributes(
100
+ prefix: "y: ",
101
+ value: "2",
102
+ add_comma: false
103
+ ),
104
+ an_object_having_attributes(
105
+ value: "}>",
106
+ collection_bookend: :close
107
+ )
108
+ ]
109
+ )
110
+ end
111
+ end
112
+
113
+ context "given a Data object that defines #attributes_for_super_diff" do
114
+ let(:klass) do
115
+ Data.define(:x, :y) do
116
+ def attributes_for_super_diff
117
+ { beep: :boop }
118
+ end
119
+ end
120
+ end
121
+ let(:object) { klass.new(1, 2) }
122
+
123
+ it "uses the custom attributes" do
124
+ expect(tiered_lines).to match(
125
+ [
126
+ an_object_having_attributes(
127
+ value: /\A#<#<Class:0x.*> {/,
128
+ collection_bookend: :open
129
+ ),
130
+ an_object_having_attributes(
131
+ prefix: "beep: ",
132
+ value: ":boop",
133
+ add_comma: false
134
+ ),
135
+ an_object_having_attributes(
136
+ value: "}>",
137
+ collection_bookend: :close
138
+ )
139
+ ]
140
+ )
141
+ end
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,82 @@
1
+ require "spec_helper"
2
+
3
+ if defined?(Data)
4
+ RSpec.describe SuperDiff, type: :unit do
5
+ describe ".diff" do
6
+ subject(:diff) { described_class.diff(a, b) }
7
+
8
+ context "when given two Data objects of the same class" do
9
+ let(:a) { SuperDiff::Test::Point.new(1, 2) }
10
+ let(:b) { SuperDiff::Test::Point.new(1, 3) }
11
+
12
+ it "diffs their member attributes" do
13
+ expected_output =
14
+ SuperDiff::Core::Helpers
15
+ .style(color_enabled: true) do
16
+ plain_line " #<SuperDiff::Test::Point {"
17
+ plain_line " x: 1,"
18
+ expected_line "- y: 2"
19
+ actual_line "+ y: 3"
20
+ plain_line " }>"
21
+ end
22
+ .to_s
23
+ .chomp
24
+
25
+ expect(diff).to eq(expected_output)
26
+ end
27
+
28
+ context "when the Data class defines #attributes_for_super_diff" do
29
+ let(:klass) do
30
+ Class.new(Data.define(:attribute)) do
31
+ def self.to_s = "TestClass"
32
+
33
+ def attributes_for_super_diff
34
+ { attribute: :does_not_matter }
35
+ end
36
+ end
37
+ end
38
+
39
+ let(:a) { klass.new(1) }
40
+ let(:b) { klass.new(2) }
41
+
42
+ it "diffs their member attributes" do
43
+ expected_output =
44
+ SuperDiff::Core::Helpers
45
+ .style(color_enabled: true) do
46
+ plain_line " #<TestClass {"
47
+ expected_line "- attribute: 1"
48
+ actual_line "+ attribute: 2"
49
+ plain_line " }>"
50
+ end
51
+ .to_s
52
+ .chomp
53
+
54
+ expect(diff).to eq(expected_output)
55
+ end
56
+ end
57
+ end
58
+
59
+ context "when given two Data objects of different classes" do
60
+ let(:a) { SuperDiff::Test::Point.new(1, 2) }
61
+ let(:b) { Data.define(:one, :two).new(1, 2) }
62
+
63
+ it "raises" do
64
+ expect { SuperDiff.diff(a, b) }.to raise_error(
65
+ SuperDiff::Core::NoDifferAvailableError
66
+ )
67
+ end
68
+ end
69
+
70
+ context "when given a Data object and a hash" do
71
+ let(:a) { Data.define(:one, :two).new(1, 2) }
72
+ let(:b) { { one: 1, two: 2 } }
73
+
74
+ it "raises" do
75
+ expect { SuperDiff.diff(a, b) }.to raise_error(
76
+ SuperDiff::Core::NoDifferAvailableError
77
+ )
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,58 @@
1
+ require "delegate"
2
+ require "super_diff"
3
+
4
+ class FakeTTYDecorator < SimpleDelegator
5
+ def initialize(obj, is_tty:)
6
+ super(obj)
7
+ @is_tty = is_tty
8
+ end
9
+
10
+ def isatty = @is_tty
11
+ def tty? = isatty
12
+ end
13
+
14
+ RSpec.describe SuperDiff::Core::Configuration, with_superdiff_rspec: false do
15
+ describe "#color_enabled?" do
16
+ it "is true when stdout is a TTY" do
17
+ original_stdout = $stdout
18
+ color_enabled = nil
19
+ begin
20
+ $stdout = FakeTTYDecorator.new(StringIO.new, is_tty: true)
21
+ color_enabled = SuperDiff.configuration.color_enabled?
22
+ ensure
23
+ $stdout = original_stdout
24
+ end
25
+ expect(color_enabled).to be(true)
26
+ end
27
+
28
+ it "is false when stdout is not a TTY but we are in CI" do
29
+ original_stdout = $stdout
30
+ original_ci = ENV["CI"]
31
+ color_enabled = nil
32
+ begin
33
+ $stdout = FakeTTYDecorator.new(StringIO.new, is_tty: false)
34
+ ENV["CI"] = "true"
35
+ color_enabled = SuperDiff.configuration.color_enabled?
36
+ ensure
37
+ $stdout = original_stdout
38
+ ENV["CI"] = original_ci
39
+ end
40
+ expect(color_enabled).to be(true)
41
+ end
42
+
43
+ it "is false when stdout is not a TTY and we are not in CI" do
44
+ original_stdout = $stdout
45
+ original_ci = ENV["CI"]
46
+ color_enabled = nil
47
+ begin
48
+ $stdout = FakeTTYDecorator.new(StringIO.new, is_tty: false)
49
+ ENV["CI"] = nil
50
+ color_enabled = SuperDiff.configuration.color_enabled?
51
+ ensure
52
+ $stdout = original_stdout
53
+ ENV["CI"] = original_ci
54
+ end
55
+ expect(color_enabled).to be(false)
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,176 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe SuperDiff::Core::Configuration do
4
+ it "maintains frozen instance variables" do
5
+ expect(described_class.new.instance_variables).to all(be_frozen)
6
+ end
7
+
8
+ describe ".new" do
9
+ context "when passed nothing" do
10
+ subject(:config) { described_class.new }
11
+
12
+ it "creates a Configuration object with reasonable defaults" do
13
+ expect(config.actual_color).to eq(:yellow)
14
+ end
15
+ end
16
+
17
+ context "when passed options" do
18
+ subject(:config) { described_class.new(actual_color: :cyan) }
19
+
20
+ it "overrides the defaults with the provided options" do
21
+ expect(config.actual_color).to eq(:cyan)
22
+ end
23
+
24
+ it "uses the defaults for other options" do
25
+ expect(config.border_color).to eq(:blue)
26
+ end
27
+ end
28
+ end
29
+
30
+ describe ".dup" do
31
+ subject(:duplicated_config) { original_config.dup }
32
+
33
+ let(:original_config) { described_class.new(overrides) }
34
+ let(:in_both) { Class.new }
35
+ let(:in_duplicated_only) { Class.new }
36
+ let(:in_original_only) { Class.new }
37
+
38
+ let(:overrides) do
39
+ {
40
+ extra_diff_formatter_classes: [],
41
+ extra_differ_classes: [],
42
+ extra_inspection_tree_builder_classes: [],
43
+ extra_operation_tree_builder_classes: [],
44
+ extra_operation_tree_classes: []
45
+ }
46
+ end
47
+
48
+ %i[
49
+ diff_formatter
50
+ differ
51
+ operation_tree_builder
52
+ operation_tree
53
+ inspection_tree_builder
54
+ ].each do |object_type|
55
+ it "duplicates extra #{object_type.to_s.tr("_", " ")} classes" do
56
+ add_method_name = :"add_extra_#{object_type}_class"
57
+ get_method_name = :"extra_#{object_type}_classes"
58
+
59
+ original_config.send(add_method_name, in_both)
60
+ expect {
61
+ duplicated_config.send(get_method_name) << in_duplicated_only
62
+ }.to raise_error(FrozenError)
63
+ duplicated_config.send(add_method_name, in_duplicated_only)
64
+ original_config.send(add_method_name, in_original_only)
65
+
66
+ expect(original_config.send(get_method_name)).to include(
67
+ in_both,
68
+ in_original_only
69
+ )
70
+ expect(original_config.send(get_method_name)).not_to include(
71
+ in_duplicated_only
72
+ )
73
+
74
+ expect(duplicated_config.send(get_method_name)).to include(
75
+ in_both,
76
+ in_duplicated_only
77
+ )
78
+ expect(duplicated_config.send(get_method_name)).not_to include(
79
+ in_original_only
80
+ )
81
+ end
82
+ end
83
+ end
84
+
85
+ %i[
86
+ diff_formatter
87
+ differ
88
+ operation_tree_builder
89
+ operation_tree
90
+ inspection_tree_builder
91
+ ].each do |object_type|
92
+ describe "#add_extra_#{object_type}_classes" do
93
+ let(:config) { described_class.new }
94
+ let(:new_class1) { Class.new }
95
+ let(:new_class2) { Class.new }
96
+
97
+ it "appends multiple given classes" do
98
+ config.send("add_extra_#{object_type}_classes", new_class1, new_class2)
99
+ expect(config.send("extra_#{object_type}_classes")[-2..]).to eq(
100
+ [new_class1, new_class2]
101
+ )
102
+ end
103
+
104
+ it "appends a single given class" do
105
+ config.send("add_extra_#{object_type}_classes", new_class1)
106
+ expect(config.send("extra_#{object_type}_classes")[-1]).to eq(
107
+ new_class1
108
+ )
109
+ end
110
+ end
111
+
112
+ describe "#prepend_extra_#{object_type}_classes" do
113
+ let(:config) { described_class.new }
114
+ let(:new_class1) { Class.new }
115
+ let(:new_class2) { Class.new }
116
+
117
+ it "prepends multiple given classes" do
118
+ config.send(
119
+ "prepend_extra_#{object_type}_classes",
120
+ new_class1,
121
+ new_class2
122
+ )
123
+ expect(config.send("extra_#{object_type}_classes")[..1]).to eq(
124
+ [new_class1, new_class2]
125
+ )
126
+ end
127
+
128
+ it "prepends a single given class" do
129
+ config.send("prepend_extra_#{object_type}_classes", new_class1)
130
+ expect(config.send("extra_#{object_type}_classes")[0]).to eq(new_class1)
131
+ end
132
+ end
133
+ end
134
+
135
+ describe "#color_enabled?" do
136
+ context "when explicitly set" do
137
+ it "equals what was set" do
138
+ [true, false].each do |value|
139
+ SuperDiff.configuration.color_enabled.tap do |original|
140
+ SuperDiff.configuration.color_enabled = value
141
+ expect(SuperDiff.configuration.color_enabled?).to be(value)
142
+ SuperDiff.configuration.color_enabled = original
143
+ end
144
+ end
145
+ end
146
+ end
147
+
148
+ context "when not explicitly set" do
149
+ context 'when ENV["CI"] is true' do
150
+ it "is true" do
151
+ color_enabled = nil
152
+ ClimateControl.modify(CI: "true") do
153
+ color_enabled = SuperDiff.configuration.color_enabled?
154
+ end
155
+ expect(color_enabled).to be(true)
156
+ end
157
+ end
158
+
159
+ context 'when ENV["CI"] is not true' do
160
+ it "defaults to RSpec's config" do
161
+ ClimateControl.modify(CI: nil) do
162
+ %i[automatic on off].each do |value|
163
+ RSpec.configuration.color_mode.tap do |original|
164
+ RSpec.configuration.color_mode = value
165
+ expect(SuperDiff.configuration.color_enabled?).to eq(
166
+ RSpec.configuration.color_enabled?
167
+ )
168
+ RSpec.configuration.color_mode = original
169
+ end
170
+ end
171
+ end
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end
data/super_diff.gemspec CHANGED
@@ -3,9 +3,9 @@ require File.expand_path("lib/super_diff/version", __dir__)
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "super_diff"
5
5
  s.version = SuperDiff::VERSION
6
- s.authors = ["Elliot Winkler"]
7
- s.email = ["elliot.winkler@gmail.com"]
8
- s.homepage = "https://github.com/mcmire/super_diff"
6
+ s.authors = ["Elliot Winkler", "Splitwise, Inc."]
7
+ s.email = ["oss-community@splitwise.com"]
8
+ s.homepage = "https://github.com/splitwise/super_diff"
9
9
  s.summary =
10
10
  "A better way to view differences between complex data structures in RSpec."
11
11
  s.license = "MIT"
@@ -14,10 +14,11 @@ Gem::Specification.new do |s|
14
14
  differences between two data structures of any type.
15
15
  DESC
16
16
  s.metadata = {
17
- "bug_tracker_uri" => "https://github.com/mcmire/super_diff/issues",
17
+ "bug_tracker_uri" => "https://github.com/splitwise/super_diff/issues",
18
18
  "changelog_uri" =>
19
- "https://github.com/mcmire/super_diff/blob/main/CHANGELOG.md",
20
- "source_code_uri" => "https://github.com/mcmire/super_diff"
19
+ "https://github.com/splitwise/super_diff/blob/main/CHANGELOG.md",
20
+ "rubygems_mfa_required" => "true",
21
+ "source_code_uri" => "https://github.com/splitwise/super_diff"
21
22
  }
22
23
  s.required_ruby_version = ">= 3"
23
24
 
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: super_diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elliot Winkler
8
+ - Splitwise, Inc.
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2024-04-27 00:00:00.000000000 Z
12
+ date: 2024-09-23 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: attr_extras
@@ -56,7 +57,7 @@ description: |
56
57
  SuperDiff is a gem that hooks into RSpec to intelligently display the
57
58
  differences between two data structures of any type.
58
59
  email:
59
- - elliot.winkler@gmail.com
60
+ - oss-community@splitwise.com
60
61
  executables: []
61
62
  extensions: []
62
63
  extra_rdoc_files: []
@@ -106,6 +107,7 @@ files:
106
107
  - lib/super_diff/basic/inspection_tree_builders.rb
107
108
  - lib/super_diff/basic/inspection_tree_builders/array.rb
108
109
  - lib/super_diff/basic/inspection_tree_builders/custom_object.rb
110
+ - lib/super_diff/basic/inspection_tree_builders/data_object.rb
109
111
  - lib/super_diff/basic/inspection_tree_builders/date_like.rb
110
112
  - lib/super_diff/basic/inspection_tree_builders/default_object.rb
111
113
  - lib/super_diff/basic/inspection_tree_builders/hash.rb
@@ -114,6 +116,7 @@ files:
114
116
  - lib/super_diff/basic/operation_tree_builders.rb
115
117
  - lib/super_diff/basic/operation_tree_builders/array.rb
116
118
  - lib/super_diff/basic/operation_tree_builders/custom_object.rb
119
+ - lib/super_diff/basic/operation_tree_builders/data_object.rb
117
120
  - lib/super_diff/basic/operation_tree_builders/date_like.rb
118
121
  - lib/super_diff/basic/operation_tree_builders/default_object.rb
119
122
  - lib/super_diff/basic/operation_tree_builders/hash.rb
@@ -264,7 +267,6 @@ files:
264
267
  - spec/integration/rspec/respond_to_matcher_spec.rb
265
268
  - spec/integration/rspec/third_party_matcher_spec.rb
266
269
  - spec/integration/rspec/unhandled_errors_spec.rb
267
- - spec/internal/log/test.log
268
270
  - spec/spec_helper.rb
269
271
  - spec/support/colorizer.rb
270
272
  - spec/support/command_runner.rb
@@ -288,6 +290,7 @@ files:
288
290
  - spec/support/models/order.rb
289
291
  - spec/support/models/person.rb
290
292
  - spec/support/models/player.rb
293
+ - spec/support/models/point.rb
291
294
  - spec/support/models/shipping_address.rb
292
295
  - spec/support/shared_examples/active_record.rb
293
296
  - spec/support/shared_examples/active_support.rb
@@ -299,11 +302,15 @@ files:
299
302
  - spec/support/unit/matchers/match_output.rb
300
303
  - spec/unit/active_record/object_inspection_spec.rb
301
304
  - spec/unit/active_support/object_inspection_spec.rb
305
+ - spec/unit/basic/inspection_tree_builders/data_object_spec.rb
306
+ - spec/unit/basic/operation_tree_builders/data_object_spec.rb
302
307
  - spec/unit/basic/operation_tree_flatteners/array_spec.rb
303
308
  - spec/unit/basic/operation_tree_flatteners/custom_object_spec.rb
304
309
  - spec/unit/basic/operation_tree_flatteners/default_object_spec.rb
305
310
  - spec/unit/basic/operation_tree_flatteners/hash_spec.rb
306
311
  - spec/unit/basic/operation_tree_flatteners/multiline_string_spec.rb
312
+ - spec/unit/core/configuration_no_rspec_spec.rb
313
+ - spec/unit/core/configuration_spec.rb
307
314
  - spec/unit/core/helpers_spec.rb
308
315
  - spec/unit/core/tiered_lines_elider_spec.rb
309
316
  - spec/unit/core/tiered_lines_formatter_spec.rb
@@ -328,13 +335,14 @@ files:
328
335
  - spec/unit/rspec/object_inspection_spec.rb
329
336
  - spec/unit/super_diff_spec.rb
330
337
  - super_diff.gemspec
331
- homepage: https://github.com/mcmire/super_diff
338
+ homepage: https://github.com/splitwise/super_diff
332
339
  licenses:
333
340
  - MIT
334
341
  metadata:
335
- bug_tracker_uri: https://github.com/mcmire/super_diff/issues
336
- changelog_uri: https://github.com/mcmire/super_diff/blob/main/CHANGELOG.md
337
- source_code_uri: https://github.com/mcmire/super_diff
342
+ bug_tracker_uri: https://github.com/splitwise/super_diff/issues
343
+ changelog_uri: https://github.com/splitwise/super_diff/blob/main/CHANGELOG.md
344
+ rubygems_mfa_required: 'true'
345
+ source_code_uri: https://github.com/splitwise/super_diff
338
346
  post_install_message:
339
347
  rdoc_options: []
340
348
  require_paths:
@@ -350,7 +358,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
350
358
  - !ruby/object:Gem::Version
351
359
  version: '0'
352
360
  requirements: []
353
- rubygems_version: 3.4.6
361
+ rubygems_version: 3.5.18
354
362
  signing_key:
355
363
  specification_version: 4
356
364
  summary: A better way to view differences between complex data structures in RSpec.
@@ -378,7 +386,6 @@ test_files:
378
386
  - spec/integration/rspec/respond_to_matcher_spec.rb
379
387
  - spec/integration/rspec/third_party_matcher_spec.rb
380
388
  - spec/integration/rspec/unhandled_errors_spec.rb
381
- - spec/internal/log/test.log
382
389
  - spec/spec_helper.rb
383
390
  - spec/support/colorizer.rb
384
391
  - spec/support/command_runner.rb
@@ -402,6 +409,7 @@ test_files:
402
409
  - spec/support/models/order.rb
403
410
  - spec/support/models/person.rb
404
411
  - spec/support/models/player.rb
412
+ - spec/support/models/point.rb
405
413
  - spec/support/models/shipping_address.rb
406
414
  - spec/support/shared_examples/active_record.rb
407
415
  - spec/support/shared_examples/active_support.rb
@@ -413,11 +421,15 @@ test_files:
413
421
  - spec/support/unit/matchers/match_output.rb
414
422
  - spec/unit/active_record/object_inspection_spec.rb
415
423
  - spec/unit/active_support/object_inspection_spec.rb
424
+ - spec/unit/basic/inspection_tree_builders/data_object_spec.rb
425
+ - spec/unit/basic/operation_tree_builders/data_object_spec.rb
416
426
  - spec/unit/basic/operation_tree_flatteners/array_spec.rb
417
427
  - spec/unit/basic/operation_tree_flatteners/custom_object_spec.rb
418
428
  - spec/unit/basic/operation_tree_flatteners/default_object_spec.rb
419
429
  - spec/unit/basic/operation_tree_flatteners/hash_spec.rb
420
430
  - spec/unit/basic/operation_tree_flatteners/multiline_string_spec.rb
431
+ - spec/unit/core/configuration_no_rspec_spec.rb
432
+ - spec/unit/core/configuration_spec.rb
421
433
  - spec/unit/core/helpers_spec.rb
422
434
  - spec/unit/core/tiered_lines_elider_spec.rb
423
435
  - spec/unit/core/tiered_lines_formatter_spec.rb
File without changes