super_diff 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +46 -19
  3. data/lib/super_diff.rb +1 -7
  4. data/lib/super_diff/colorized_document_extensions.rb +4 -4
  5. data/lib/super_diff/configuration.rb +32 -22
  6. data/lib/super_diff/csi.rb +2 -1
  7. data/lib/super_diff/diff_formatters/collection.rb +1 -1
  8. data/lib/super_diff/diff_formatters/multiline_string.rb +4 -4
  9. data/lib/super_diff/equality_matchers/array.rb +2 -2
  10. data/lib/super_diff/equality_matchers/default.rb +2 -2
  11. data/lib/super_diff/equality_matchers/hash.rb +2 -2
  12. data/lib/super_diff/equality_matchers/multiline_string.rb +2 -2
  13. data/lib/super_diff/equality_matchers/primitive.rb +2 -2
  14. data/lib/super_diff/equality_matchers/singleline_string.rb +2 -2
  15. data/lib/super_diff/gem_version.rb +45 -0
  16. data/lib/super_diff/rspec.rb +4 -0
  17. data/lib/super_diff/rspec/matcher_text_builders/base.rb +7 -7
  18. data/lib/super_diff/rspec/matcher_text_builders/be_predicate.rb +6 -6
  19. data/lib/super_diff/rspec/matcher_text_builders/contain_exactly.rb +1 -1
  20. data/lib/super_diff/rspec/matcher_text_builders/have_predicate.rb +4 -4
  21. data/lib/super_diff/rspec/matcher_text_builders/raise_error.rb +1 -1
  22. data/lib/super_diff/rspec/matcher_text_builders/respond_to.rb +5 -5
  23. data/lib/super_diff/rspec/monkey_patches.rb +22 -13
  24. data/lib/super_diff/rspec/operation_tree_builders/collection_containing_exactly.rb +12 -1
  25. data/lib/super_diff/version.rb +1 -1
  26. data/spec/examples.txt +393 -5
  27. data/spec/integration/rspec/be_falsey_matcher_spec.rb +10 -10
  28. data/spec/integration/rspec/be_matcher_spec.rb +100 -100
  29. data/spec/integration/rspec/be_nil_matcher_spec.rb +10 -10
  30. data/spec/integration/rspec/be_predicate_matcher_spec.rb +103 -103
  31. data/spec/integration/rspec/be_truthy_matcher_spec.rb +10 -10
  32. data/spec/integration/rspec/contain_exactly_matcher_spec.rb +107 -107
  33. data/spec/integration/rspec/eq_matcher_spec.rb +230 -230
  34. data/spec/integration/rspec/have_attributes_matcher_spec.rb +129 -129
  35. data/spec/integration/rspec/have_predicate_matcher_spec.rb +65 -65
  36. data/spec/integration/rspec/include_matcher_spec.rb +73 -73
  37. data/spec/integration/rspec/match_array_matcher_spec.rb +119 -119
  38. data/spec/integration/rspec/match_matcher_spec.rb +274 -274
  39. data/spec/integration/rspec/raise_error_matcher_spec.rb +86 -86
  40. data/spec/integration/rspec/respond_to_matcher_spec.rb +240 -240
  41. data/spec/integration/rspec/third_party_matcher_spec.rb +8 -8
  42. data/spec/integration/rspec/unhandled_errors_spec.rb +5 -5
  43. data/spec/spec_helper.rb +22 -13
  44. data/spec/support/integration/helpers.rb +6 -2
  45. data/spec/support/integration/matchers/produce_output_when_run_matcher.rb +1 -1
  46. data/spec/support/integration/test_programs/base.rb +2 -0
  47. data/spec/support/integration/test_programs/rspec_active_record.rb +1 -1
  48. data/spec/support/integration/test_programs/rspec_active_support.rb +17 -0
  49. data/spec/support/integration/test_programs/rspec_rails.rb +1 -1
  50. data/spec/support/shared_examples/active_record.rb +108 -108
  51. data/spec/support/shared_examples/hash_with_indifferent_access.rb +196 -232
  52. data/spec/tmp/integration_spec.rb +15 -0
  53. data/spec/unit/equality_matchers/main_spec.rb +403 -403
  54. data/super_diff.gemspec +1 -1
  55. metadata +11 -3
@@ -7,7 +7,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
7
7
  as_both_colored_and_uncolored do |color_enabled|
8
8
  snippet = <<~TEST.strip
9
9
  expected = a_hash_including(city: "Hill Valley")
10
- actual = { city: "Burbank" }
10
+ actual = { city: "Burbank" }
11
11
  expect(actual).to match(expected)
12
12
  TEST
13
13
  program = make_plain_test_program(
@@ -20,18 +20,18 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
20
20
  snippet: %|expect(actual).to match(expected)|,
21
21
  expectation: proc {
22
22
  line do
23
- plain "Expected "
24
- beta %|{ city: "Burbank" }|
25
- plain " to match "
26
- alpha %|#<a hash including (city: "Hill Valley")>|
27
- plain "."
23
+ plain %|Expected |
24
+ actual %|{ city: "Burbank" }|
25
+ plain %| to match |
26
+ expected %|#<a hash including (city: "Hill Valley")>|
27
+ plain %|.|
28
28
  end
29
29
  },
30
30
  diff: proc {
31
- plain_line %| {|
32
- alpha_line %|- city: "Hill Valley"|
33
- beta_line %|+ city: "Burbank"|
34
- plain_line %| }|
31
+ plain_line %| {|
32
+ expected_line %|- city: "Hill Valley"|
33
+ actual_line %|+ city: "Burbank"|
34
+ plain_line %| }|
35
35
  },
36
36
  )
37
37
 
@@ -45,7 +45,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
45
45
  as_both_colored_and_uncolored do |color_enabled|
46
46
  snippet = <<~TEST.strip
47
47
  expected = a_hash_including(city: "Burbank")
48
- actual = { city: "Burbank" }
48
+ actual = { city: "Burbank" }
49
49
  expect(actual).not_to match(expected)
50
50
  TEST
