super_diff 0.10.0 → 0.11.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.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/lib/super_diff/active_record/object_inspection/inspection_tree_builders/active_record_model.rb +24 -12
  3. data/lib/super_diff/active_record/object_inspection/inspection_tree_builders/active_record_relation.rb +15 -6
  4. data/lib/super_diff/active_support/object_inspection/inspection_tree_builders/hash_with_indifferent_access.rb +23 -8
  5. data/lib/super_diff/active_support/object_inspection/inspection_tree_builders/ordered_options.rb +46 -0
  6. data/lib/super_diff/active_support/object_inspection/inspection_tree_builders.rb +4 -0
  7. data/lib/super_diff/active_support.rb +2 -1
  8. data/lib/super_diff/differs/date_like.rb +15 -0
  9. data/lib/super_diff/differs/defaults.rb +1 -0
  10. data/lib/super_diff/differs.rb +1 -0
  11. data/lib/super_diff/errors.rb +0 -4
  12. data/lib/super_diff/object_inspection/inspection_tree.rb +25 -20
  13. data/lib/super_diff/object_inspection/inspection_tree_builders/array.rb +31 -12
  14. data/lib/super_diff/object_inspection/inspection_tree_builders/custom_object.rb +19 -9
  15. data/lib/super_diff/object_inspection/inspection_tree_builders/date_like.rb +51 -0
  16. data/lib/super_diff/object_inspection/inspection_tree_builders/default_object.rb +46 -21
  17. data/lib/super_diff/object_inspection/inspection_tree_builders/defaults.rb +1 -0
  18. data/lib/super_diff/object_inspection/inspection_tree_builders/hash.rb +39 -14
  19. data/lib/super_diff/object_inspection/inspection_tree_builders/primitive.rb +3 -5
  20. data/lib/super_diff/object_inspection/inspection_tree_builders/time_like.rb +31 -20
  21. data/lib/super_diff/object_inspection/inspection_tree_builders.rb +4 -0
  22. data/lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb +3 -2
  23. data/lib/super_diff/operation_tree_builders/date_like.rb +15 -0
  24. data/lib/super_diff/operation_tree_builders/defaults.rb +1 -1
  25. data/lib/super_diff/operation_tree_builders.rb +1 -0
  26. data/lib/super_diff/rspec/matcher_text_builders/raise_error.rb +3 -7
  27. data/lib/super_diff/rspec/monkey_patches.rb +59 -8
  28. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/collection_containing_exactly.rb +14 -7
  29. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/collection_including.rb +19 -13
  30. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb +30 -26
  31. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/generic_describable_matcher.rb +19 -0
  32. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/hash_including.rb +19 -14
  33. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/instance_of.rb +9 -10
  34. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/kind_of.rb +9 -10
  35. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/object_having_attributes.rb +14 -7
  36. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/value_within.rb +10 -11
  37. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders.rb +4 -0
  38. data/lib/super_diff/rspec.rb +10 -9
  39. data/lib/super_diff/version.rb +1 -1
  40. data/lib/super_diff.rb +9 -0
  41. data/spec/examples.txt +543 -493
  42. data/spec/integration/rails/engines_spec.rb +8 -3
  43. data/spec/integration/rspec/contain_exactly_matcher_spec.rb +19 -19
  44. data/spec/integration/rspec/eq_matcher_spec.rb +111 -39
  45. data/spec/integration/rspec/generic_describable_matchers_spec.rb +177 -0
  46. data/spec/integration/rspec/have_attributes_matcher_spec.rb +25 -25
  47. data/spec/integration/rspec/include_matcher_spec.rb +23 -23
  48. data/spec/integration/rspec/magic_metadata_spec.rb +51 -0
  49. data/spec/integration/rspec/match_array_matcher_spec.rb +30 -30
  50. data/spec/integration/rspec/match_matcher_spec.rb +93 -93
  51. data/spec/integration/rspec/raise_error_matcher_spec.rb +813 -69
  52. data/spec/internal/log/test.log +0 -0
  53. data/spec/spec_helper.rb +3 -0
  54. data/spec/support/integration/helpers.rb +15 -10
  55. data/spec/support/integration/matchers.rb +34 -0
  56. data/spec/support/integration/test_programs/base.rb +6 -6
  57. data/spec/support/integration/test_programs/rspec_rails_engine.rb +3 -13
  58. data/spec/support/shared_examples/active_record.rb +33 -33
  59. data/spec/support/shared_examples/active_support.rb +125 -4
  60. data/spec/support/shared_examples/elided_diffs.rb +48 -48
  61. data/spec/support/shared_examples/hash_with_indifferent_access.rb +88 -88
  62. data/spec/support/shared_examples/key.rb +10 -10
  63. data/spec/unit/active_support/object_inspection_spec.rb +170 -0
  64. data/spec/unit/rspec/matchers/raise_error_spec.rb +43 -11
  65. data/spec/unit/rspec/object_inspection/rspec_matcher_spec.rb +91 -0
  66. data/spec/unit/rspec/object_inspection_spec.rb +2 -2
  67. data/spec/unit/super_diff_spec.rb +64 -0
  68. metadata +17 -4
  69. data/lib/super_diff/errors/no_diff_formatter_available_error.rb +0 -21
  70. data/lib/super_diff/errors/no_operational_sequencer_available_error.rb +0 -22
