super_diff 0.5.3 → 0.6.1
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.
- checksums.yaml +4 -4
- data/README.md +46 -19
- data/lib/super_diff.rb +1 -7
- data/lib/super_diff/colorized_document_extensions.rb +4 -4
- data/lib/super_diff/configuration.rb +32 -22
- data/lib/super_diff/csi.rb +2 -1
- data/lib/super_diff/diff_formatters/collection.rb +1 -1
- data/lib/super_diff/diff_formatters/multiline_string.rb +4 -4
- data/lib/super_diff/equality_matchers/array.rb +2 -2
- data/lib/super_diff/equality_matchers/default.rb +2 -2
- data/lib/super_diff/equality_matchers/hash.rb +2 -2
- data/lib/super_diff/equality_matchers/multiline_string.rb +2 -2
- data/lib/super_diff/equality_matchers/primitive.rb +2 -2
- data/lib/super_diff/equality_matchers/singleline_string.rb +2 -2
- data/lib/super_diff/gem_version.rb +45 -0
- data/lib/super_diff/rspec.rb +7 -0
- data/lib/super_diff/rspec/matcher_text_builders/base.rb +7 -7
- data/lib/super_diff/rspec/matcher_text_builders/be_predicate.rb +6 -6
- data/lib/super_diff/rspec/matcher_text_builders/contain_exactly.rb +1 -1
- data/lib/super_diff/rspec/matcher_text_builders/have_predicate.rb +4 -4
- data/lib/super_diff/rspec/matcher_text_builders/raise_error.rb +1 -1
- data/lib/super_diff/rspec/matcher_text_builders/respond_to.rb +5 -5
- data/lib/super_diff/rspec/monkey_patches.rb +21 -13
- data/lib/super_diff/rspec/operation_tree_builders/collection_containing_exactly.rb +12 -1
- data/lib/super_diff/version.rb +1 -1
- data/spec/examples.txt +390 -5
- data/spec/integration/rspec/be_falsey_matcher_spec.rb +10 -10
- data/spec/integration/rspec/be_matcher_spec.rb +100 -100
- data/spec/integration/rspec/be_nil_matcher_spec.rb +10 -10
- data/spec/integration/rspec/be_predicate_matcher_spec.rb +103 -103
- data/spec/integration/rspec/be_truthy_matcher_spec.rb +10 -10
- data/spec/integration/rspec/contain_exactly_matcher_spec.rb +107 -107
- data/spec/integration/rspec/eq_matcher_spec.rb +230 -230
- data/spec/integration/rspec/have_attributes_matcher_spec.rb +129 -129
- data/spec/integration/rspec/have_predicate_matcher_spec.rb +65 -65
- data/spec/integration/rspec/include_matcher_spec.rb +73 -73
- data/spec/integration/rspec/match_array_matcher_spec.rb +119 -119
- data/spec/integration/rspec/match_matcher_spec.rb +274 -274
- data/spec/integration/rspec/raise_error_matcher_spec.rb +86 -86
- data/spec/integration/rspec/respond_to_matcher_spec.rb +240 -240
- data/spec/integration/rspec/third_party_matcher_spec.rb +8 -8
- data/spec/integration/rspec/unhandled_errors_spec.rb +5 -5
- data/spec/spec_helper.rb +22 -13
- data/spec/support/integration/helpers.rb +6 -2
- data/spec/support/integration/matchers/produce_output_when_run_matcher.rb +1 -1
- data/spec/support/integration/test_programs/base.rb +2 -0
- data/spec/support/integration/test_programs/rspec_active_record.rb +1 -1
- data/spec/support/integration/test_programs/rspec_active_support.rb +17 -0
- data/spec/support/integration/test_programs/rspec_rails.rb +1 -1
- data/spec/support/shared_examples/active_record.rb +108 -108
- data/spec/support/shared_examples/hash_with_indifferent_access.rb +196 -232
- data/spec/tmp/integration_spec.rb +15 -0
- data/spec/unit/equality_matchers/main_spec.rb +403 -403
- data/super_diff.gemspec +1 -1
- metadata +11 -3
@@ -13,11 +13,11 @@ RSpec.describe "Integration with RSpec's #be_truthy matcher", type: :integration
|
|
13
13
|
snippet: %|expect(nil).to be_truthy|,
|
14
14
|
expectation: proc {
|
15
15
|
line do
|
16
|
-
plain
|
17
|
-
|
18
|
-
plain
|
19
|
-
|
20
|
-
plain
|
16
|
+
plain %|Expected |
|
17
|
+
actual %|nil|
|
18
|
+
plain %| to be |
|
19
|
+
expected %|truthy|
|
20
|
+
plain %|.|
|
21
21
|
end
|
22
22
|
},
|
23
23
|
)
|
@@ -40,11 +40,11 @@ RSpec.describe "Integration with RSpec's #be_truthy matcher", type: :integration
|
|
40
40
|
snippet: %|expect(true).not_to be_truthy|,
|
41
41
|
expectation: proc {
|
42
42
|
line do
|
43
|
-
plain
|
44
|
-
|
45
|
-
plain
|
46
|
-
|
47
|
-
plain
|
43
|
+
plain %|Expected |
|
44
|
+
actual %|true|
|
45
|
+
plain %| not to be |
|
46
|
+
expected %|truthy|
|
47
|
+
plain %|.|
|
48
48
|
end
|
49
49
|
},
|
50
50
|
)
|
@@ -6,7 +6,7 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
6
6
|
as_both_colored_and_uncolored do |color_enabled|
|
7
7
|
snippet = <<~TEST.strip
|
8
8
|
expected = ["Einie", "Marty"]
|
9
|
-
actual
|
9
|
+
actual = ["Marty", "Jennifer", "Doc"]
|
10
10
|
expect(actual).to contain_exactly(*expected)
|
11
11
|
TEST
|
12
12
|
program = make_plain_test_program(
|
@@ -19,22 +19,22 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
19
19
|
snippet: %|expect(actual).to contain_exactly(*expected)|,
|
20
20
|
expectation: proc {
|
21
21
|
line do
|
22
|
-
plain
|
23
|
-
|
24
|
-
plain
|
25
|
-
|
26
|
-
plain
|
27
|
-
|
28
|
-
plain
|
22
|
+
plain %|Expected |
|
23
|
+
actual %|["Marty", "Jennifer", "Doc"]|
|
24
|
+
plain %| to contain exactly |
|
25
|
+
expected %|"Einie"|
|
26
|
+
plain %| and |
|
27
|
+
expected %|"Marty"|
|
28
|
+
plain %|.|
|
29
29
|
end
|
30
30
|
},
|
31
31
|
diff: proc {
|
32
|
-
plain_line
|
33
|
-
plain_line
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
plain_line
|
32
|
+
plain_line %| [|
|
33
|
+
plain_line %| "Marty",|
|
34
|
+
actual_line %|+ "Jennifer",|
|
35
|
+
actual_line %|+ "Doc",|
|
36
|
+
expected_line %|- "Einie"|
|
37
|
+
plain_line %| ]|
|
38
38
|
},
|
39
39
|
)
|
40
40
|
|
@@ -60,13 +60,13 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
60
60
|
snippet: %|expect(values).not_to contain_exactly(*values)|,
|
61
61
|
expectation: proc {
|
62
62
|
line do
|
63
|
-
plain
|
64
|
-
|
65
|
-
plain
|
66
|
-
|
67
|
-
plain
|
68
|
-
|
69
|
-
plain
|
63
|
+
plain %|Expected |
|
64
|
+
actual %|["Einie", "Marty"]|
|
65
|
+
plain %| not to contain exactly |
|
66
|
+
expected %|"Einie"|
|
67
|
+
plain %| and |
|
68
|
+
expected %|"Marty"|
|
69
|
+
plain %|.|
|
70
70
|
end
|
71
71
|
},
|
72
72
|
)
|
@@ -90,7 +90,7 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
90
90
|
"George McFly",
|
91
91
|
"Lorraine McFly"
|
92
92
|
]
|
93
|
-
actual
|
93
|
+
actual = [
|
94
94
|
"Marty McFly",
|
95
95
|
"Doc Brown",
|
96
96
|
"Einie",
|
@@ -108,32 +108,32 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
108
108
|
snippet: %|expect(actual).to contain_exactly(*expected)|,
|
109
109
|
expectation: proc {
|
110
110
|
line do
|
111
|
-
plain
|
112
|
-
|
111
|
+
plain %| Expected |
|
112
|
+
actual %|["Marty McFly", "Doc Brown", "Einie", "Lorraine McFly"]|
|
113
113
|
end
|
114
114
|
|
115
115
|
line do
|
116
|
-
plain
|
117
|
-
|
118
|
-
plain
|
119
|
-
|
120
|
-
plain
|
121
|
-
|
122
|
-
plain
|
123
|
-
|
124
|
-
plain
|
125
|
-
|
116
|
+
plain %|to contain exactly |
|
117
|
+
expected %|"Doc Brown"|
|
118
|
+
plain %|, |
|
119
|
+
expected %|"Marty McFly"|
|
120
|
+
plain %|, |
|
121
|
+
expected %|"Biff Tannen"|
|
122
|
+
plain %|, |
|
123
|
+
expected %|"George McFly"|
|
124
|
+
plain %| and |
|
125
|
+
expected %|"Lorraine McFly"|
|
126
126
|
end
|
127
127
|
},
|
128
128
|
diff: proc {
|
129
|
-
plain_line
|
130
|
-
plain_line
|
131
|
-
plain_line
|
132
|
-
plain_line
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
plain_line
|
129
|
+
plain_line %| [|
|
130
|
+
plain_line %| "Marty McFly",|
|
131
|
+
plain_line %| "Doc Brown",|
|
132
|
+
plain_line %| "Lorraine McFly",|
|
133
|
+
actual_line %|+ "Einie",|
|
134
|
+
expected_line %|- "Biff Tannen",|
|
135
|
+
expected_line %|- "George McFly"|
|
136
|
+
plain_line %| ]|
|
137
137
|
},
|
138
138
|
)
|
139
139
|
|
@@ -165,19 +165,19 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
165
165
|
newline_before_expectation: true,
|
166
166
|
expectation: proc {
|
167
167
|
line do
|
168
|
-
plain
|
169
|
-
|
168
|
+
plain %| Expected |
|
169
|
+
actual %|["Marty McFly", "Doc Brown", "Einie", "Lorraine McFly"]|
|
170
170
|
end
|
171
171
|
|
172
172
|
line do
|
173
|
-
plain
|
174
|
-
|
175
|
-
plain
|
176
|
-
|
177
|
-
plain
|
178
|
-
|
179
|
-
plain
|
180
|
-
|
173
|
+
plain %|not to contain exactly |
|
174
|
+
expected %|"Marty McFly"|
|
175
|
+
plain %|, |
|
176
|
+
expected %|"Doc Brown"|
|
177
|
+
plain %|, |
|
178
|
+
expected %|"Einie"|
|
179
|
+
plain %| and |
|
180
|
+
expected %|"Lorraine McFly"|
|
181
181
|
end
|
182
182
|
},
|
183
183
|
)
|
@@ -200,7 +200,7 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
200
200
|
/Georg McFly/,
|
201
201
|
/Lorrain McFly/
|
202
202
|
]
|
203
|
-
actual
|
203
|
+
actual = [
|
204
204
|
"Marty McFly",
|
205
205
|
"Doc Brown",
|
206
206
|
"Einie",
|
@@ -218,33 +218,33 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
218
218
|
snippet: %|expect(actual).to contain_exactly(*expected)|,
|
219
219
|
expectation: proc {
|
220
220
|
line do
|
221
|
-
plain
|
222
|
-
|
221
|
+
plain %| Expected |
|
222
|
+
actual %|["Marty McFly", "Doc Brown", "Einie", "Lorraine McFly"]|
|
223
223
|
end
|
224
224
|
|
225
225
|
line do
|
226
|
-
plain
|
227
|
-
|
228
|
-
plain
|
229
|
-
|
230
|
-
plain
|
231
|
-
|
232
|
-
plain
|
233
|
-
|
234
|
-
plain
|
235
|
-
|
226
|
+
plain %|to contain exactly |
|
227
|
+
expected %|/ Brown$/|
|
228
|
+
plain %|, |
|
229
|
+
expected %|"Marty McFly"|
|
230
|
+
plain %|, |
|
231
|
+
expected %|"Biff Tannen"|
|
232
|
+
plain %|, |
|
233
|
+
expected %|/Georg McFly/|
|
234
|
+
plain %| and |
|
235
|
+
expected %|/Lorrain McFly/|
|
236
236
|
end
|
237
237
|
},
|
238
238
|
diff: proc {
|
239
|
-
plain_line
|
240
|
-
plain_line
|
241
|
-
plain_line
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
plain_line
|
239
|
+
plain_line %| [|
|
240
|
+
plain_line %| "Marty McFly",|
|
241
|
+
plain_line %| "Doc Brown",|
|
242
|
+
actual_line %|+ "Einie",|
|
243
|
+
actual_line %|+ "Lorraine McFly",|
|
244
|
+
expected_line %|- "Biff Tannen",|
|
245
|
+
expected_line %|- /Georg McFly/,|
|
246
|
+
expected_line %|- /Lorrain McFly/|
|
247
|
+
plain_line %| ]|
|
248
248
|
},
|
249
249
|
)
|
250
250
|
|
@@ -277,21 +277,21 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
277
277
|
newline_before_expectation: true,
|
278
278
|
expectation: proc {
|
279
279
|
line do
|
280
|
-
plain
|
281
|
-
|
280
|
+
plain %| Expected |
|
281
|
+
actual %|[/ Brown$/, "Marty McFly", "Biff Tannen", /Georg McFly/, /Lorrain McFly/]|
|
282
282
|
end
|
283
283
|
|
284
284
|
line do
|
285
|
-
plain
|
286
|
-
|
287
|
-
plain
|
288
|
-
|
289
|
-
plain
|
290
|
-
|
291
|
-
plain
|
292
|
-
|
293
|
-
plain
|
294
|
-
|
285
|
+
plain %|not to contain exactly |
|
286
|
+
expected %|/ Brown$/|
|
287
|
+
plain %|, |
|
288
|
+
expected %|"Marty McFly"|
|
289
|
+
plain %|, |
|
290
|
+
expected %|"Biff Tannen"|
|
291
|
+
plain %|, |
|
292
|
+
expected %|/Georg McFly/|
|
293
|
+
plain %| and |
|
294
|
+
expected %|/Lorrain McFly/|
|
295
295
|
end
|
296
296
|
},
|
297
297
|
)
|
@@ -312,7 +312,7 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
312
312
|
a_collection_containing_exactly("zing"),
|
313
313
|
an_object_having_attributes(baz: "qux"),
|
314
314
|
]
|
315
|
-
actual
|
315
|
+
actual = [
|
316
316
|
{ foo: "bar" },
|
317
317
|
double(baz: "qux"),
|
318
318
|
{ blargh: "riddle" }
|
@@ -329,32 +329,32 @@ RSpec.describe "Integration with RSpec's #contain_exactly matcher", type: :integ
|
|
329
329
|
snippet: %|expect(actual).to contain_exactly(*expected)|,
|
330
330
|
expectation: proc {
|
331
331
|
line do
|
332
|
-
plain
|
333
|
-
|
332
|
+
plain %| Expected |
|
333
|
+
actual %|[{ foo: "bar" }, #<Double (anonymous)>, { blargh: "riddle" }]|
|
334
334
|
end
|
335
335
|
|
336
336
|
line do
|
337
|
-
plain
|
338
|
-
|
339
|
-
plain
|
340
|
-
|
341
|
-
plain
|
342
|
-
|
337
|
+
plain %|to contain exactly |
|
338
|
+
expected %|#<a hash including (foo: "bar")>|
|
339
|
+
plain %|, |
|
340
|
+
expected %|#<a collection containing exactly ("zing")>|
|
341
|
+
plain %| and |
|
342
|
+
expected %|#<an object having attributes (baz: "qux")>|
|
343
343
|
end
|
344
344
|
},
|
345
345
|
diff: proc {
|
346
|
-
plain_line
|
347
|
-
plain_line
|
348
|
-
plain_line
|
349
|
-
plain_line
|
350
|
-
plain_line
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
plain_line
|
346
|
+
plain_line %| [|
|
347
|
+
plain_line %| {|
|
348
|
+
plain_line %| foo: "bar"|
|
349
|
+
plain_line %| },|
|
350
|
+
plain_line %| #<Double (anonymous)>,|
|
351
|
+
actual_line %|+ {|
|
352
|
+
actual_line %|+ blargh: "riddle"|
|
353
|
+
actual_line %|+ },|
|
354
|
+
expected_line %|- #<a collection containing exactly (|
|
355
|
+
expected_line %|- "zing"|
|
356
|
+
expected_line %|- )>|
|
357
|
+
plain_line %| ]|
|
358
358
|
},
|
359
359
|
)
|
360
360
|
|
@@ -12,11 +12,11 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
12
12
|
snippet: snippet,
|
13
13
|
expectation: proc {
|
14
14
|
line do
|
15
|
-
plain
|
16
|
-
|
17
|
-
plain
|
18
|
-
|
19
|
-
plain
|
15
|
+
plain %|Expected |
|
16
|
+
actual %|1|
|
17
|
+
plain %| to eq |
|
18
|
+
expected %|42|
|
19
|
+
plain %|.|
|
20
20
|
end
|
21
21
|
},
|
22
22
|
)
|
@@ -37,11 +37,11 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
37
37
|
snippet: snippet,
|
38
38
|
expectation: proc {
|
39
39
|
line do
|
40
|
-
plain
|
41
|
-
|
42
|
-
plain
|
43
|
-
|
44
|
-
plain
|
40
|
+
plain %|Expected |
|
41
|
+
actual %|42|
|
42
|
+
plain %| not to eq |
|
43
|
+
expected %|42|
|
44
|
+
plain %|.|
|
45
45
|
end
|
46
46
|
},
|
47
47
|
)
|
@@ -67,11 +67,11 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
67
67
|
snippet: snippet,
|
68
68
|
expectation: proc {
|
69
69
|
line do
|
70
|
-
plain
|
71
|
-
|
72
|
-
plain
|
73
|
-
|
74
|
-
plain
|
70
|
+
plain %|Expected |
|
71
|
+
actual %|:bar|
|
72
|
+
plain %| to eq |
|
73
|
+
expected %|:foo|
|
74
|
+
plain %|.|
|
75
75
|
end
|
76
76
|
},
|
77
77
|
)
|
@@ -95,11 +95,11 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
95
95
|
snippet: snippet,
|
96
96
|
expectation: proc {
|
97
97
|
line do
|
98
|
-
plain
|
99
|
-
|
100
|
-
plain
|
101
|
-
|
102
|
-
plain
|
98
|
+
plain %|Expected |
|
99
|
+
actual %|:foo|
|
100
|
+
plain %| not to eq |
|
101
|
+
expected %|:foo|
|
102
|
+
plain %|.|
|
103
103
|
end
|
104
104
|
},
|
105
105
|
)
|
@@ -125,11 +125,11 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
125
125
|
snippet: %|expect("Jennifer").to eq("Marty")|,
|
126
126
|
expectation: proc {
|
127
127
|
line do
|
128
|
-
plain
|
129
|
-
|
130
|
-
plain
|
131
|
-
|
132
|
-
plain
|
128
|
+
plain %|Expected |
|
129
|
+
actual %|"Jennifer"|
|
130
|
+
plain %| to eq |
|
131
|
+
expected %|"Marty"|
|
132
|
+
plain %|.|
|
133
133
|
end
|
134
134
|
},
|
135
135
|
)
|
@@ -153,11 +153,11 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
153
153
|
snippet: %|expect("Jennifer").not_to eq("Jennifer")|,
|
154
154
|
expectation: proc {
|
155
155
|
line do
|
156
|
-
plain
|
157
|
-
|
158
|
-
plain
|
159
|
-
|
160
|
-
plain
|
156
|
+
plain %|Expected |
|
157
|
+
actual %|"Jennifer"|
|
158
|
+
plain %| not to eq |
|
159
|
+
expected %|"Jennifer"|
|
160
|
+
plain %|.|
|
161
161
|
end
|
162
162
|
},
|
163
163
|
)
|
@@ -174,7 +174,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
174
174
|
as_both_colored_and_uncolored do |color_enabled|
|
175
175
|
snippet = <<~RUBY
|
176
176
|
expected = Time.utc(2011, 12, 13, 14, 15, 16)
|
177
|
-
actual
|
177
|
+
actual = Time.utc(2011, 12, 13, 14, 15, 16, 500_000)
|
178
178
|
expect(expected).to eq(actual)
|
179
179
|
RUBY
|
180
180
|
program = make_plain_test_program(
|
@@ -187,26 +187,26 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
187
187
|
snippet: %|expect(expected).to eq(actual)|,
|
188
188
|
expectation: proc {
|
189
189
|
line do
|
190
|
-
plain
|
191
|
-
|
192
|
-
plain
|
193
|
-
|
194
|
-
plain
|
190
|
+
plain %|Expected |
|
191
|
+
actual %|2011-12-13 14:15:16.000 UTC +00:00 (Time)|
|
192
|
+
plain %| to eq |
|
193
|
+
expected %|2011-12-13 14:15:16.500 UTC +00:00 (Time)|
|
194
|
+
plain %|.|
|
195
195
|
end
|
196
196
|
},
|
197
197
|
diff: proc {
|
198
|
-
plain_line
|
199
|
-
plain_line
|
200
|
-
plain_line
|
201
|
-
plain_line
|
202
|
-
plain_line
|
203
|
-
plain_line
|
204
|
-
plain_line
|
205
|
-
|
206
|
-
|
207
|
-
plain_line
|
208
|
-
plain_line
|
209
|
-
plain_line
|
198
|
+
plain_line " #<Time {"
|
199
|
+
plain_line " year: 2011,"
|
200
|
+
plain_line " month: 12,"
|
201
|
+
plain_line " day: 13,"
|
202
|
+
plain_line " hour: 14,"
|
203
|
+
plain_line " min: 15,"
|
204
|
+
plain_line " sec: 16,"
|
205
|
+
expected_line "- nsec: 500000000,"
|
206
|
+
actual_line "+ nsec: 0,"
|
207
|
+
plain_line " zone: \"UTC\","
|
208
|
+
plain_line " gmt_offset: 0"
|
209
|
+
plain_line " }>"
|
210
210
|
},
|
211
211
|
)
|
212
212
|
|
@@ -233,13 +233,13 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
233
233
|
newline_before_expectation: true,
|
234
234
|
expectation: proc {
|
235
235
|
line do
|
236
|
-
plain
|
237
|
-
|
236
|
+
plain %| Expected |
|
237
|
+
actual %|2011-12-13 14:15:16.000 UTC +00:00 (Time)|
|
238
238
|
end
|
239
239
|
|
240
240
|
line do
|
241
|
-
plain
|
242
|
-
|
241
|
+
plain %|not to eq |
|
242
|
+
expected %|2011-12-13 14:15:16.000 UTC +00:00 (Time)|
|
243
243
|
end
|
244
244
|
},
|
245
245
|
)
|
@@ -256,7 +256,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
256
256
|
as_both_colored_and_uncolored do |color_enabled|
|
257
257
|
snippet = <<~RUBY
|
258
258
|
expected = Time.utc(2011, 12, 13, 14, 15, 16)
|
259
|
-
actual
|
259
|
+
actual = Time.utc(2011, 12, 13, 15, 15, 16).in_time_zone("Europe/Stockholm")
|
260
260
|
expect(expected).to eq(actual)
|
261
261
|
RUBY
|
262
262
|
program = make_rspec_rails_test_program(
|
@@ -269,32 +269,32 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
269
269
|
snippet: %|expect(expected).to eq(actual)|,
|
270
270
|
expectation: proc {
|
271
271
|
line do
|
272
|
-
plain
|
273
|
-
|
272
|
+
plain %|Expected |
|
273
|
+
actual %|2011-12-13 14:15:16.000 UTC +00:00 (Time)|
|
274
274
|
end
|
275
275
|
|
276
276
|
line do
|
277
|
-
plain
|
278
|
-
|
277
|
+
plain %| to eq |
|
278
|
+
expected %|2011-12-13 16:15:16.000 CET +01:00 (ActiveSupport::TimeWithZone)|
|
279
279
|
end
|
280
280
|
},
|
281
281
|
diff: proc {
|
282
|
-
plain_line
|
283
|
-
plain_line
|
284
|
-
plain_line
|
285
|
-
plain_line
|
286
|
-
|
287
|
-
|
288
|
-
plain_line
|
289
|
-
plain_line
|
290
|
-
plain_line
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
plain_line
|
282
|
+
plain_line " #<ActiveSupport::TimeWithZone {"
|
283
|
+
plain_line " year: 2011,"
|
284
|
+
plain_line " month: 12,"
|
285
|
+
plain_line " day: 13,"
|
286
|
+
expected_line "- hour: 16,"
|
287
|
+
actual_line "+ hour: 14,"
|
288
|
+
plain_line " min: 15,"
|
289
|
+
plain_line " sec: 16,"
|
290
|
+
plain_line " nsec: 0,"
|
291
|
+
expected_line "- zone: \"CET\","
|
292
|
+
actual_line "+ zone: \"UTC\","
|
293
|
+
expected_line "- gmt_offset: 3600,"
|
294
|
+
actual_line "+ gmt_offset: 0,"
|
295
|
+
expected_line "- utc: 2011-12-13 15:15:16.000 UTC +00:00 (Time)"
|
296
|
+
actual_line "+ utc: 2011-12-13 14:15:16.000 UTC +00:00 (Time)"
|
297
|
+
plain_line " }>"
|
298
298
|
},
|
299
299
|
)
|
300
300
|
|
@@ -310,7 +310,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
310
310
|
as_both_colored_and_uncolored do |color_enabled|
|
311
311
|
snippet = <<~TEST.strip
|
312
312
|
expected = "Something entirely different"
|
313
|
-
actual
|
313
|
+
actual = "This is a line\\nAnd that's another line\\n"
|
314
314
|
expect(actual).to eq(expected)
|
315
315
|
TEST
|
316
316
|
program = make_plain_test_program(snippet, color_enabled: color_enabled)
|
@@ -320,17 +320,17 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
320
320
|
snippet: %|expect(actual).to eq(expected)|,
|
321
321
|
expectation: proc {
|
322
322
|
line do
|
323
|
-
plain
|
324
|
-
|
325
|
-
plain
|
326
|
-
|
327
|
-
plain
|
323
|
+
plain %|Expected |
|
324
|
+
actual %|"This is a line\\nAnd that's another line\\n"|
|
325
|
+
plain %| to eq |
|
326
|
+
expected %|"Something entirely different"|
|
327
|
+
plain %|.|
|
328
328
|
end
|
329
329
|
},
|
330
330
|
diff: proc {
|
331
|
-
|
332
|
-
|
333
|
-
|
331
|
+
expected_line %|- Something entirely different|
|
332
|
+
actual_line %|+ This is a line\\n|
|
333
|
+
actual_line %|+ And that's another line\\n|
|
334
334
|
},
|
335
335
|
)
|
336
336
|
|
@@ -346,7 +346,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
346
346
|
as_both_colored_and_uncolored do |color_enabled|
|
347
347
|
snippet = <<~TEST.strip
|
348
348
|
expected = "This is a line\\nAnd that's another line\\n"
|
349
|
-
actual
|
349
|
+
actual = "Something entirely different"
|
350
350
|
expect(actual).to eq(expected)
|
351
351
|
TEST
|
352
352
|
program = make_plain_test_program(snippet, color_enabled: color_enabled)
|
@@ -356,17 +356,17 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
356
356
|
snippet: %|expect(actual).to eq(expected)|,
|
357
357
|
expectation: proc {
|
358
358
|
line do
|
359
|
-
plain
|
360
|
-
|
361
|
-
plain
|
362
|
-
|
363
|
-
plain
|
359
|
+
plain %|Expected |
|
360
|
+
actual %|"Something entirely different"|
|
361
|
+
plain %| to eq |
|
362
|
+
expected %|"This is a line\\nAnd that's another line\\n"|
|
363
|
+
plain %|.|
|
364
364
|
end
|
365
365
|
},
|
366
366
|
diff: proc {
|
367
|
-
|
368
|
-
|
369
|
-
|
367
|
+
expected_line %|- This is a line\\n|
|
368
|
+
expected_line %|- And that's another line\\n|
|
369
|
+
actual_line %|+ Something entirely different|
|
370
370
|
},
|
371
371
|
)
|
372
372
|
|
@@ -382,7 +382,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
382
382
|
as_both_colored_and_uncolored do |color_enabled|
|
383
383
|
snippet = <<~TEST.strip
|
384
384
|
expected = "This is a line\\nAnd that's a line\\nAnd there's a line too\\n"
|
385
|
-
actual
|
385
|
+
actual = "This is a line\\nSomething completely different\\nAnd there's a line too\\n"
|
386
386
|
expect(actual).to eq(expected)
|
387
387
|
TEST
|
388
388
|
program = make_plain_test_program(snippet, color_enabled: color_enabled)
|
@@ -392,20 +392,20 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
392
392
|
snippet: %|expect(actual).to eq(expected)|,
|
393
393
|
expectation: proc {
|
394
394
|
line do
|
395
|
-
plain
|
396
|
-
|
395
|
+
plain %|Expected |
|
396
|
+
actual %|"This is a line\\nSomething completely different\\nAnd there's a line too\\n"|
|
397
397
|
end
|
398
398
|
|
399
399
|
line do
|
400
|
-
plain
|
401
|
-
|
400
|
+
plain %| to eq |
|
401
|
+
expected %|"This is a line\\nAnd that's a line\\nAnd there's a line too\\n"|
|
402
402
|
end
|
403
403
|
},
|
404
404
|
diff: proc {
|
405
|
-
plain_line
|
406
|
-
|
407
|
-
|
408
|
-
plain_line
|
405
|
+
plain_line %| This is a line\\n|
|
406
|
+
expected_line %|- And that's a line\\n|
|
407
|
+
actual_line %|+ Something completely different\\n|
|
408
|
+
plain_line %| And there's a line too\\n|
|
409
409
|
},
|
410
410
|
)
|
411
411
|
|
@@ -429,13 +429,13 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
429
429
|
newline_before_expectation: true,
|
430
430
|
expectation: proc {
|
431
431
|
line do
|
432
|
-
plain
|
433
|
-
|
432
|
+
plain %| Expected |
|
433
|
+
actual %|"This is a line\\nAnd that's a line\\nAnd there's a line too\\n"|
|
434
434
|
end
|
435
435
|
|
436
436
|
line do
|
437
|
-
plain
|
438
|
-
|
437
|
+
plain %|not to eq |
|
438
|
+
expected %|"This is a line\\nAnd that's a line\\nAnd there's a line too\\n"|
|
439
439
|
end
|
440
440
|
},
|
441
441
|
)
|
@@ -464,7 +464,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
464
464
|
}
|
465
465
|
]
|
466
466
|
]
|
467
|
-
actual
|
467
|
+
actual = [
|
468
468
|
[
|
469
469
|
:h2,
|
470
470
|
[:span, [:text, "Goodbye world"]],
|
@@ -489,45 +489,45 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
489
489
|
snippet: %|expect(actual).to eq(expected)|,
|
490
490
|
expectation: proc {
|
491
491
|
line do
|
492
|
-
plain
|
493
|
-
|
492
|
+
plain %|Expected |
|
493
|
+
actual %|[[:h2, [:span, [:text, "Goodbye world"]], { id: "hero", class: "header", data: { "sticky" => false, :role => "deprecated", :person => #<SuperDiff::Test::Person name: "Doc", age: 60> } }], :br]|
|
494
494
|
end
|
495
495
|
|
496
496
|
line do
|
497
|
-
plain
|
498
|
-
|
497
|
+
plain %| to eq |
|
498
|
+
expected %|[[:h1, [:span, [:text, "Hello world"]], { class: "header", data: { "sticky" => true, :person => #<SuperDiff::Test::Person name: "Marty", age: 60> } }]]|
|
499
499
|
end
|
500
500
|
},
|
501
501
|
diff: proc {
|
502
|
-
plain_line
|
503
|
-
plain_line
|
504
|
-
|
505
|
-
|
506
|
-
plain_line
|
507
|
-
plain_line
|
508
|
-
plain_line
|
509
|
-
plain_line
|
510
|
-
|
511
|
-
|
512
|
-
plain_line
|
513
|
-
plain_line
|
514
|
-
plain_line
|
515
|
-
|
516
|
-
plain_line
|
517
|
-
plain_line
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
plain_line
|
522
|
-
|
523
|
-
|
524
|
-
plain_line
|
525
|
-
plain_line
|
526
|
-
plain_line
|
527
|
-
plain_line
|
528
|
-
plain_line
|
529
|
-
|
530
|
-
plain_line
|
502
|
+
plain_line %| [|
|
503
|
+
plain_line %| [|
|
504
|
+
expected_line %|- :h1,|
|
505
|
+
actual_line %|+ :h2,|
|
506
|
+
plain_line %| [|
|
507
|
+
plain_line %| :span,|
|
508
|
+
plain_line %| [|
|
509
|
+
plain_line %| :text,|
|
510
|
+
expected_line %|- "Hello world"|
|
511
|
+
actual_line %|+ "Goodbye world"|
|
512
|
+
plain_line %| ]|
|
513
|
+
plain_line %| ],|
|
514
|
+
plain_line %| {|
|
515
|
+
actual_line %|+ id: "hero",|
|
516
|
+
plain_line %| class: "header",|
|
517
|
+
plain_line %| data: {|
|
518
|
+
expected_line %|- "sticky" => true,|
|
519
|
+
actual_line %|+ "sticky" => false,|
|
520
|
+
actual_line %|+ role: "deprecated",|
|
521
|
+
plain_line %| person: #<SuperDiff::Test::Person {|
|
522
|
+
expected_line %|- name: "Marty",|
|
523
|
+
actual_line %|+ name: "Doc",|
|
524
|
+
plain_line %| age: 60|
|
525
|
+
plain_line %| }>|
|
526
|
+
plain_line %| }|
|
527
|
+
plain_line %| }|
|
528
|
+
plain_line %| ],|
|
529
|
+
actual_line %|+ :br|
|
530
|
+
plain_line %| ]|
|
531
531
|
},
|
532
532
|
)
|
533
533
|
|
@@ -563,13 +563,13 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
563
563
|
newline_before_expectation: true,
|
564
564
|
expectation: proc {
|
565
565
|
line do
|
566
|
-
plain
|
567
|
-
|
566
|
+
plain %| Expected |
|
567
|
+
actual %|[[:h1, [:span, [:text, "Hello world"]], { class: "header", data: { "sticky" => true, :person => #<SuperDiff::Test::Person name: "Marty", age: 60> } }]]|
|
568
568
|
end
|
569
569
|
|
570
570
|
line do
|
571
|
-
plain
|
572
|
-
|
571
|
+
plain %|not to eq |
|
572
|
+
expected %|[[:h1, [:span, [:text, "Hello world"]], { class: "header", data: { "sticky" => true, :person => #<SuperDiff::Test::Person name: "Marty", age: 60> } }]]|
|
573
573
|
end
|
574
574
|
},
|
575
575
|
)
|
@@ -604,7 +604,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
604
604
|
{ name: "Chevy 4x4" }
|
605
605
|
]
|
606
606
|
}
|
607
|
-
actual
|
607
|
+
actual = {
|
608
608
|
customer: {
|
609
609
|
person: SuperDiff::Test::Person.new(name: "Marty McFly, Jr.", age: 17),
|
610
610
|
shipping_address: {
|
@@ -632,47 +632,47 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
632
632
|
snippet: %|expect(actual).to eq(expected)|,
|
633
633
|
expectation: proc {
|
634
634
|
line do
|
635
|
-
plain
|
636
|
-
|
635
|
+
plain %|Expected |
|
636
|
+
actual %|{ customer: { person: #<SuperDiff::Test::Person name: "Marty McFly, Jr.", age: 17>, shipping_address: { line_1: "456 Ponderosa Ct.", city: "Hill Valley", state: "CA", zip: "90382" } }, items: [{ name: "Fender Stratocaster", cost: 100000, options: ["red", "blue", "green"] }, { name: "Mattel Hoverboard" }] }|
|
637
637
|
end
|
638
638
|
|
639
639
|
line do
|
640
|
-
plain
|
641
|
-
|
640
|
+
plain %| to eq |
|
641
|
+
expected %|{ customer: { person: #<SuperDiff::Test::Person name: "Marty McFly", age: 17>, shipping_address: { line_1: "123 Main St.", city: "Hill Valley", state: "CA", zip: "90382" } }, items: [{ name: "Fender Stratocaster", cost: 100000, options: ["red", "blue", "green"] }, { name: "Chevy 4x4" }] }|
|
642
642
|
end
|
643
643
|
},
|
644
644
|
diff: proc {
|
645
|
-
plain_line
|
646
|
-
plain_line
|
647
|
-
plain_line
|
648
|
-
|
649
|
-
|
650
|
-
plain_line
|
651
|
-
plain_line
|
652
|
-
plain_line
|
653
|
-
|
654
|
-
|
655
|
-
plain_line
|
656
|
-
plain_line
|
657
|
-
plain_line
|
658
|
-
plain_line
|
659
|
-
plain_line
|
660
|
-
plain_line
|
661
|
-
plain_line
|
662
|
-
plain_line
|
663
|
-
plain_line
|
664
|
-
plain_line
|
665
|
-
plain_line
|
666
|
-
plain_line
|
667
|
-
plain_line
|
668
|
-
plain_line
|
669
|
-
plain_line
|
670
|
-
plain_line
|
671
|
-
|
672
|
-
|
673
|
-
plain_line
|
674
|
-
plain_line
|
675
|
-
plain_line
|
645
|
+
plain_line %| {|
|
646
|
+
plain_line %| customer: {|
|
647
|
+
plain_line %| person: #<SuperDiff::Test::Person {|
|
648
|
+
expected_line %|- name: "Marty McFly",|
|
649
|
+
actual_line %|+ name: "Marty McFly, Jr.",|
|
650
|
+
plain_line %| age: 17|
|
651
|
+
plain_line %| }>,|
|
652
|
+
plain_line %| shipping_address: {|
|
653
|
+
expected_line %|- line_1: "123 Main St.",|
|
654
|
+
actual_line %|+ line_1: "456 Ponderosa Ct.",|
|
655
|
+
plain_line %| city: "Hill Valley",|
|
656
|
+
plain_line %| state: "CA",|
|
657
|
+
plain_line %| zip: "90382"|
|
658
|
+
plain_line %| }|
|
659
|
+
plain_line %| },|
|
660
|
+
plain_line %| items: [|
|
661
|
+
plain_line %| {|
|
662
|
+
plain_line %| name: "Fender Stratocaster",|
|
663
|
+
plain_line %| cost: 100000,|
|
664
|
+
plain_line %| options: [|
|
665
|
+
plain_line %| "red",|
|
666
|
+
plain_line %| "blue",|
|
667
|
+
plain_line %| "green"|
|
668
|
+
plain_line %| ]|
|
669
|
+
plain_line %| },|
|
670
|
+
plain_line %| {|
|
671
|
+
expected_line %|- name: "Chevy 4x4"|
|
672
|
+
actual_line %|+ name: "Mattel Hoverboard"|
|
673
|
+
plain_line %| }|
|
674
|
+
plain_line %| ]|
|
675
|
+
plain_line %| }|
|
676
676
|
},
|
677
677
|
)
|
678
678
|
|
@@ -714,13 +714,13 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
714
714
|
newline_before_expectation: true,
|
715
715
|
expectation: proc {
|
716
716
|
line do
|
717
|
-
plain
|
718
|
-
|
717
|
+
plain %| Expected |
|
718
|
+
actual %|{ customer: { person: #<SuperDiff::Test::Person name: "Marty McFly", age: 17>, shipping_address: { line_1: "123 Main St.", city: "Hill Valley", state: "CA", zip: "90382" } }, items: [{ name: "Fender Stratocaster", cost: 100000, options: ["red", "blue", "green"] }, { name: "Chevy 4x4" }] }|
|
719
719
|
end
|
720
720
|
|
721
721
|
line do
|
722
|
-
plain
|
723
|
-
|
722
|
+
plain %|not to eq |
|
723
|
+
expected %|{ customer: { person: #<SuperDiff::Test::Person name: "Marty McFly", age: 17>, shipping_address: { line_1: "123 Main St.", city: "Hill Valley", state: "CA", zip: "90382" } }, items: [{ name: "Fender Stratocaster", cost: 100000, options: ["red", "blue", "green"] }, { name: "Chevy 4x4" }] }|
|
724
724
|
end
|
725
725
|
},
|
726
726
|
)
|
@@ -740,7 +740,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
740
740
|
name: "Marty",
|
741
741
|
age: 31,
|
742
742
|
)
|
743
|
-
actual
|
743
|
+
actual = SuperDiff::Test::Customer.new(
|
744
744
|
name: "Doc",
|
745
745
|
shipping_address: :some_shipping_address,
|
746
746
|
phone: "1234567890",
|
@@ -755,13 +755,13 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
755
755
|
newline_before_expectation: true,
|
756
756
|
expectation: proc {
|
757
757
|
line do
|
758
|
-
plain
|
759
|
-
|
758
|
+
plain %|Expected |
|
759
|
+
actual %|#<SuperDiff::Test::Customer name: "Doc", shipping_address: :some_shipping_address, phone: "1234567890">|
|
760
760
|
end
|
761
761
|
|
762
762
|
line do
|
763
|
-
plain
|
764
|
-
|
763
|
+
plain %| to eq |
|
764
|
+
expected %|#<SuperDiff::Test::Person name: "Marty", age: 31>|
|
765
765
|
end
|
766
766
|
},
|
767
767
|
)
|
@@ -789,13 +789,13 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
789
789
|
newline_before_expectation: true,
|
790
790
|
expectation: proc {
|
791
791
|
line do
|
792
|
-
plain
|
793
|
-
|
792
|
+
plain %| Expected |
|
793
|
+
actual %|#<SuperDiff::Test::Person name: "Marty", age: 31>|
|
794
794
|
end
|
795
795
|
|
796
796
|
line do
|
797
|
-
plain
|
798
|
-
|
797
|
+
plain %|not to eq |
|
798
|
+
expected %|#<SuperDiff::Test::Person name: "Marty", age: 31>|
|
799
799
|
end
|
800
800
|
},
|
801
801
|
)
|
@@ -815,7 +815,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
815
815
|
name: "camera",
|
816
816
|
quantity: 3,
|
817
817
|
)
|
818
|
-
actual
|
818
|
+
actual = SuperDiff::Test::Player.new(
|
819
819
|
handle: "mcmire",
|
820
820
|
character: "Jon",
|
821
821
|
inventory: ["sword"],
|
@@ -835,13 +835,13 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
835
835
|
if SuperDiff::Test.jruby?
|
836
836
|
else
|
837
837
|
line do
|
838
|
-
plain
|
839
|
-
|
838
|
+
plain %|Expected |
|
839
|
+
actual %|#<SuperDiff::Test::Player @handle="mcmire", @character="Jon", @inventory=["sword"], @shields=11.4, @health=4, @ultimate=true>|
|
840
840
|
end
|
841
841
|
|
842
842
|
line do
|
843
|
-
plain
|
844
|
-
|
843
|
+
plain %| to eq |
|
844
|
+
expected %|#<SuperDiff::Test::Item @name="camera", @quantity=3>|
|
845
845
|
end
|
846
846
|
end
|
847
847
|
},
|
@@ -873,13 +873,13 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
873
873
|
if SuperDiff::Test.jruby?
|
874
874
|
else
|
875
875
|
line do
|
876
|
-
plain
|
877
|
-
|
876
|
+
plain %| Expected |
|
877
|
+
actual %|#<SuperDiff::Test::Item @name="camera", @quantity=3>|
|
878
878
|
end
|
879
879
|
|
880
880
|
line do
|
881
|
-
plain
|
882
|
-
|
881
|
+
plain %|not to eq |
|
882
|
+
expected %|#<SuperDiff::Test::Item @name="camera", @quantity=3>|
|
883
883
|
end
|
884
884
|
end
|
885
885
|
},
|
@@ -898,7 +898,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
898
898
|
as_both_colored_and_uncolored do |color_enabled|
|
899
899
|
snippet = <<~TEST.strip
|
900
900
|
expected = { foo: nil }
|
901
|
-
actual
|
901
|
+
actual = { foo: [] }
|
902
902
|
expect(actual).to eq(expected)
|
903
903
|
TEST
|
904
904
|
program = make_plain_test_program(snippet, color_enabled: color_enabled)
|
@@ -909,18 +909,18 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
909
909
|
newline_before_expectation: true,
|
910
910
|
expectation: proc {
|
911
911
|
line do
|
912
|
-
plain
|
913
|
-
|
914
|
-
plain
|
915
|
-
|
916
|
-
plain
|
912
|
+
plain %|Expected |
|
913
|
+
actual %|{ foo: [] }|
|
914
|
+
plain %| to eq |
|
915
|
+
expected %|{ foo: nil }|
|
916
|
+
plain %|.|
|
917
917
|
end
|
918
918
|
},
|
919
919
|
diff: proc {
|
920
|
-
plain_line
|
921
|
-
|
922
|
-
|
923
|
-
plain_line
|
920
|
+
plain_line %| {|
|
921
|
+
expected_line %|- foo: nil|
|
922
|
+
actual_line %|+ foo: []|
|
923
|
+
plain_line %| }|
|
924
924
|
}
|
925
925
|
)
|
926
926
|
|
@@ -936,7 +936,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
936
936
|
as_both_colored_and_uncolored do |color_enabled|
|
937
937
|
snippet = <<~TEST.strip
|
938
938
|
expected = { foo: nil }
|
939
|
-
actual
|
939
|
+
actual = { foo: {} }
|
940
940
|
expect(actual).to eq(expected)
|
941
941
|
TEST
|
942
942
|
program = make_plain_test_program(snippet, color_enabled: color_enabled)
|
@@ -947,18 +947,18 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
947
947
|
newline_before_expectation: true,
|
948
948
|
expectation: proc {
|
949
949
|
line do
|
950
|
-
plain
|
951
|
-
|
952
|
-
plain
|
953
|
-
|
954
|
-
plain
|
950
|
+
plain %|Expected |
|
951
|
+
actual %|{ foo: {} }|
|
952
|
+
plain %| to eq |
|
953
|
+
expected %|{ foo: nil }|
|
954
|
+
plain %|.|
|
955
955
|
end
|
956
956
|
},
|
957
957
|
diff: proc {
|
958
|
-
plain_line
|
959
|
-
|
960
|
-
|
961
|
-
plain_line
|
958
|
+
plain_line %| {|
|
959
|
+
expected_line %|- foo: nil|
|
960
|
+
actual_line %|+ foo: {}|
|
961
|
+
plain_line %| }|
|
962
962
|
}
|
963
963
|
)
|
964
964
|
|
@@ -974,7 +974,7 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
974
974
|
as_both_colored_and_uncolored do |color_enabled|
|
975
975
|
snippet = <<~TEST.strip
|
976
976
|
expected = { foo: nil }
|
977
|
-
actual
|
977
|
+
actual = { foo: SuperDiff::Test::EmptyClass.new }
|
978
978
|
expect(actual).to eq(expected)
|
979
979
|
TEST
|
980
980
|
program = make_plain_test_program(snippet, color_enabled: color_enabled)
|
@@ -985,18 +985,18 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
985
985
|
newline_before_expectation: true,
|
986
986
|
expectation: proc {
|
987
987
|
line do
|
988
|
-
plain
|
989
|
-
|
990
|
-
plain
|
991
|
-
|
992
|
-
plain
|
988
|
+
plain %|Expected |
|
989
|
+
actual %|{ foo: #<SuperDiff::Test::EmptyClass> }|
|
990
|
+
plain %| to eq |
|
991
|
+
expected %|{ foo: nil }|
|
992
|
+
plain %|.|
|
993
993
|
end
|
994
994
|
},
|
995
995
|
diff: proc {
|
996
|
-
plain_line
|
997
|
-
|
998
|
-
|
999
|
-
plain_line
|
996
|
+
plain_line %| {|
|
997
|
+
expected_line %|- foo: nil|
|
998
|
+
actual_line %|+ foo: #<SuperDiff::Test::EmptyClass>|
|
999
|
+
plain_line %| }|
|
1000
1000
|
}
|
1001
1001
|
)
|
1002
1002
|
|