51
51
  program = make_plain_test_program(
@@ -58,11 +58,11 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
58
58
  snippet: %|expect(actual).not_to match(expected)|,
59
59
  expectation: proc {
60
60
  line do
61
- plain "Expected "
62
- beta %|{ city: "Burbank" }|
63
- plain " not to match "
64
- alpha %|#<a hash including (city: "Burbank")>|
65
- plain "."
61
+ plain %|Expected |
62
+ actual %|{ city: "Burbank" }|
63
+ plain %| not to match |
64
+ expected %|#<a hash including (city: "Burbank")>|
65
+ plain %|.|
66
66
  end
67
67
  },
68
68
  )
@@ -82,7 +82,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
82
82
  city: "Hill Valley",
83
83
  zip: "90382"
84
84
  )
85
- actual = {
85
+ actual = {
86
86
  line_1: "123 Main St.",
87
87
  city: "Burbank",
88
88
  state: "CA",
@@ -100,24 +100,24 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
100
100
  snippet: %|expect(actual).to match(expected)|,
101
101
  expectation: proc {
102
102
  line do
103
- plain "Expected "
104
- beta %|{ line_1: "123 Main St.", city: "Burbank", state: "CA", zip: "90210" }|
103
+ plain %|Expected |
104
+ actual %|{ line_1: "123 Main St.", city: "Burbank", state: "CA", zip: "90210" }|
105
105
  end
106
106
 
107
107
  line do
108
- plain "to match "
109
- alpha %|#<a hash including (city: "Hill Valley", zip: "90382")>|
108
+ plain %|to match |
109
+ expected %|#<a hash including (city: "Hill Valley", zip: "90382")>|
110
110
  end
111
111
  },
112
112
  diff: proc {
113
- plain_line %| {|
114
- plain_line %| line_1: "123 Main St.",|
115
- alpha_line %|- city: "Hill Valley",|
116
- beta_line %|+ city: "Burbank",|
117
- plain_line %| state: "CA",|
118
- alpha_line %|- zip: "90382"|
119
- beta_line %|+ zip: "90210"|
120
- plain_line %| }|
113
+ plain_line %| {|
114
+ plain_line %| line_1: "123 Main St.",|
115
+ expected_line %|- city: "Hill Valley",|
116
+ actual_line %|+ city: "Burbank",|
117
+ plain_line %| state: "CA",|
118
+ expected_line %|- zip: "90382"|
119
+ actual_line %|+ zip: "90210"|
120
+ plain_line %| }|
121
121
  },
122
122
  )
123
123
 
@@ -134,7 +134,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
134
134
  city: "Burbank",
135
135
  zip: "90210"
136
136
  )
137
- actual = {
137
+ actual = {
138
138
  line_1: "123 Main St.",
139
139
  city: "Burbank",
140
140
  state: "CA",
@@ -153,13 +153,13 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
153
153
  newline_before_expectation: true,
154
154
  expectation: proc {
155
155
  line do
156
- plain " Expected "
157
- beta %|{ line_1: "123 Main St.", city: "Burbank", state: "CA", zip: "90210" }|
156
+ plain %| Expected |
157
+ actual %|{ line_1: "123 Main St.", city: "Burbank", state: "CA", zip: "90210" }|
158
158
  end
159
159
 
160
160
  line do
161
- plain "not to match "
162
- alpha %|#<a hash including (city: "Burbank", zip: "90210")>|
161
+ plain %|not to match |
162
+ expected %|#<a hash including (city: "Burbank", zip: "90210")>|
163
163
  end
164
164
  },
165
165
  )
@@ -173,7 +173,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
173
173
  end
174
174
 
175
175
  context "when the expected value includes a hash-including-<something>" do
176
- context "and the corresponding actual value is a hash" do
176
+ context "and the corresponding actual value is a hash" do
177
177
  it "produces the correct failure message when used in the positive" do
178
178
  as_both_colored_and_uncolored do |color_enabled|
179
179
  snippet = <<~TEST.strip
@@ -184,7 +184,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
184
184
  zip: "90382"
185
185
  )
186
186
  }