@@ -8,8 +8,8 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
8
8
  it "produces the correct output when used in the positive" do
9
9
  as_both_colored_and_uncolored do |color_enabled|
10
10
  snippet = <<~TEST.strip
11
- expected = { name: "b" }
12
11
  actual = SuperDiff::Test::Person.new(name: "a", age: 9)
12
+ expected = { name: "b" }
13
13
  expect(actual).to have_attributes(expected)
14
14
  TEST
15
15
  program =
@@ -49,8 +49,8 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
49
49
  it "produces the correct output when used in the negative" do
50
50
  as_both_colored_and_uncolored do |color_enabled|
51
51
  snippet = <<~TEST.strip
52
- expected = { name: "a" }
53
52
  actual = SuperDiff::Test::Person.new(name: "a", age: 9)
53
+ expected = { name: "a" }
54
54
  expect(actual).not_to have_attributes(expected)
55
55
  TEST
56
56
  program =
@@ -83,8 +83,8 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
83
83
  it "produces the correct output" do
84
84
  as_both_colored_and_uncolored do |color_enabled|
85
85
  snippet = <<~TEST.strip
86
- expected = { name: "b", foo: "bar" }
87
86
  actual = SuperDiff::Test::Person.new(name: "a", age: 9)
87
+ expected = { name: "b", foo: "bar" }
88
88
  expect(actual).to have_attributes(expected)
89
89
  TEST
90
90
  program =
@@ -131,12 +131,6 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
131
131
  it "produces the correct output when used in the positive" do
132
132
  as_both_colored_and_uncolored do |color_enabled|
133
133
  snippet = <<~TEST.strip
134
- expected = {
135
- line_1: "123 Main St.",
136
- city: "Oakland",
137
- state: "CA",
138
- zip: "91234"
139
- }
140
134
  actual = SuperDiff::Test::ShippingAddress.new(
141
135
  line_1: "456 Ponderosa Ct.",
142
136
  line_2: nil,
@@ -144,6 +138,12 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
144
138
  state: "CA",
145
139
  zip: "90382"
146
140
  )
141
+ expected = {
142
+ line_1: "123 Main St.",
143
+ city: "Oakland",
144
+ state: "CA",
145
+ zip: "91234"
146
+ }
147
147
  expect(actual).to have_attributes(expected)
148
148
  TEST
149
149
  program =
@@ -189,19 +189,19 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
189
189
  it "produces the correct output when used in the negative" do
190
190
  as_both_colored_and_uncolored do |color_enabled|
191
191
  snippet = <<~TEST.strip