187
- actual = {
187
+ actual = {
188
188
  name: "Marty McFly",
189
189
  address: {
190
190
  line_1: "123 Main St.",
@@ -205,27 +205,27 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
205
205
  snippet: %|expect(actual).to match(expected)|,
206
206
  expectation: proc {
207
207
  line do
208
- plain "Expected "
209
- beta %|{ name: "Marty McFly", address: { line_1: "123 Main St.", city: "Burbank", state: "CA", zip: "90210" } }|
208
+ plain %|Expected |
209
+ actual %|{ name: "Marty McFly", address: { line_1: "123 Main St.", city: "Burbank", state: "CA", zip: "90210" } }|
210
210
  end
211
211
 
212
212
  line do
213
- plain "to match "
214
- alpha %|{ name: "Marty McFly", address: #<a hash including (city: "Hill Valley", zip: "90382")> }|
213
+ plain %|to match |
214
+ expected %|{ name: "Marty McFly", address: #<a hash including (city: "Hill Valley", zip: "90382")> }|
215
215
  end
216
216
  },
217
217
  diff: proc {
218
- plain_line %| {|
219
- plain_line %| name: "Marty McFly",|
220
- plain_line %| address: {|
221
- plain_line %| line_1: "123 Main St.",|
222
- alpha_line %|- city: "Hill Valley",|
223
- beta_line %|+ city: "Burbank",|
224
- plain_line %| state: "CA",|
225
- alpha_line %|- zip: "90382"|
226
- beta_line %|+ zip: "90210"|
227
- plain_line %| }|
228
- plain_line %| }|
218
+ plain_line %| {|
219
+ plain_line %| name: "Marty McFly",|
220
+ plain_line %| address: {|
221
+ plain_line %| line_1: "123 Main St.",|
222
+ expected_line %|- city: "Hill Valley",|
223
+ actual_line %|+ city: "Burbank",|
224
+ plain_line %| state: "CA",|
225
+ expected_line %|- zip: "90382"|
226
+ actual_line %|+ zip: "90210"|
227
+ plain_line %| }|
228
+ plain_line %| }|
229
229
  },
230
230
  )
231
231
 
@@ -245,7 +245,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
245
245
  zip: "90210"
246
246
  )
247
247
  }
248
- actual = {
248
+ actual = {
249
249
  name: "Marty McFly",
250
250
  address: {
251
251
  line_1: "123 Main St.",
@@ -267,13 +267,13 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
267
267
  newline_before_expectation: true,
268
268
  expectation: proc {
269
269
  line do
270
- plain " Expected "
271
- beta %|{ name: "Marty McFly", address: { line_1: "123 Main St.", city: "Burbank", state: "CA", zip: "90210" } }|
270
+ plain %| Expected |
271
+ actual %|{ name: "Marty McFly", address: { line_1: "123 Main St.", city: "Burbank", state: "CA", zip: "90210" } }|
272
272
  end
273
273
 
274
274
  line do
275
- plain "not to match "
276
- alpha %|{ name: "Marty McFly", address: #<a hash including (city: "Burbank", zip: "90210")> }|
275
+ plain %|not to match |
276
+ expected %|{ name: "Marty McFly", address: #<a hash including (city: "Burbank", zip: "90210")> }|
277
277
  end
278
278
  },
279
279
  )
@@ -285,7 +285,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
285
285
  end
286
286
  end
287
287
 
288
- context "and the corresponding actual value is not a hash" do
288
+ context "and the corresponding actual value is not a hash" do
289
289
  it "produces the correct failure message" do
290
290
  as_both_colored_and_uncolored do |color_enabled|
291
291
  snippet = <<~TEST.strip
@@ -296,7 +296,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
296
296
  zip: "90382"
297
297
  )
298
298
  }
299
- actual = {
299
+ actual = {
300
300
  name: "Marty McFly",
301
301
  address: nil
302
302
  }
@@ -312,24 +312,24 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
312
312
  snippet: %|expect(actual).to match(expected)|,
313
313
  expectation: proc {
314
314
  line do
315
- plain "Expected "
316
- beta %|{ name: "Marty McFly", address: nil }|
315
+ plain %|Expected |
316
+ actual %|{ name: "Marty McFly", address: nil }|
317
317
  end
318
318
 
319
319
  line do
320
- plain "to match "
321
- alpha %|{ name: "Marty McFly", address: #<a hash including (city: "Hill Valley", zip: "90382")> }|
320
+ plain %|to match |
321
+ expected %|{ name: "Marty McFly", address: #<a hash including (city: "Hill Valley", zip: "90382")> }|
322
322
  end
323
323
  },
324
324
  diff: proc {
325
- plain_line %! {!
326
- plain_line %! name: "Marty McFly",!
327
- alpha_line %!- address: #<a hash including (!
328
- alpha_line %!- city: "Hill Valley",!
329
- alpha_line %!- zip: "90382"!
330
- alpha_line %!- )>!
331
- beta_line %!+ address: nil!
332
- plain_line %! }!
325
+ plain_line %! {!
326
+ plain_line %! name: "Marty McFly",!
327
+ expected_line %!- address: #<a hash including (!
328
+ expected_line %!- city: "Hill Valley",!
329
+ expected_line %!- zip: "90382"!
330
+ expected_line %!- )>!
331
+ actual_line %!+ address: nil!
332
+ plain_line %! }!
333
333
  },
334
334
  )
335
335
 
@@ -347,7 +347,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
347
347
  as_both_colored_and_uncolored do |color_enabled|
348
348
  snippet = <<~TEST.strip
349
349
  expected = a_collection_including("a")
350
- actual = ["b"]
350
+ actual = ["b"]
351
351
  expect(actual).to match(expected)
352
352
  TEST
353
353
  program = make_plain_test_program(
@@ -360,19 +360,19 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
360
360
  snippet: %|expect(actual).to match(expected)|,
361
361
  expectation: proc {
362
362
  line do
363
- plain "Expected "
364
- beta %|["b"]|
365
- plain " to match "
366
- alpha %|#<a collection including ("a")>|
367
- plain "."
363
+ plain %|Expected |
364
+ actual %|["b"]|
365
+ plain %| to match |
366
+ expected %|#<a collection including ("a")>|
367
+ plain %|.|
368
368
  end
369
369
  },
370
370
  diff: proc {
371
- plain_line %| [|
372
- plain_line %| "b"|
373
- # alpha_line %|- "a",| # FIXME
374
- alpha_line %|- "a"|
375
- plain_line %| ]|
371
+ plain_line %| [|
372
+ plain_line %| "b"|
373
+ # expected_line %|- "a",| # FIXME
374
+ expected_line %|- "a"|
375
+ plain_line %| ]|
376
376
  },
377
377
  )
378
378
 
@@ -386,7 +386,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
386
386
  as_both_colored_and_uncolored do |color_enabled|
387
387
  snippet = <<~TEST.strip
388
388
  expected = a_collection_including("b")
389
- actual = ["b"]
389
+ actual = ["b"]
390
390
  expect(actual).not_to match(expected)
391
391
  TEST
392
392
  program = make_plain_test_program(
@@ -399,11 +399,11 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
399
399
  snippet: %|expect(actual).not_to match(expected)|,
400
400
  expectation: proc {
401
401
  line do
402
- plain "Expected "
403
- beta %|["b"]|
404
- plain " not to match "
405
- alpha %|#<a collection including ("b")>|
406
- plain "."
402
+ plain %|Expected |
403
+ actual %|["b"]|
404
+ plain %| not to match |
405
+ expected %|#<a collection including ("b")>|
406
+ plain %|.|
407
407
  end
408
408
  },
409
409
  )
@@ -420,7 +420,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
420
420
  as_both_colored_and_uncolored do |color_enabled|
421
421
  snippet = <<~TEST.strip
422
422
  expected = a_collection_including("milk", "bread")
423
- actual = ["milk", "toast", "eggs", "cheese", "English muffins"]
423
+ actual = ["milk", "toast", "eggs", "cheese", "English muffins"]
424
424
  expect(actual).to match(expected)
425
425
  TEST
426
426
  program = make_plain_test_program(
@@ -433,25 +433,25 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
433
433
  snippet: %|expect(actual).to match(expected)|,
434
434
  expectation: proc {
435
435
  line do
436
- plain "Expected "
437
- beta %|["milk", "toast", "eggs", "cheese", "English muffins"]|
436
+ plain %|Expected |
437
+ actual %|["milk", "toast", "eggs", "cheese", "English muffins"]|
438
438
  end
439
439
 
440
440
  line do
441
- plain "to match "
442
- alpha %|#<a collection including ("milk", "bread")>|
441
+ plain %|to match |
442
+ expected %|#<a collection including ("milk", "bread")>|
443
443
  end
444
444
  },
445
445
  diff: proc {
446
- plain_line %| [|
447
- plain_line %| "milk",|
448
- plain_line %| "toast",|
449
- plain_line %| "eggs",|
450
- plain_line %| "cheese",|
451
- # plain_line %| "English muffins",| # FIXME
452
- plain_line %| "English muffins"|
453
- alpha_line %|- "bread"|
454
- plain_line %| ]|
446
+ plain_line %| [|
447
+ plain_line %| "milk",|
448
+ plain_line %| "toast",|
449
+ plain_line %| "eggs",|
450
+ plain_line %| "cheese",|
451
+ # plain_line %| "English muffins",| # FIXME
452
+ plain_line %| "English muffins"|
453
+ expected_line %|- "bread"|
454
+ plain_line %| ]|
455
455
  },
456
456
  )
457
457
 
@@ -465,7 +465,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
465
465
  as_both_colored_and_uncolored do |color_enabled|
466
466
  snippet = <<~TEST.strip
467
467
  expected = a_collection_including("milk", "toast")
468
- actual = ["milk", "toast", "eggs", "cheese", "English muffins"]
468
+ actual = ["milk", "toast", "eggs", "cheese", "English muffins"]
469
469
  expect(actual).not_to match(expected)
470
470
  TEST
471
471
  program = make_plain_test_program(
@@ -479,13 +479,13 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
479
479
  newline_before_expectation: true,
480
480
  expectation: proc {
481
481
  line do
482
- plain " Expected "
483
- beta %|["milk", "toast", "eggs", "cheese", "English muffins"]|
482
+ plain %| Expected |
483
+ actual %|["milk", "toast", "eggs", "cheese", "English muffins"]|
484
484
  end
485
485
 
486
486
  line do
487
- plain "not to match "
488
- alpha %|#<a collection including ("milk", "toast")>|
487
+ plain %|not to match |
488
+ expected %|#<a collection including ("milk", "toast")>|
489
489
  end
490
490
  },
491
491
  )
@@ -499,7 +499,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
499
499
  end
500
500
 
501
501
  context "when the expected value includes a collection-including-<something>" do
502
- context "and the corresponding actual value is an array" do
502
+ context "and the corresponding actual value is an array" do
503
503
  it "produces the correct failure message when used in the positive" do
504
504
  as_both_colored_and_uncolored do |color_enabled|
505
505
  snippet = <<~TEST.strip
@@ -507,7 +507,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
507
507
  name: "shopping list",
508
508
  contents: a_collection_including("milk", "bread")
509
509
  }
510
- actual = {
510
+ actual = {
511
511
  name: "shopping list",
512
512
  contents: ["milk", "toast", "eggs"]
513
513
  }
@@ -523,26 +523,26 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
523
523
  snippet: %|expect(actual).to match(expected)|,
524
524
  expectation: proc {
525
525
  line do
526
- plain "Expected "
527
- beta %|{ name: "shopping list", contents: ["milk", "toast", "eggs"] }|
526
+ plain %|Expected |
527
+ actual %|{ name: "shopping list", contents: ["milk", "toast", "eggs"] }|
528
528
  end
529
529
 
530
530
  line do
531
- plain "to match "
532
- alpha %|{ name: "shopping list", contents: #<a collection including ("milk", "bread")> }|
531
+ plain %|to match |
532
+ expected %|{ name: "shopping list", contents: #<a collection including ("milk", "bread")> }|
533
533
  end
534
534
  },
535
535
  diff: proc {
536
- plain_line %| {|
537
- plain_line %| name: "shopping list",|
538
- plain_line %| contents: [|
539
- plain_line %| "milk",|
540
- plain_line %| "toast",|
541
- # plain_line %| "eggs",| # FIXME
542
- plain_line %| "eggs"|
543
- alpha_line %|- "bread"|
544
- plain_line %| ]|
545
- plain_line %| }|
536
+ plain_line %| {|
537
+ plain_line %| name: "shopping list",|
538
+ plain_line %| contents: [|
539
+ plain_line %| "milk",|
540
+ plain_line %| "toast",|
541
+ # plain_line %| "eggs",| # FIXME
542
+ plain_line %| "eggs"|
543
+ expected_line %|- "bread"|
544
+ plain_line %| ]|
545
+ plain_line %| }|
546
546
  },
547
547
  )
548
548
 
@@ -559,7 +559,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
559
559
  name: "shopping list",
560
560
  contents: a_collection_including("milk", "toast")
561
561
  }
562
- actual = {
562
+ actual = {
563
563
  name: "shopping list",
564
564
  contents: ["milk", "toast", "eggs"]
565
565
  }
@@ -576,13 +576,13 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
576
576
  newline_before_expectation: true,
577
577
  expectation: proc {
578
578
  line do
579
- plain " Expected "
580
- beta %|{ name: "shopping list", contents: ["milk", "toast", "eggs"] }|
579
+ plain %| Expected |
580
+ actual %|{ name: "shopping list", contents: ["milk", "toast", "eggs"] }|
581
581
  end
582
582
 
583
583
  line do
584
- plain "not to match "
585
- alpha %|{ name: "shopping list", contents: #<a collection including ("milk", "toast")> }|
584
+ plain %|not to match |
585
+ expected %|{ name: "shopping list", contents: #<a collection including ("milk", "toast")> }|
586
586
  end
587
587
  },
588
588
  )
@@ -594,7 +594,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
594
594
  end
595
595
  end
596
596
 
597
- context "when the corresponding actual value is not an array" do
597
+ context "when the corresponding actual value is not an array" do
598
598
  it "produces the correct failure message" do
599
599
  as_both_colored_and_uncolored do |color_enabled|
600
600
  snippet = <<~TEST.strip
@@ -602,7 +602,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
602
602
  name: "shopping list",
603
603
  contents: a_collection_including("milk", "bread")
604
604
  }
605
- actual = {
605
+ actual = {
606
606
  name: "shopping list",
607
607
  contents: nil
608
608
  }
@@ -618,24 +618,24 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
618
618
  snippet: %|expect(actual).to match(expected)|,
619
619
  expectation: proc {
620
620
  line do
621
- plain "Expected "
622
- beta %|{ name: "shopping list", contents: nil }|
621
+ plain %|Expected |
622
+ actual %|{ name: "shopping list", contents: nil }|
623
623
  end
624
624
 
625
625
  line do
626
- plain "to match "
627
- alpha %|{ name: "shopping list", contents: #<a collection including ("milk", "bread")> }|
626
+ plain %|to match |
627
+ expected %|{ name: "shopping list", contents: #<a collection including ("milk", "bread")> }|
628
628
  end
629
629
  },
630
630
  diff: proc {
631
- plain_line %! {!
632
- plain_line %! name: "shopping list",!
633
- alpha_line %!- contents: #<a collection including (!
634
- alpha_line %!- "milk",!
635
- alpha_line %!- "bread"!
636
- alpha_line %!- )>!
637
- beta_line %!+ contents: nil!
638
- plain_line %! }!
631
+ plain_line %! {!
632
+ plain_line %! name: "shopping list",!
633
+ expected_line %!- contents: #<a collection including (!
634
+ expected_line %!- "milk",!
635
+ expected_line %!- "bread"!
636
+ expected_line %!- )>!
637
+ actual_line %!+ contents: nil!
638
+ plain_line %! }!
639
639
  },
640
640
  )
641
641
 
@@ -653,7 +653,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
653
653
  as_both_colored_and_uncolored do |color_enabled|
654
654
  snippet = <<~TEST.strip
655
655
  expected = an_object_having_attributes(name: "b")
656
- actual = A.new("a")
656
+ actual = A.new("a")
657
657
  expect(actual).to match(expected)
658
658
  TEST
659
659
  program = make_plain_test_program(
@@ -666,19 +666,19 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
666
666
  snippet: %|expect(actual).to match(expected)|,
667
667
  expectation: proc {
668
668
  line do
669
- plain "Expected "
670
- beta %|#<A name: "a">|
671
- plain " to match "
672
- alpha %|#<an object having attributes (name: "b")>|
673
- plain "."
669
+ plain %|Expected |
670
+ actual %|#<A name: "a">|
671
+ plain %| to match |
672
+ expected %|#<an object having attributes (name: "b")>|
673
+ plain %|.|
674
674
  end
675
675
  },
676
676
  diff: proc {
677
- plain_line %| #<A {|
678
- # alpha_line %|- name: "b",| # FIXME
679
- alpha_line %|- name: "b"|
680
- beta_line %|+ name: "a"|
681
- plain_line %| }>|
677
+ plain_line %| #<A {|
678
+ # expected_line %|- name: "b",| # FIXME
679
+ expected_line %|- name: "b"|
680
+ actual_line %|+ name: "a"|
681
+ plain_line %| }>|
682
682
  },
683
683
  )
684
684
 
@@ -692,7 +692,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
692
692
  as_both_colored_and_uncolored do |color_enabled|
693
693
  snippet = <<~TEST.strip
694
694
  expected = an_object_having_attributes(name: "b")
695
- actual = A.new("b")
695
+ actual = A.new("b")
696
696
  expect(actual).not_to match(expected)
697
697
  TEST
698
698
  program = make_plain_test_program(
@@ -705,11 +705,11 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
705
705
  snippet: %|expect(actual).not_to match(expected)|,
706
706
  expectation: proc {
707
707
  line do
708
- plain "Expected "
709
- beta %|#<A name: "b">|
710
- plain " not to match "
711
- alpha %|#<an object having attributes (name: "b")>|
712
- plain "."
708
+ plain %|Expected |
709
+ actual %|#<A name: "b">|
710
+ plain %| not to match |
711
+ expected %|#<an object having attributes (name: "b")>|
712
+ plain %|.|
713
713
  end
714
714
  },
715
715
  )
@@ -732,7 +732,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
732
732
  state: "CA",
733
733
  something_else: "blah"
734
734
  )
735
- actual = SuperDiff::Test::ShippingAddress.new(
735
+ actual = SuperDiff::Test::ShippingAddress.new(
736
736
  line_1: "456 Ponderosa Ct.",
737
737
  line_2: nil,
738
738
  city: "Hill Valley",
@@ -751,29 +751,29 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
751
751
  snippet: %|expect(actual).to match(expected)|,
752
752
  expectation: proc {
753
753
  line do
754
- plain "Expected "
755
- beta %|#<SuperDiff::Test::ShippingAddress line_1: "456 Ponderosa Ct.", line_2: nil, city: "Hill Valley", state: "CA", zip: "90382">|
754
+ plain %|Expected |
755
+ actual %|#<SuperDiff::Test::ShippingAddress line_1: "456 Ponderosa Ct.", line_2: nil, city: "Hill Valley", state: "CA", zip: "90382">|
756
756
  end
757
757
 
758
758
  line do
759
- plain "to match "
760
- alpha %|#<an object having attributes (line_1: "123 Main St.", city: "Oakland", zip: "91234", state: "CA", something_else: "blah")>|
759
+ plain %|to match |
760
+ expected %|#<an object having attributes (line_1: "123 Main St.", city: "Oakland", zip: "91234", state: "CA", something_else: "blah")>|
761
761
  end
762
762
  },
763
763
  diff: proc {
764
- plain_line %| #<SuperDiff::Test::ShippingAddress {|
765
- alpha_line %|- line_1: "123 Main St.",|
766
- beta_line %|+ line_1: "456 Ponderosa Ct.",|
767
- plain_line %| line_2: nil,|
768
- alpha_line %|- city: "Oakland",|
769
- beta_line %|+ city: "Hill Valley",|
770
- plain_line %| state: "CA",|
771
- # alpha_line %|- zip: "91234",| # FIXME
772
- # beta_line %|+ zip: "90382",| # FIXME
773
- alpha_line %|- zip: "91234"|
774
- beta_line %|+ zip: "90382"|
775
- alpha_line %|- something_else: "blah"|
776
- plain_line %| }>|
764
+ plain_line %| #<SuperDiff::Test::ShippingAddress {|
765
+ expected_line %|- line_1: "123 Main St.",|
766
+ actual_line %|+ line_1: "456 Ponderosa Ct.",|
767
+ plain_line %| line_2: nil,|
768
+ expected_line %|- city: "Oakland",|
769
+ actual_line %|+ city: "Hill Valley",|
770
+ plain_line %| state: "CA",|
771
+ # expected_line %|- zip: "91234",| # FIXME
772
+ # actual_line %|+ zip: "90382",| # FIXME
773
+ expected_line %|- zip: "91234"|
774
+ actual_line %|+ zip: "90382"|
775
+ expected_line %|- something_else: "blah"|
776
+ plain_line %| }>|
777
777
  },
778
778
  )
779
779
 
@@ -791,7 +791,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
791
791
  city: "Oakland",
792
792
  zip: "91234"
793
793
  )
794
- actual = SuperDiff::Test::ShippingAddress.new(
794
+ actual = SuperDiff::Test::ShippingAddress.new(
795
795
  line_1: "123 Main St.",
796
796
  line_2: nil,
797
797
  city: "Oakland",
@@ -811,13 +811,13 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
811
811
  newline_before_expectation: true,
812
812
  expectation: proc {
813
813
  line do
814
- plain " Expected "
815
- beta %|#<SuperDiff::Test::ShippingAddress line_1: "123 Main St.", line_2: nil, city: "Oakland", state: "CA", zip: "91234">|
814
+ plain %| Expected |
815
+ actual %|#<SuperDiff::Test::ShippingAddress line_1: "123 Main St.", line_2: nil, city: "Oakland", state: "CA", zip: "91234">|
816
816
  end
817
817
 
818
818
  line do
819
- plain "not to match "
820
- alpha %|#<an object having attributes (line_1: "123 Main St.", city: "Oakland", zip: "91234")>|
819
+ plain %|not to match |
820
+ expected %|#<an object having attributes (line_1: "123 Main St.", city: "Oakland", zip: "91234")>|
821
821
  end
822
822
  },
823
823
  )
@@ -844,7 +844,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
844
844
  something_else: "blah"
845
845
  )
846
846
  }