192
- expected = {
192
+ actual = SuperDiff::Test::ShippingAddress.new(
193
193
  line_1: "123 Main St.",
194
+ line_2: nil,
194
195
  city: "Oakland",
195
196
  state: "CA",
196
197
  zip: "91234"
197
- }
198
- actual = SuperDiff::Test::ShippingAddress.new(
198
+ )
199
+ expected = {
199
200
  line_1: "123 Main St.",
200
- line_2: nil,
201
201
  city: "Oakland",
202
202
  state: "CA",
203
203
  zip: "91234"
204
- )
204
+ }
205
205
  expect(actual).not_to have_attributes(expected)
206
206
  TEST
207
207
  program =
@@ -237,6 +237,13 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
237
237
  it "produces the correct output" do
238
238
  as_both_colored_and_uncolored do |color_enabled|
239
239
  snippet = <<~TEST.strip
240
+ actual = SuperDiff::Test::ShippingAddress.new(
241
+ line_1: "456 Ponderosa Ct.",
242
+ line_2: nil,
243
+ city: "Hill Valley",
244
+ state: "CA",
245
+ zip: "90382"
246
+ )
240
247
  expected = {
241
248
  line_1: "123 Main St.",
242
249
  city: "Oakland",
@@ -245,13 +252,6 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
245
252
  foo: "bar",
246
253
  baz: "qux"
247
254
  }
248
- actual = SuperDiff::Test::ShippingAddress.new(
249
- line_1: "456 Ponderosa Ct.",
250
- line_2: nil,
251
- city: "Hill Valley",
252
- state: "CA",
253
- zip: "90382"
254
- )
255
255
  expect(actual).to have_attributes(expected)
256
256
  TEST
257
257
  program =
@@ -307,8 +307,8 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
307
307
  it "displays the diff as if we were comparing hashes" do
308
308
  as_both_colored_and_uncolored do |color_enabled|
309
309
  snippet = <<~TEST.strip
310
- expected = { name: "Elliot", age: 32 }
311
310
  actual = {}
311
+ expected = { name: "Elliot", age: 32 }
312
312
  expect(actual).to have_attributes(expected)
313
313
  TEST
314
314
 
@@ -347,11 +347,12 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
347
347
  end
348
348
  end
349
349
 
350
- # TODO: Add as many fuzzy matchers as we can here
351
- context "that contains fuzzy matcher objects instead of an object" do
350
+ # TODO: Add as many RSpec matchers as we can here
351
+ context "that contains RSpec matchers" do
352
352
  it "displays the hash correctly" do
353
353
  as_both_colored_and_uncolored do |color_enabled|
354
354
  snippet = <<~TEST.strip