847
- actual = {
847
+ actual = {
848
848
  name: "Marty McFly",
849
849
  shipping_address: SuperDiff::Test::ShippingAddress.new(
850
850
  line_1: "456 Ponderosa Ct.",
@@ -866,31 +866,31 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
866
866
  snippet: %|expect(actual).to match(expected)|,
867
867
  expectation: proc {
868
868
  line do
869
- plain "Expected "
870
- beta %|{ name: "Marty McFly", shipping_address: #<SuperDiff::Test::ShippingAddress line_1: "456 Ponderosa Ct.", line_2: nil, city: "Hill Valley", state: "CA", zip: "90382"> }|
869
+ plain %|Expected |
870
+ actual %|{ name: "Marty McFly", shipping_address: #<SuperDiff::Test::ShippingAddress line_1: "456 Ponderosa Ct.", line_2: nil, city: "Hill Valley", state: "CA", zip: "90382"> }|
871
871
  end
872
872
 
873
873
  line do
874
- plain "to match "
875
- alpha %|{ name: "Marty McFly", shipping_address: #<an object having attributes (line_1: "123 Main St.", city: "Oakland", state: "CA", zip: "91234", something_else: "blah")> }|
874
+ plain %|to match |
875
+ expected %|{ name: "Marty McFly", shipping_address: #<an object having attributes (line_1: "123 Main St.", city: "Oakland", state: "CA", zip: "91234", something_else: "blah")> }|
876
876
  end
877
877
  },
878
878
  diff: proc {
879
- plain_line %| {|
880
- plain_line %| name: "Marty McFly",|
881
- plain_line %| shipping_address: #<SuperDiff::Test::ShippingAddress {|
882
- alpha_line %|- line_1: "123 Main St.",|
883
- beta_line %|+ line_1: "456 Ponderosa Ct.",|
884
- plain_line %| line_2: nil,|
885
- alpha_line %|- city: "Oakland",|
886
- beta_line %|+ city: "Hill Valley",|
887
- plain_line %| state: "CA",|
888
- # alpha_line %|- zip: "91234",| # FIXME
889
- alpha_line %|- zip: "91234"|
890
- beta_line %|+ zip: "90382"|
891
- alpha_line %|- something_else: "blah"|
892
- plain_line %| }>|
893
- plain_line %| }|
879
+ plain_line %| {|
880
+ plain_line %| name: "Marty McFly",|
881
+ plain_line %| shipping_address: #<SuperDiff::Test::ShippingAddress {|
882
+ expected_line %|- line_1: "123 Main St.",|
883
+ actual_line %|+ line_1: "456 Ponderosa Ct.",|
884
+ plain_line %| line_2: nil,|
885
+ expected_line %|- city: "Oakland",|
886
+ actual_line %|+ city: "Hill Valley",|
887
+ plain_line %| state: "CA",|
888
+ # expected_line %|- zip: "91234",| # FIXME
889
+ expected_line %|- zip: "91234"|
890
+ actual_line %|+ zip: "90382"|
891
+ expected_line %|- something_else: "blah"|
892
+ plain_line %| }>|
893
+ plain_line %| }|
894
894
  },
895
895
  )
896
896
 
@@ -912,7 +912,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
912
912
  zip: "91234"
913
913
  )
914
914
  }
915
- actual = {
915
+ actual = {
916
916
  name: "Marty McFly",
917
917
  shipping_address: SuperDiff::Test::ShippingAddress.new(
918
918
  line_1: "123 Main St.",
@@ -935,13 +935,13 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
935
935
  newline_before_expectation: true,
936
936
  expectation: proc {
937
937
  line do
938
- plain " Expected "
939
- beta %|{ name: "Marty McFly", shipping_address: #<SuperDiff::Test::ShippingAddress line_1: "123 Main St.", line_2: nil, city: "Oakland", state: "CA", zip: "91234"> }|
938
+ plain %| Expected |
939
+ actual %|{ name: "Marty McFly", shipping_address: #<SuperDiff::Test::ShippingAddress line_1: "123 Main St.", line_2: nil, city: "Oakland", state: "CA", zip: "91234"> }|
940
940
  end
941
941
 
942
942
  line do
943
- plain "not to match "
944
- alpha %|{ name: "Marty McFly", shipping_address: #<an object having attributes (line_1: "123 Main St.", city: "Oakland", state: "CA", zip: "91234")> }|
943
+ plain %|not to match |
944
+ expected %|{ name: "Marty McFly", shipping_address: #<an object having attributes (line_1: "123 Main St.", city: "Oakland", state: "CA", zip: "91234")> }|
945
945
  end
946
946
  },
947
947
  )
@@ -959,7 +959,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
959
959
  as_both_colored_and_uncolored do |color_enabled|
960
960
  snippet = <<~TEST.strip
961
961
  expected = a_collection_containing_exactly("a")
962
- actual = ["b"]
962
+ actual = ["b"]
963
963
  expect(actual).to match(expected)
964
964
  TEST
965
965
  program = make_plain_test_program(
@@ -972,18 +972,18 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
972
972
  snippet: %|expect(actual).to match(expected)|,
973
973
  expectation: proc {
974
974
  line do
975
- plain "Expected "
976
- beta %|["b"]|
977
- plain " to match "
978
- alpha %|#<a collection containing exactly ("a")>|
979
- plain "."
975
+ plain %|Expected |
976
+ actual %|["b"]|
977
+ plain %| to match |
978
+ expected %|#<a collection containing exactly ("a")>|
979
+ plain %|.|
980
980
  end
981
981
  },
982
982
  diff: proc {
983
- plain_line %| [|
984
- plain_line %| "b",|
985
- alpha_line %|- "a"|
986
- plain_line %| ]|
983
+ plain_line %| [|
984
+ actual_line %|+ "b",|
985
+ expected_line %|- "a"|
986
+ plain_line %| ]|
987
987
  },
988
988
  )
989
989
 
@@ -997,7 +997,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
997
997
  as_both_colored_and_uncolored do |color_enabled|
998
998
  snippet = <<~TEST.strip
999
999
  expected = a_collection_containing_exactly("b")
1000
- actual = ["b"]
1000
+ actual = ["b"]
1001
1001
  expect(actual).not_to match(expected)
1002
1002
  TEST
1003
1003
  program = make_plain_test_program(
@@ -1010,11 +1010,11 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1010
1010
  snippet: %|expect(actual).not_to match(expected)|,
1011
1011
  expectation: proc {
1012
1012
  line do
1013
- plain "Expected "
1014
- beta %|["b"]|
1015
- plain " not to match "
1016
- alpha %|#<a collection containing exactly ("b")>|
1017
- plain "."
1013
+ plain %|Expected |
1014
+ actual %|["b"]|
1015
+ plain %| not to match |
1016
+ expected %|#<a collection containing exactly ("b")>|
1017
+ plain %|.|
1018
1018
  end
1019
1019
  },
1020
1020
  )
@@ -1031,7 +1031,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1031
1031
  as_both_colored_and_uncolored do |color_enabled|
1032
1032
  snippet = <<~TEST.strip
1033
1033
  expected = a_collection_containing_exactly("milk", "bread")
1034
- actual = ["milk", "toast", "eggs", "cheese", "English muffins"]
1034
+ actual = ["milk", "toast", "eggs", "cheese", "English muffins"]
1035
1035
  expect(actual).to match(expected)
1036
1036
  TEST
1037
1037
  program = make_plain_test_program(
@@ -1044,24 +1044,24 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1044
1044
  snippet: %|expect(actual).to match(expected)|,
1045
1045
  expectation: proc {
1046
1046
  line do
1047
- plain "Expected "
1048
- beta %|["milk", "toast", "eggs", "cheese", "English muffins"]|
1047
+ plain %|Expected |
1048
+ actual %|["milk", "toast", "eggs", "cheese", "English muffins"]|
1049
1049
  end
1050
1050
 
1051
1051
  line do
1052
- plain "to match "
1053
- alpha %|#<a collection containing exactly ("milk", "bread")>|
1052
+ plain %|to match |
1053
+ expected %|#<a collection containing exactly ("milk", "bread")>|
1054
1054
  end
1055
1055
  },
1056
1056
  diff: proc {
1057
- plain_line %| [|
1058
- plain_line %| "milk",|
1059
- plain_line %| "toast",|
1060
- plain_line %| "eggs",|
1061
- plain_line %| "cheese",|
1062
- plain_line %| "English muffins",|
1063
- alpha_line %|- "bread"|
1064
- plain_line %| ]|
1057
+ plain_line %| [|
1058
+ plain_line %| "milk",|
1059
+ actual_line %|+ "toast",|
1060
+ actual_line %|+ "eggs",|
1061
+ actual_line %|+ "cheese",|
1062
+ actual_line %|+ "English muffins",|
1063
+ expected_line %|- "bread"|
1064
+ plain_line %| ]|
1065
1065
  },
1066
1066
  )
1067
1067
 
@@ -1075,7 +1075,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1075
1075
  as_both_colored_and_uncolored do |color_enabled|
1076
1076
  snippet = <<~TEST.strip
1077
1077
  expected = a_collection_containing_exactly("milk", "eggs", "toast")
1078
- actual = ["milk", "toast", "eggs"]
1078
+ actual = ["milk", "toast", "eggs"]
1079
1079
  expect(actual).not_to match(expected)
1080
1080
  TEST
1081
1081
  program = make_plain_test_program(
@@ -1089,13 +1089,13 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1089
1089
  newline_before_expectation: true,
1090
1090
  expectation: proc {
1091
1091
  line do
1092
- plain " Expected "
1093
- beta %|["milk", "toast", "eggs"]|
1092
+ plain %| Expected |
1093
+ actual %|["milk", "toast", "eggs"]|
1094
1094
  end
1095
1095
 
1096
1096
  line do
1097
- plain "not to match "
1098
- alpha %|#<a collection containing exactly ("milk", "eggs", "toast")>|
1097
+ plain %|not to match |
1098
+ expected %|#<a collection containing exactly ("milk", "eggs", "toast")>|
1099
1099
  end
1100
1100
  },
1101
1101
  )
@@ -1109,7 +1109,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1109
1109
  end
1110
1110
 
1111
1111
  context "when the expected value includes a collection-containing-exactly-<something>" do
1112
- context "and the corresponding actual value is an array" do
1112
+ context "and the corresponding actual value is an array" do
1113
1113
  it "produces the correct failure message when used in the positive" do
1114
1114
  as_both_colored_and_uncolored do |color_enabled|
1115
1115
  snippet = <<~TEST.strip
@@ -1117,7 +1117,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1117
1117
  name: "shopping list",
1118
1118
  contents: a_collection_containing_exactly("milk", "bread")
1119
1119
  }
1120
- actual = {
1120
+ actual = {
1121
1121
  name: "shopping list",
1122
1122
  contents: ["milk", "toast", "eggs"]
1123
1123
  }
@@ -1133,25 +1133,25 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1133
1133
  snippet: %|expect(actual).to match(expected)|,
1134
1134
  expectation: proc {
1135
1135
  line do
1136
- plain "Expected "
1137
- beta %|{ name: "shopping list", contents: ["milk", "toast", "eggs"] }|
1136
+ plain %|Expected |
1137
+ actual %|{ name: "shopping list", contents: ["milk", "toast", "eggs"] }|
1138
1138
  end
1139
1139
 
1140
1140
  line do
1141
- plain "to match "
1142
- alpha %|{ name: "shopping list", contents: #<a collection containing exactly ("milk", "bread")> }|
1141
+ plain %|to match |
1142
+ expected %|{ name: "shopping list", contents: #<a collection containing exactly ("milk", "bread")> }|
1143
1143
  end
1144
1144
  },
1145
1145
  diff: proc {
1146
- plain_line %| {|
1147
- plain_line %| name: "shopping list",|
1148
- plain_line %| contents: [|
1149
- plain_line %| "milk",|
1150
- plain_line %| "toast",|
1151
- plain_line %| "eggs",|
1152
- alpha_line %|- "bread"|
1153
- plain_line %| ]|
1154
- plain_line %| }|
1146
+ plain_line %| {|
1147
+ plain_line %| name: "shopping list",|
1148
+ plain_line %| contents: [|
1149
+ plain_line %| "milk",|
1150
+ actual_line %|+ "toast",|
1151
+ actual_line %|+ "eggs",|
1152
+ expected_line %|- "bread"|
1153
+ plain_line %| ]|
1154
+ plain_line %| }|
1155
1155
  },
1156
1156
  )
1157
1157
 
@@ -1168,7 +1168,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1168
1168
  name: "shopping list",
1169
1169
  contents: a_collection_containing_exactly("milk", "eggs", "toast")
1170
1170
  }
1171
- actual = {
1171
+ actual = {
1172
1172
  name: "shopping list",
1173
1173
  contents: ["milk", "toast", "eggs"]
1174
1174
  }
@@ -1185,13 +1185,13 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1185
1185
  newline_before_expectation: true,
1186
1186
  expectation: proc {
1187
1187
  line do
1188
- plain " Expected "
1189
- beta %|{ name: "shopping list", contents: ["milk", "toast", "eggs"] }|
1188
+ plain %| Expected |
1189
+ actual %|{ name: "shopping list", contents: ["milk", "toast", "eggs"] }|
1190
1190
  end
1191
1191
 
1192
1192
  line do
1193
- plain "not to match "
1194
- alpha %|{ name: "shopping list", contents: #<a collection containing exactly ("milk", "eggs", "toast")> }|
1193
+ plain %|not to match |
1194
+ expected %|{ name: "shopping list", contents: #<a collection containing exactly ("milk", "eggs", "toast")> }|
1195
1195
  end
1196
1196
  },
1197
1197
  )
@@ -1203,7 +1203,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1203
1203
  end
1204
1204
  end
1205
1205
 
1206
- context "when the corresponding actual value is not an array" do
1206
+ context "when the corresponding actual value is not an array" do
1207
1207
  it "produces the correct failure message" do
1208
1208
  as_both_colored_and_uncolored do |color_enabled|
1209
1209
  snippet = <<~TEST.strip
@@ -1211,7 +1211,7 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1211
1211
  name: "shopping list",
1212
1212
  contents: a_collection_containing_exactly("milk", "bread")
1213
1213
  }
1214
- actual = {
1214
+ actual = {
1215
1215
  name: "shopping list",
1216
1216
  contents: nil
1217
1217
  }
@@ -1227,24 +1227,24 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
1227
1227
  snippet: %|expect(actual).to match(expected)|,
1228
1228
  expectation: proc {
1229
1229
  line do
1230
- plain "Expected "
1231
- beta %|{ name: "shopping list", contents: nil }|
1230
+ plain %|Expected |
1231
+ actual %|{ name: "shopping list", contents: nil }|
1232
1232
  end
1233
1233
 
1234
1234
  line do
1235
- plain "to match "
1236
- alpha %|{ name: "shopping list", contents: #<a collection containing exactly ("milk", "bread")> }|
1235
+ plain %|to match |
1236
+ expected %|{ name: "shopping list", contents: #<a collection containing exactly ("milk", "bread")> }|
1237
1237
  end
1238
1238
  },
1239
1239
  diff: proc {
1240
- plain_line %! {!
1241
- plain_line %! name: "shopping list",!
1242
- alpha_line %!- contents: #<a collection containing exactly (!
1243
- alpha_line %!- "milk",!
1244
- alpha_line %!- "bread"!
1245
- alpha_line %!- )>!
1246
- beta_line %!+ contents: nil!
1247
- plain_line %! }!
1240
+ plain_line %! {!
1241
+ plain_line %! name: "shopping list",!
1242
+ expected_line %!- contents: #<a collection containing exactly (!
1243
+ expected_line %!- "milk",!
1244
+ expected_line %!- "bread"!
1245
+ expected_line %!- )>!
1246
+ actual_line %!+ contents: nil!
1247
+ plain_line %! }!
1248
1248
  },
1249
1249
  )
1250
1250