355
+ actual = {}
355
356
  expected = {
356
357
  name: "Elliot",
357
358
  shipping_address: an_object_having_attributes(
@@ -365,7 +366,6 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher",
365
366
  data: a_hash_including(active: true),
366
367
  created_at: a_value_within(1).of(Time.utc(2020, 4, 9))
367
368
  }
368
- actual = {}
369
369
 
370
370
  expect(actual).to have_attributes(expected)
371
371
  TEST
@@ -7,8 +7,8 @@ RSpec.describe "Integration with RSpec's #include matcher",
7
7
  it "produces the correct failure message when used in the positive" do
8
8
  as_both_colored_and_uncolored do |color_enabled|
9
9
  snippet = <<~TEST.strip
10
- expected = ["Marty", "Einie"]
11
10
  actual = ["Marty", "Jennifer", "Doc"]
11
+ expected = ["Marty", "Einie"]
12
12
  expect(actual).to include(*expected)
13
13
  TEST
14
14
  program =
@@ -82,18 +82,18 @@ RSpec.describe "Integration with RSpec's #include matcher",
82
82
  it "produces the correct failure message when used in the positive" do
83
83
  as_both_colored_and_uncolored do |color_enabled|
84
84
  snippet = <<~TEST.strip
85
- expected = [
85
+ actual = [
86
86
  "Marty McFly",
87
87
  "Doc Brown",
88
88
  "Einie",
89
- "Biff Tannen",
90
- "George McFly",
91
89
  "Lorraine McFly"
92
90
  ]
93
- actual = [
91
+ expected = [
94
92
  "Marty McFly",
95
93
  "Doc Brown",
96
94
  "Einie",
95
+ "Biff Tannen",
96
+ "George McFly",
97
97
  "Lorraine McFly"
98
98
  ]
99
99
  expect(actual).to include(*expected)
@@ -140,18 +140,18 @@ RSpec.describe "Integration with RSpec's #include matcher",
140
140
  it "produces the correct failure message when used in the negative" do
141
141
  as_both_colored_and_uncolored do |color_enabled|
142
142
  snippet = <<~TEST.strip
143
- expected = [
143
+ actual = [
144
144
  "Marty McFly",
145
145
  "Doc Brown",
146
146
  "Einie",
147
+ "Biff Tannen",
148
+ "George McFly",
147
149
  "Lorraine McFly"
148
150
  ]
149
- actual = [
151
+ expected = [
150
152
  "Marty McFly",
151
153
  "Doc Brown",
152
154
  "Einie",
153
- "Biff Tannen",
154
- "George McFly",
155
155
  "Lorraine McFly"
156
156
  ]
157
157
  expect(actual).not_to include(*expected)
@@ -191,8 +191,8 @@ RSpec.describe "Integration with RSpec's #include matcher",
191
191
  it "produces the correct failure message when used in the positive" do
192
192
  as_both_colored_and_uncolored do |color_enabled|
193
193
  snippet = <<~TEST.strip
194
- expected = { city: "Hill Valley", state: "CA" }
195
194
  actual = { city: "Burbank", zip: "90210" }
195
+ expected = { city: "Hill Valley", state: "CA" }
196
196
  expect(actual).to include(expected)
197
197
  TEST
198
198
  program =
@@ -234,8 +234,8 @@ RSpec.describe "Integration with RSpec's #include matcher",
234
234
  it "produces the correct failure message when used in the negative" do
235
235
  as_both_colored_and_uncolored do |color_enabled|
236
236
  snippet = <<~TEST.strip
237
- expected = { city: "Burbank" }
238
237
  actual = { city: "Burbank", zip: "90210" }
238
+ expected = { city: "Burbank" }
239
239
  expect(actual).not_to include(expected)
240
240
  TEST
241
241
  program =
@@ -266,8 +266,8 @@ RSpec.describe "Integration with RSpec's #include matcher",
266
266
  it "produces the correct failure message when fuzzy matching" do
267
267
  as_both_colored_and_uncolored do |color_enabled|
268
268
  snippet = <<~TEST.strip
269
- expected = { number: a_kind_of(Numeric), city: /burb/i, state: "CA" }
270
269
  actual = { number: 42, city: "Burbank", zip: "90210" }
270
+ expected = { number: a_kind_of(Numeric), city: /burb/i, state: "CA" }
271
271
  expect(actual).to include(expected)
272
272
  TEST
273
273
  program =
@@ -309,15 +309,15 @@ RSpec.describe "Integration with RSpec's #include matcher",
309
309
  it "produces the correct failure message when used in the positive" do
310
310
  as_both_colored_and_uncolored do |color_enabled|
311
311
  snippet = <<~TEST.strip
312
- expected = {
313
- city: "Hill Valley",
314
- zip: "90382"
315
- }
316
312
  actual = {
317
313
  city: "Burbank",
318
314
  state: "CA",
319
315
  zip: "90210"
320
316
  }
317
+ expected = {
318
+ city: "Hill Valley",
319
+ zip: "90382"
320
+ }
321
321
  expect(actual).to include(expected)
322
322
  TEST
323
323
  program =
@@ -360,8 +360,8 @@ RSpec.describe "Integration with RSpec's #include matcher",
360
360
  it "produces the correct failure message when used in the negative" do
361
361
  as_both_colored_and_uncolored do |color_enabled|
362
362
  snippet = <<~TEST.strip
363
- expected = { city: "Hill Valley", state: "CA" }
364
363
  actual = { city: "Hill Valley", state: "CA", zip: "90210" }
364
+ expected = { city: "Hill Valley", state: "CA" }
365
365
  expect(actual).not_to include(expected)
366
366
  TEST
367
367
  program =
@@ -395,12 +395,6 @@ RSpec.describe "Integration with RSpec's #include matcher",
395
395
  it "produces the correct failure message when fuzzy matching" do
396
396
  as_both_colored_and_uncolored do |color_enabled|
397
397
  snippet = <<~TEST.strip
398
- expected = {
399
- number: a_kind_of(Numeric),
400
- street: "Yoshie Circles",
401
- city: /burb/i,
402
- zip: "90382"
403
- }
404
398
  actual = {
405
399
  number: 42,
406
400
  street: "Yoshie Circles",
@@ -408,6 +402,12 @@ RSpec.describe "Integration with RSpec's #include matcher",
408
402
  state: "CA",
409
403
  zip: "90210"
410
404
  }
405
+ expected = {
406
+ number: a_kind_of(Numeric),
407
+ street: "Yoshie Circles",
408
+ city: /burb/i,
409
+ zip: "90382"
410
+ }
411
411
  expect(actual).to include(expected)
412
412
  TEST
413
413
  program =
@@ -0,0 +1,51 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe "Integration with RSpec's magic metadata", type: :integration do
4
+ it "includes extra_failure_lines in failure messages" do
5
+ as_both_colored_and_uncolored do |color_enabled|
6
+ snippet = <<~TEST.strip
7
+ RSpec.describe "test" do
8
+ it { expect(true).to be(false) }
9
+
10
+ after do
11
+ RSpec.current_example.metadata[:extra_failure_lines] = "foo\nbar"
12
+ end
13
+ end
14
+ TEST
15
+ program =
16
+ make_plain_test_program(
17
+ snippet,
18
+ color_enabled: color_enabled,
19
+ preserve_as_whole_file: true
20
+ )
21
+
22
+ expected_output =
23
+ build_expected_output(
24
+ color_enabled: color_enabled,
25
+ test_name: "test is expected to equal false",
26
+ snippet: "it { expect(true).to be(false) }",
27
+ expectation:
28
+ proc do
29
+ line do
30
+ plain "Expected "
31
+ actual "true"
32
+ plain " to equal "
33
+ expected "false"
34
+ plain "."
35
+ end
36
+ end,
37
+ extra_failure_lines:
38
+ proc do
39
+ indent by: 5 do
40
+ line "foo"
41
+ line "bar"
42
+ end
43
+ end
44
+ )
45
+
46
+ expect(program).to produce_output_when_run(expected_output).in_color(
47
+ color_enabled
48
+ )
49
+ end
50
+ end
51
+ end
@@ -6,8 +6,8 @@ RSpec.describe "Integration with RSpec's #match_array matcher",
6
6
  it "produces the correct failure message when used in the positive" do
7
7
  as_both_colored_and_uncolored do |color_enabled|
8
8
  snippet = <<~TEST.strip
9
- expected = ["Einie", "Marty"]
10
9
  actual = ["Marty", "Jennifer", "Doc"]
10
+ expected = ["Einie", "Marty"]
11
11
  expect(actual).to match_array(expected)
12
12
  TEST
13
13
  program = make_plain_test_program(snippet, color_enabled: color_enabled)
@@ -84,6 +84,12 @@ RSpec.describe "Integration with RSpec's #match_array matcher",
84
84
  it "produces the correct failure message when used in the positive" do
85
85
  as_both_colored_and_uncolored do |color_enabled|
86
86
  snippet = <<~TEST.strip
87
+ actual = [
88
+ "Marty McFly",
89
+ "Doc Brown",
90
+ "Einie",
91
+ "Lorraine McFly"
92
+ ]
87
93
  expected = [
88
94
  "Doc Brown",
89
95
  "Marty McFly",
@@ -91,12 +97,6 @@ RSpec.describe "Integration with RSpec's #match_array matcher",
91
97
  "George McFly",
92
98
  "Lorraine McFly"
93
99
  ]
94
- actual = [
95
- "Marty McFly",
96
- "Doc Brown",
97
- "Einie",
98
- "Lorraine McFly"
99
- ]
100
100
  expect(actual).to match_array(expected)
101
101
  TEST
102
102
  program =
@@ -196,6 +196,12 @@ RSpec.describe "Integration with RSpec's #match_array matcher",
196
196
  it "produces the correct failure message when used in the positive" do
197
197
  as_both_colored_and_uncolored do |color_enabled|
198
198
  snippet = <<~TEST
199
+ actual = [
200
+ "Marty McFly",
201
+ "Doc Brown",
202
+ "Einie",
203
+ "Lorraine McFly"
204
+ ]
199
205
  expected = [
200
206
  / Brown$/,
201
207
  "Marty McFly",
@@ -203,12 +209,6 @@ RSpec.describe "Integration with RSpec's #match_array matcher",
203
209
  /Georg McFly/,
204
210
  /Lorrain McFly/
205
211
  ]
206
- actual = [
207
- "Marty McFly",
208
- "Doc Brown",
209
- "Einie",
210
- "Lorraine McFly"
211
- ]
212
212
  expect(actual).to match_array(expected)
213
213
  TEST
214
214
  program =
@@ -310,20 +310,20 @@ RSpec.describe "Integration with RSpec's #match_array matcher",
310
310
  end
311
311
  end
312
312
 
313
- context "and some of them are fuzzy objects" do
313
+ context "and some of them are RSpec matchers" do
314
314
  it "produces the correct failure message" do
315
315
  as_both_colored_and_uncolored do |color_enabled|
316
316
  snippet = <<~TEST.strip
317
- expected = [
318
- a_hash_including(foo: "bar"),
319
- a_collection_containing_exactly("zing"),
320
- an_object_having_attributes(baz: "qux"),
321
- ]
322
317
  actual = [
323
318
  { foo: "bar" },
324
319
  double(baz: "qux"),
325
320
  { blargh: "riddle" }
326
321
  ]
322
+ expected = [
323
+ a_hash_including(foo: "bar"),
324
+ a_collection_containing_exactly("zing"),
325
+ an_object_having_attributes(baz: "qux"),
326
+ ]
327
327
  expect(actual).to match_array(expected)
328
328
  TEST
329
329
  program =
@@ -379,12 +379,12 @@ RSpec.describe "Integration with RSpec's #match_array matcher",
379
379
  end
380
380
  end
381
381
 
382
- context "when the input value is a string" do
383
- it "produces the correct failure message when used in the positive" do
382
+ context "when the input value is not an array, and especially not a value that could be turned into one" do
383
+ it "produces the correct failure message, as though an array had been given" do
384
384
  as_both_colored_and_uncolored do |color_enabled|
385
385
  snippet = <<~TEST.strip
386
- expected = "Einie"
387
- actual = ["Marty", "Jennifer", "Doc"]
386
+ actual = [:marty, :jennifer, :doc]
387
+ expected = :einie
388
388
  expect(actual).to match_array(expected)
389
389
  TEST
390
390
  program = make_plain_test_program(snippet, color_enabled: color_enabled)
@@ -397,20 +397,20 @@ RSpec.describe "Integration with RSpec's #match_array matcher",
397
397
  proc do
398
398
  line do
399
399
  plain "Expected "
400
- actual %|["Marty", "Jennifer", "Doc"]|
400
+ actual "[:marty, :jennifer, :doc]"
401
401
  plain " to match array with "
402
- expected %|"Einie"|
402
+ expected ":einie"
403
403
  plain "."
404
404
  end
405
405
  end,
406
406
  diff:
407
407
  proc do
408
408
  plain_line " ["
409
- actual_line %|+ "Marty",|
410
- actual_line %|+ "Jennifer",|
411
- actual_line %|+ "Doc",|
412
- # expected_line %|- "Einie"| # TODO
413
- expected_line %|- "Einie",|
409
+ actual_line "+ :marty,"
410
+ actual_line "+ :jennifer,"
411
+ actual_line "+ :doc,"
412
+ # expected_line %|- :einie| # TODO
413
+ expected_line "- :einie,"
414
414
  plain_line " ]"
415
415
  end
416
416
  )