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
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            require "/Users/elliot/code/github/mine/super_diff/spec/config/zeus_plan.rb"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            zeus_plan = CustomZeusPlan.new
         | 
| 4 | 
            +
            zeus_plan.boot
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            zeus_plan.run_plain_test
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            RSpec.describe "test" do
         | 
| 9 | 
            +
              it "passes" do
         | 
| 10 | 
            +
                    expected = "This is a line\nAnd that's a line\nAnd there's a line too\n"
         | 
| 11 | 
            +
                actual = "This is a line\nSomething completely different\nAnd there's a line too\n"
         | 
| 12 | 
            +
                expect(actual).to eq(expected)
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
            end
         | 
| 15 | 
            +
             | 
| @@ -27,8 +27,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 27 27 |  | 
| 28 28 | 
             
                      #{
         | 
| 29 29 | 
             
                        colored do
         | 
| 30 | 
            -
                           | 
| 31 | 
            -
                           | 
| 30 | 
            +
                          expected_line %(Expected: 42)
         | 
| 31 | 
            +
                          actual_line   %(  Actual: 1)
         | 
| 32 32 | 
             
                        end
         | 
| 33 33 | 
             
                      }
         | 
| 34 34 | 
             
                    STR
         | 
| @@ -54,8 +54,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 54 54 |  | 
| 55 55 | 
             
                      #{
         | 
| 56 56 | 
             
                        colored do
         | 
| 57 | 
            -
                           | 
| 58 | 
            -
                           | 
| 57 | 
            +
                          expected_line %(Expected: :foo)
         | 
| 58 | 
            +
                          actual_line   %(  Actual: :bar)
         | 
| 59 59 | 
             
                        end
         | 
| 60 60 | 
             
                      }
         | 
| 61 61 | 
             
                    STR
         | 
| @@ -84,8 +84,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 84 84 |  | 
| 85 85 | 
             
                      #{
         | 
| 86 86 | 
             
                        colored do
         | 
| 87 | 
            -
                           | 
| 88 | 
            -
                           | 
| 87 | 
            +
                          expected_line %(Expected: "Marty")
         | 
| 88 | 
            +
                          actual_line   %(  Actual: "Jennifer")
         | 
| 89 89 | 
             
                        end
         | 
| 90 90 | 
             
                      }
         | 
| 91 91 | 
             
                    STR
         | 
| @@ -106,8 +106,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 106 106 |  | 
| 107 107 | 
             
                      #{
         | 
| 108 108 | 
             
                        colored do
         | 
| 109 | 
            -
                           | 
| 110 | 
            -
                           | 
| 109 | 
            +
                          expected_line %(Expected: "Marty")
         | 
| 110 | 
            +
                          actual_line   %(  Actual: "Marty McFly")
         | 
| 111 111 | 
             
                        end
         | 
| 112 112 | 
             
                      }
         | 
| 113 113 | 
             
                    STR
         | 
| @@ -128,8 +128,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 128 128 |  | 
| 129 129 | 
             
                      #{
         | 
| 130 130 | 
             
                        colored do
         | 
| 131 | 
            -
                           | 
| 132 | 
            -
                           | 
| 131 | 
            +
                          expected_line %(Expected: "Something entirely different")
         | 
| 132 | 
            +
                          actual_line   %(  Actual: "This is a line\\nAnd that's another line\\n")
         | 
| 133 133 | 
             
                        end
         | 
| 134 134 | 
             
                      }
         | 
| 135 135 | 
             
                    STR
         | 
| @@ -150,8 +150,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 150 150 |  | 
| 151 151 | 
             
                      #{
         | 
| 152 152 | 
             
                        colored do
         | 
| 153 | 
            -
                           | 
| 154 | 
            -
                           | 
| 153 | 
            +
                          expected_line %(Expected: "This is a line\\nAnd that's another line\\n")
         | 
| 154 | 
            +
                          actual_line   %(  Actual: "Something entirely different")
         | 
| 155 155 | 
             
                        end
         | 
| 156 156 | 
             
                      }
         | 
| 157 157 | 
             
                    STR
         | 
| @@ -172,8 +172,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 172 172 |  | 
| 173 173 | 
             
                      #{
         | 
| 174 174 | 
             
                        colored do
         | 
| 175 | 
            -
                           | 
| 176 | 
            -
                           | 
| 175 | 
            +
                          expected_line %(Expected: "This is a line\\nAnd that's a line\\nAnd there's a line too")
         | 
| 176 | 
            +
                          actual_line   %(  Actual: "This is a line\\nSomething completely different\\nAnd there's a line too")
         | 
| 177 177 | 
             
                        end
         | 
| 178 178 | 
             
                      }
         | 
| 179 179 |  | 
| @@ -181,10 +181,10 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 181 181 |  | 
| 182 182 | 
             
                      #{
         | 
| 183 183 | 
             
                        colored do
         | 
| 184 | 
            -
                          plain_line | 
| 185 | 
            -
                           | 
| 186 | 
            -
                           | 
| 187 | 
            -
                          plain_line | 
| 184 | 
            +
                          plain_line    %(  This is a line\\n)
         | 
| 185 | 
            +
                          expected_line %(- And that's a line\\n)
         | 
| 186 | 
            +
                          actual_line   %(+ Something completely different\\n)
         | 
| 187 | 
            +
                          plain_line    %(  And there's a line too)
         | 
| 188 188 | 
             
                        end
         | 
| 189 189 | 
             
                      }
         | 
| 190 190 | 
             
                    STR
         | 
| @@ -205,8 +205,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 205 205 |  | 
| 206 206 | 
             
                      #{
         | 
| 207 207 | 
             
                        colored do
         | 
| 208 | 
            -
                           | 
| 209 | 
            -
                           | 
| 208 | 
            +
                          expected_line %(Expected: "This is a line\\nAnd that's a line\\n")
         | 
| 209 | 
            +
                          actual_line   %(  Actual: "Something completely different\\nAnd something else too\\n")
         | 
| 210 210 | 
             
                        end
         | 
| 211 211 | 
             
                      }
         | 
| 212 212 |  | 
| @@ -214,10 +214,10 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 214 214 |  | 
| 215 215 | 
             
                      #{
         | 
| 216 216 | 
             
                        colored do
         | 
| 217 | 
            -
                           | 
| 218 | 
            -
                           | 
| 219 | 
            -
                           | 
| 220 | 
            -
                           | 
| 217 | 
            +
                          expected_line %(- This is a line\\n)
         | 
| 218 | 
            +
                          expected_line %(- And that's a line\\n)
         | 
| 219 | 
            +
                          actual_line   %(+ Something completely different\\n)
         | 
| 220 | 
            +
                          actual_line   %(+ And something else too\\n)
         | 
| 221 221 | 
             
                        end
         | 
| 222 222 | 
             
                      }
         | 
| 223 223 | 
             
                    STR
         | 
| @@ -264,12 +264,12 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 264 264 |  | 
| 265 265 | 
             
                      #{
         | 
| 266 266 | 
             
                        colored do
         | 
| 267 | 
            -
                           | 
| 267 | 
            +
                          expected_line do
         | 
| 268 268 | 
             
                            text "Expected: "
         | 
| 269 269 | 
             
                            text %("\\e[34mThis is a line\\e[0m\\n\\e[38;5;176mAnd that's a line\\e[0m\\n\\e[38;2;47;59;164mAnd there's a line too\\e[0m\\n")
         | 
| 270 270 | 
             
                          end
         | 
| 271 271 |  | 
| 272 | 
            -
                           | 
| 272 | 
            +
                          actual_line   do
         | 
| 273 273 | 
             
                            text "  Actual: "
         | 
| 274 274 | 
             
                            text %("\\e[34mThis is a line\\e[0m\\n\\e[38;5;176mSomething completely different\\e[0m\\n\\e[38;2;47;59;164mAnd there's a line too\\e[0m\\n")
         | 
| 275 275 | 
             
                          end
         | 
| @@ -280,10 +280,10 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 280 280 |  | 
| 281 281 | 
             
                      #{
         | 
| 282 282 | 
             
                        colored do
         | 
| 283 | 
            -
                          plain_line | 
| 284 | 
            -
                           | 
| 285 | 
            -
                           | 
| 286 | 
            -
                          plain_line | 
| 283 | 
            +
                          plain_line    %(  \\e[34mThis is a line\\e[0m\\n)
         | 
| 284 | 
            +
                          expected_line %(- \\e[38;5;176mAnd that's a line\\e[0m\\n)
         | 
| 285 | 
            +
                          actual_line   %(+ \\e[38;5;176mSomething completely different\\e[0m\\n)
         | 
| 286 | 
            +
                          plain_line    %(  \\e[38;2;47;59;164mAnd there's a line too\\e[0m\\n)
         | 
| 287 287 | 
             
                        end
         | 
| 288 288 | 
             
                      }
         | 
| 289 289 | 
             
                    STR
         | 
| @@ -315,8 +315,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 315 315 |  | 
| 316 316 | 
             
                      #{
         | 
| 317 317 | 
             
                        colored do
         | 
| 318 | 
            -
                           | 
| 319 | 
            -
                           | 
| 318 | 
            +
                          expected_line %(Expected: [1, 2, 3, 4])
         | 
| 319 | 
            +
                          actual_line   %(  Actual: [1, 2, 99, 4])
         | 
| 320 320 | 
             
                        end
         | 
| 321 321 | 
             
                      }
         | 
| 322 322 |  | 
| @@ -324,13 +324,13 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 324 324 |  | 
| 325 325 | 
             
                      #{
         | 
| 326 326 | 
             
                        colored do
         | 
| 327 | 
            -
                          plain_line | 
| 328 | 
            -
                          plain_line | 
| 329 | 
            -
                          plain_line | 
| 330 | 
            -
                           | 
| 331 | 
            -
                           | 
| 332 | 
            -
                          plain_line | 
| 333 | 
            -
                          plain_line | 
| 327 | 
            +
                          plain_line    %(  [)
         | 
| 328 | 
            +
                          plain_line    %(    1,)
         | 
| 329 | 
            +
                          plain_line    %(    2,)
         | 
| 330 | 
            +
                          expected_line %(-   3,)
         | 
| 331 | 
            +
                          actual_line   %(+   99,)
         | 
| 332 | 
            +
                          plain_line    %(    4)
         | 
| 333 | 
            +
                          plain_line    %(  ])
         | 
| 334 334 | 
             
                        end
         | 
| 335 335 | 
             
                      }
         | 
| 336 336 | 
             
                    STR
         | 
| @@ -351,8 +351,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 351 351 |  | 
| 352 352 | 
             
                      #{
         | 
| 353 353 | 
             
                        colored do
         | 
| 354 | 
            -
                           | 
| 355 | 
            -
                           | 
| 354 | 
            +
                          expected_line %(Expected: [:one, :fish, :two, :fish])
         | 
| 355 | 
            +
                          actual_line   %(  Actual: [:one, :FISH, :two, :fish])
         | 
| 356 356 | 
             
                        end
         | 
| 357 357 | 
             
                      }
         | 
| 358 358 |  | 
| @@ -360,13 +360,13 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 360 360 |  | 
| 361 361 | 
             
                      #{
         | 
| 362 362 | 
             
                        colored do
         | 
| 363 | 
            -
                          plain_line | 
| 364 | 
            -
                          plain_line | 
| 365 | 
            -
                           | 
| 366 | 
            -
                           | 
| 367 | 
            -
                          plain_line | 
| 368 | 
            -
                          plain_line | 
| 369 | 
            -
                          plain_line | 
| 363 | 
            +
                          plain_line    %(  [)
         | 
| 364 | 
            +
                          plain_line    %(    :one,)
         | 
| 365 | 
            +
                          expected_line %(-   :fish,)
         | 
| 366 | 
            +
                          actual_line   %(+   :FISH,)
         | 
| 367 | 
            +
                          plain_line    %(    :two,)
         | 
| 368 | 
            +
                          plain_line    %(    :fish)
         | 
| 369 | 
            +
                          plain_line    %(  ])
         | 
| 370 370 | 
             
                        end
         | 
| 371 371 | 
             
                      }
         | 
| 372 372 | 
             
                    STR
         | 
| @@ -387,8 +387,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 387 387 |  | 
| 388 388 | 
             
                      #{
         | 
| 389 389 | 
             
                        colored do
         | 
| 390 | 
            -
                           | 
| 391 | 
            -
                           | 
| 390 | 
            +
                          expected_line %(Expected: ["sausage", "egg", "cheese"])
         | 
| 391 | 
            +
                          actual_line   %(  Actual: ["bacon", "egg", "cheese"])
         | 
| 392 392 | 
             
                        end
         | 
| 393 393 | 
             
                      }
         | 
| 394 394 |  | 
| @@ -396,12 +396,12 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 396 396 |  | 
| 397 397 | 
             
                      #{
         | 
| 398 398 | 
             
                        colored do
         | 
| 399 | 
            -
                          plain_line | 
| 400 | 
            -
                           | 
| 401 | 
            -
                           | 
| 402 | 
            -
                          plain_line | 
| 403 | 
            -
                          plain_line | 
| 404 | 
            -
                          plain_line | 
| 399 | 
            +
                          plain_line    %(  [)
         | 
| 400 | 
            +
                          expected_line %(-   "sausage",)
         | 
| 401 | 
            +
                          actual_line   %(+   "bacon",)
         | 
| 402 | 
            +
                          plain_line    %(    "egg",)
         | 
| 403 | 
            +
                          plain_line    %(    "cheese")
         | 
| 404 | 
            +
                          plain_line    %(  ])
         | 
| 405 405 | 
             
                        end
         | 
| 406 406 | 
             
                      }
         | 
| 407 407 | 
             
                    STR
         | 
| @@ -428,8 +428,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 428 428 |  | 
| 429 429 | 
             
                      #{
         | 
| 430 430 | 
             
                        colored do
         | 
| 431 | 
            -
                           | 
| 432 | 
            -
                           | 
| 431 | 
            +
                          expected_line %(Expected: [#<SuperDiff::Test::Person name: "Marty", age: 18>, #<SuperDiff::Test::Person name: "Jennifer", age: 17>])
         | 
| 432 | 
            +
                          actual_line   %(  Actual: [#<SuperDiff::Test::Person name: "Marty", age: 18>, #<SuperDiff::Test::Person name: "Doc", age: 50>])
         | 
| 433 433 | 
             
                        end
         | 
| 434 434 | 
             
                      }
         | 
| 435 435 |  | 
| @@ -437,18 +437,18 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 437 437 |  | 
| 438 438 | 
             
                      #{
         | 
| 439 439 | 
             
                        colored do
         | 
| 440 | 
            -
                          plain_line | 
| 441 | 
            -
                          plain_line | 
| 442 | 
            -
                          plain_line | 
| 443 | 
            -
                          plain_line | 
| 444 | 
            -
                          plain_line | 
| 445 | 
            -
                          plain_line | 
| 446 | 
            -
                           | 
| 447 | 
            -
                           | 
| 448 | 
            -
                           | 
| 449 | 
            -
                           | 
| 450 | 
            -
                          plain_line | 
| 451 | 
            -
                          plain_line | 
| 440 | 
            +
                          plain_line    %(  [)
         | 
| 441 | 
            +
                          plain_line    %(    #<SuperDiff::Test::Person {)
         | 
| 442 | 
            +
                          plain_line    %(      name: "Marty",)
         | 
| 443 | 
            +
                          plain_line    %(      age: 18)
         | 
| 444 | 
            +
                          plain_line    %(    }>,)
         | 
| 445 | 
            +
                          plain_line    %(    #<SuperDiff::Test::Person {)
         | 
| 446 | 
            +
                          expected_line %(-     name: "Jennifer",)
         | 
| 447 | 
            +
                          actual_line   %(+     name: "Doc",)
         | 
| 448 | 
            +
                          expected_line %(-     age: 17)
         | 
| 449 | 
            +
                          actual_line   %(+     age: 50)
         | 
| 450 | 
            +
                          plain_line    %(    }>)
         | 
| 451 | 
            +
                          plain_line    %(  ])
         | 
| 452 452 | 
             
                        end
         | 
| 453 453 | 
             
                      }
         | 
| 454 454 | 
             
                    STR
         | 
| @@ -469,8 +469,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 469 469 |  | 
| 470 470 | 
             
                      #{
         | 
| 471 471 | 
             
                        colored do
         | 
| 472 | 
            -
                           | 
| 473 | 
            -
                           | 
| 472 | 
            +
                          expected_line %(Expected: ["bread"])
         | 
| 473 | 
            +
                          actual_line   %(  Actual: ["bread", "eggs", "milk"])
         | 
| 474 474 | 
             
                        end
         | 
| 475 475 | 
             
                      }
         | 
| 476 476 |  | 
| @@ -478,11 +478,11 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 478 478 |  | 
| 479 479 | 
             
                      #{
         | 
| 480 480 | 
             
                        colored do
         | 
| 481 | 
            -
                          plain_line | 
| 482 | 
            -
                          plain_line | 
| 483 | 
            -
                           | 
| 484 | 
            -
                           | 
| 485 | 
            -
                          plain_line | 
| 481 | 
            +
                          plain_line    %(  [)
         | 
| 482 | 
            +
                          plain_line    %(    "bread",)
         | 
| 483 | 
            +
                          actual_line   %(+   "eggs",)
         | 
| 484 | 
            +
                          actual_line   %(+   "milk")
         | 
| 485 | 
            +
                          plain_line    %(  ])
         | 
| 486 486 | 
             
                        end
         | 
| 487 487 | 
             
                      }
         | 
| 488 488 | 
             
                    STR
         | 
| @@ -503,8 +503,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 503 503 |  | 
| 504 504 | 
             
                      #{
         | 
| 505 505 | 
             
                        colored do
         | 
| 506 | 
            -
                           | 
| 507 | 
            -
                           | 
| 506 | 
            +
                          expected_line %(Expected: ["bread", "eggs", "milk"])
         | 
| 507 | 
            +
                          actual_line   %(  Actual: ["bread"])
         | 
| 508 508 | 
             
                        end
         | 
| 509 509 | 
             
                      }
         | 
| 510 510 |  | 
| @@ -512,11 +512,11 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 512 512 |  | 
| 513 513 | 
             
                      #{
         | 
| 514 514 | 
             
                        colored do
         | 
| 515 | 
            -
                          plain_line | 
| 516 | 
            -
                          plain_line | 
| 517 | 
            -
                           | 
| 518 | 
            -
                           | 
| 519 | 
            -
                          plain_line | 
| 515 | 
            +
                          plain_line    %(  [)
         | 
| 516 | 
            +
                          plain_line    %(    "bread")
         | 
| 517 | 
            +
                          expected_line %(-   "eggs",)
         | 
| 518 | 
            +
                          expected_line %(-   "milk")
         | 
| 519 | 
            +
                          plain_line    %(  ])
         | 
| 520 520 | 
             
                        end
         | 
| 521 521 | 
             
                      }
         | 
| 522 522 | 
             
                    STR
         | 
| @@ -537,8 +537,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 537 537 |  | 
| 538 538 | 
             
                      #{
         | 
| 539 539 | 
             
                        colored do
         | 
| 540 | 
            -
                           | 
| 541 | 
            -
                           | 
| 540 | 
            +
                          expected_line %(Expected: ["milk"])
         | 
| 541 | 
            +
                          actual_line   %(  Actual: ["bread", "eggs", "milk"])
         | 
| 542 542 | 
             
                        end
         | 
| 543 543 | 
             
                      }
         | 
| 544 544 |  | 
| @@ -546,11 +546,11 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 546 546 |  | 
| 547 547 | 
             
                      #{
         | 
| 548 548 | 
             
                        colored do
         | 
| 549 | 
            -
                          plain_line | 
| 550 | 
            -
                           | 
| 551 | 
            -
                           | 
| 552 | 
            -
                          plain_line | 
| 553 | 
            -
                          plain_line | 
| 549 | 
            +
                          plain_line    %(  [)
         | 
| 550 | 
            +
                          actual_line   %(+   "bread",)
         | 
| 551 | 
            +
                          actual_line   %(+   "eggs",)
         | 
| 552 | 
            +
                          plain_line    %(    "milk")
         | 
| 553 | 
            +
                          plain_line    %(  ])
         | 
| 554 554 | 
             
                        end
         | 
| 555 555 | 
             
                      }
         | 
| 556 556 | 
             
                    STR
         | 
| @@ -571,8 +571,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 571 571 |  | 
| 572 572 | 
             
                      #{
         | 
| 573 573 | 
             
                        colored do
         | 
| 574 | 
            -
                           | 
| 575 | 
            -
                           | 
| 574 | 
            +
                          expected_line %(Expected: ["bread", "eggs", "milk"])
         | 
| 575 | 
            +
                          actual_line   %(  Actual: ["milk"])
         | 
| 576 576 | 
             
                        end
         | 
| 577 577 | 
             
                      }
         | 
| 578 578 |  | 
| @@ -580,11 +580,11 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 580 580 |  | 
| 581 581 | 
             
                      #{
         | 
| 582 582 | 
             
                        colored do
         | 
| 583 | 
            -
                          plain_line | 
| 584 | 
            -
                           | 
| 585 | 
            -
                           | 
| 586 | 
            -
                          plain_line | 
| 587 | 
            -
                          plain_line | 
| 583 | 
            +
                          plain_line    %(  [)
         | 
| 584 | 
            +
                          expected_line %(-   "bread",)
         | 
| 585 | 
            +
                          expected_line %(-   "eggs",)
         | 
| 586 | 
            +
                          plain_line    %(    "milk")
         | 
| 587 | 
            +
                          plain_line    %(  ])
         | 
| 588 588 | 
             
                        end
         | 
| 589 589 | 
             
                      }
         | 
| 590 590 | 
             
                    STR
         | 
| @@ -605,8 +605,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 605 605 |  | 
| 606 606 | 
             
                      #{
         | 
| 607 607 | 
             
                        colored do
         | 
| 608 | 
            -
                           | 
| 609 | 
            -
                           | 
| 608 | 
            +
                          expected_line %(Expected: [1, 2, [:a, :b, :c], 4])
         | 
| 609 | 
            +
                          actual_line   %(  Actual: [1, 2, [:a, :x, :c], 4])
         | 
| 610 610 | 
             
                        end
         | 
| 611 611 | 
             
                      }
         | 
| 612 612 |  | 
| @@ -614,17 +614,17 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 614 614 |  | 
| 615 615 | 
             
                      #{
         | 
| 616 616 | 
             
                        colored do
         | 
| 617 | 
            -
                          plain_line | 
| 618 | 
            -
                          plain_line | 
| 619 | 
            -
                          plain_line | 
| 620 | 
            -
                          plain_line | 
| 621 | 
            -
                          plain_line | 
| 622 | 
            -
                           | 
| 623 | 
            -
                           | 
| 624 | 
            -
                          plain_line | 
| 625 | 
            -
                          plain_line | 
| 626 | 
            -
                          plain_line | 
| 627 | 
            -
                          plain_line | 
| 617 | 
            +
                          plain_line    %(  [)
         | 
| 618 | 
            +
                          plain_line    %(    1,)
         | 
| 619 | 
            +
                          plain_line    %(    2,)
         | 
| 620 | 
            +
                          plain_line    %(    [)
         | 
| 621 | 
            +
                          plain_line    %(      :a,)
         | 
| 622 | 
            +
                          expected_line %(-     :b,)
         | 
| 623 | 
            +
                          actual_line   %(+     :x,)
         | 
| 624 | 
            +
                          plain_line    %(      :c)
         | 
| 625 | 
            +
                          plain_line    %(    ],)
         | 
| 626 | 
            +
                          plain_line    %(    4)
         | 
| 627 | 
            +
                          plain_line    %(  ])
         | 
| 628 628 | 
             
                        end
         | 
| 629 629 | 
             
                      }
         | 
| 630 630 | 
             
                    STR
         | 
| @@ -645,8 +645,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 645 645 |  | 
| 646 646 | 
             
                      #{
         | 
| 647 647 | 
             
                        colored do
         | 
| 648 | 
            -
                           | 
| 649 | 
            -
                           | 
| 648 | 
            +
                          expected_line %(Expected: [1, 2, { foo: "bar", baz: "qux" }, 4])
         | 
| 649 | 
            +
                          actual_line   %(  Actual: [1, 2, { foo: "bar", baz: "qox" }, 4])
         | 
| 650 650 | 
             
                        end
         | 
| 651 651 | 
             
                      }
         | 
| 652 652 |  | 
| @@ -654,16 +654,16 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 654 654 |  | 
| 655 655 | 
             
                      #{
         | 
| 656 656 | 
             
                        colored do
         | 
| 657 | 
            -
                          plain_line | 
| 658 | 
            -
                          plain_line | 
| 659 | 
            -
                          plain_line | 
| 660 | 
            -
                          plain_line | 
| 661 | 
            -
                          plain_line | 
| 662 | 
            -
                           | 
| 663 | 
            -
                           | 
| 664 | 
            -
                          plain_line | 
| 665 | 
            -
                          plain_line | 
| 666 | 
            -
                          plain_line | 
| 657 | 
            +
                          plain_line    %(  [)
         | 
| 658 | 
            +
                          plain_line    %(    1,)
         | 
| 659 | 
            +
                          plain_line    %(    2,)
         | 
| 660 | 
            +
                          plain_line    %(    {)
         | 
| 661 | 
            +
                          plain_line    %(      foo: "bar",)
         | 
| 662 | 
            +
                          expected_line %(-     baz: "qux")
         | 
| 663 | 
            +
                          actual_line   %(+     baz: "qox")
         | 
| 664 | 
            +
                          plain_line    %(    },)
         | 
| 665 | 
            +
                          plain_line    %(    4)
         | 
| 666 | 
            +
                          plain_line    %(  ])
         | 
| 667 667 | 
             
                        end
         | 
| 668 668 | 
             
                      }
         | 
| 669 669 | 
             
                    STR
         | 
| @@ -689,8 +689,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 689 689 |  | 
| 690 690 | 
             
                      #{
         | 
| 691 691 | 
             
                        colored do
         | 
| 692 | 
            -
                           | 
| 693 | 
            -
                           | 
| 692 | 
            +
                          expected_line %(Expected: [1, 2, #<SuperDiff::Test::Person name: "Marty", age: 18>, 4])
         | 
| 693 | 
            +
                          actual_line   %(  Actual: [1, 2, #<SuperDiff::Test::Person name: "Doc", age: 50>, 4])
         | 
| 694 694 | 
             
                        end
         | 
| 695 695 | 
             
                      }
         | 
| 696 696 |  | 
| @@ -698,17 +698,17 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 698 698 |  | 
| 699 699 | 
             
                      #{
         | 
| 700 700 | 
             
                        colored do
         | 
| 701 | 
            -
                          plain_line | 
| 702 | 
            -
                          plain_line | 
| 703 | 
            -
                          plain_line | 
| 704 | 
            -
                          plain_line | 
| 705 | 
            -
                           | 
| 706 | 
            -
                           | 
| 707 | 
            -
                           | 
| 708 | 
            -
                           | 
| 709 | 
            -
                          plain_line | 
| 710 | 
            -
                          plain_line | 
| 711 | 
            -
                          plain_line | 
| 701 | 
            +
                          plain_line    %(  [)
         | 
| 702 | 
            +
                          plain_line    %(    1,)
         | 
| 703 | 
            +
                          plain_line    %(    2,)
         | 
| 704 | 
            +
                          plain_line    %(    #<SuperDiff::Test::Person {)
         | 
| 705 | 
            +
                          expected_line %(-     name: "Marty",)
         | 
| 706 | 
            +
                          actual_line   %(+     name: "Doc",)
         | 
| 707 | 
            +
                          expected_line %(-     age: 18)
         | 
| 708 | 
            +
                          actual_line   %(+     age: 50)
         | 
| 709 | 
            +
                          plain_line    %(    }>,)
         | 
| 710 | 
            +
                          plain_line    %(    4)
         | 
| 711 | 
            +
                          plain_line    %(  ])
         | 
| 712 712 | 
             
                        end
         | 
| 713 713 | 
             
                      }
         | 
| 714 714 | 
             
                    STR
         | 
| @@ -749,8 +749,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 749 749 |  | 
| 750 750 | 
             
                      #{
         | 
| 751 751 | 
             
                        colored do
         | 
| 752 | 
            -
                           | 
| 753 | 
            -
                           | 
| 752 | 
            +
                          expected_line %(Expected: [[:h1, [:span, [:text, "Hello world"]], { class: "header", data: { "sticky" => true } }]])
         | 
| 753 | 
            +
                          actual_line   %(  Actual: [[:h2, [:span, [:text, "Goodbye world"]], { id: "hero", class: "header", data: { "sticky" => false, :role => "deprecated" } }], :br])
         | 
| 754 754 | 
             
                        end
         | 
| 755 755 | 
             
                      }
         | 
| 756 756 |  | 
| @@ -758,30 +758,30 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 758 758 |  | 
| 759 759 | 
             
                      #{
         | 
| 760 760 | 
             
                        colored do
         | 
| 761 | 
            -
                          plain_line | 
| 762 | 
            -
                          plain_line | 
| 763 | 
            -
                           | 
| 764 | 
            -
                           | 
| 765 | 
            -
                          plain_line | 
| 766 | 
            -
                          plain_line | 
| 767 | 
            -
                          plain_line | 
| 768 | 
            -
                          plain_line | 
| 769 | 
            -
                           | 
| 770 | 
            -
                           | 
| 771 | 
            -
                          plain_line | 
| 772 | 
            -
                          plain_line | 
| 773 | 
            -
                          plain_line | 
| 774 | 
            -
                           | 
| 775 | 
            -
                          plain_line | 
| 776 | 
            -
                          plain_line | 
| 777 | 
            -
                           | 
| 778 | 
            -
                           | 
| 779 | 
            -
                           | 
| 780 | 
            -
                          plain_line | 
| 781 | 
            -
                          plain_line | 
| 782 | 
            -
                          plain_line | 
| 783 | 
            -
                           | 
| 784 | 
            -
                          plain_line | 
| 761 | 
            +
                          plain_line    %(  [)
         | 
| 762 | 
            +
                          plain_line    %(    [)
         | 
| 763 | 
            +
                          expected_line %(-     :h1,)
         | 
| 764 | 
            +
                          actual_line   %(+     :h2,)
         | 
| 765 | 
            +
                          plain_line    %(      [)
         | 
| 766 | 
            +
                          plain_line    %(        :span,)
         | 
| 767 | 
            +
                          plain_line    %(        [)
         | 
| 768 | 
            +
                          plain_line    %(          :text,)
         | 
| 769 | 
            +
                          expected_line %(-         "Hello world")
         | 
| 770 | 
            +
                          actual_line   %(+         "Goodbye world")
         | 
| 771 | 
            +
                          plain_line    %(        ])
         | 
| 772 | 
            +
                          plain_line    %(      ],)
         | 
| 773 | 
            +
                          plain_line    %(      {)
         | 
| 774 | 
            +
                          actual_line   %(+       id: "hero",)
         | 
| 775 | 
            +
                          plain_line    %(        class: "header",)
         | 
| 776 | 
            +
                          plain_line    %(        data: {)
         | 
| 777 | 
            +
                          expected_line %(-         "sticky" => true)
         | 
| 778 | 
            +
                          actual_line   %(+         "sticky" => false,)
         | 
| 779 | 
            +
                          actual_line   %(+         role: "deprecated")
         | 
| 780 | 
            +
                          plain_line    %(        })
         | 
| 781 | 
            +
                          plain_line    %(      })
         | 
| 782 | 
            +
                          plain_line    %(    ],)
         | 
| 783 | 
            +
                          actual_line   %(+   :br)
         | 
| 784 | 
            +
                          plain_line    %(  ])
         | 
| 785 785 | 
             
                        end
         | 
| 786 786 | 
             
                      }
         | 
| 787 787 | 
             
                    STR
         | 
| @@ -813,8 +813,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 813 813 |  | 
| 814 814 | 
             
                      #{
         | 
| 815 815 | 
             
                        colored do
         | 
| 816 | 
            -
                           | 
| 817 | 
            -
                           | 
| 816 | 
            +
                          expected_line %(Expected: { tall: 12, grande: 19, venti: 20 })
         | 
| 817 | 
            +
                          actual_line   %(  Actual: { tall: 12, grande: 16, venti: 20 })
         | 
| 818 818 | 
             
                        end
         | 
| 819 819 | 
             
                      }
         | 
| 820 820 |  | 
| @@ -822,12 +822,12 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 822 822 |  | 
| 823 823 | 
             
                      #{
         | 
| 824 824 | 
             
                        colored do
         | 
| 825 | 
            -
                          plain_line | 
| 826 | 
            -
                          plain_line | 
| 827 | 
            -
                           | 
| 828 | 
            -
                           | 
| 829 | 
            -
                          plain_line | 
| 830 | 
            -
                          plain_line | 
| 825 | 
            +
                          plain_line    %(  {)
         | 
| 826 | 
            +
                          plain_line    %(    tall: 12,)
         | 
| 827 | 
            +
                          expected_line %(-   grande: 19,)
         | 
| 828 | 
            +
                          actual_line   %(+   grande: 16,)
         | 
| 829 | 
            +
                          plain_line    %(    venti: 20)
         | 
| 830 | 
            +
                          plain_line    %(  })
         | 
| 831 831 | 
             
                        end
         | 
| 832 832 | 
             
                      }
         | 
| 833 833 | 
             
                    STR
         | 
| @@ -848,8 +848,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 848 848 |  | 
| 849 849 | 
             
                      #{
         | 
| 850 850 | 
             
                        colored do
         | 
| 851 | 
            -
                           | 
| 852 | 
            -
                           | 
| 851 | 
            +
                          expected_line %(Expected: { "tall" => 12, "grande" => 19, "venti" => 20 })
         | 
| 852 | 
            +
                          actual_line   %(  Actual: { "tall" => 12, "grande" => 16, "venti" => 20 })
         | 
| 853 853 | 
             
                        end
         | 
| 854 854 | 
             
                      }
         | 
| 855 855 |  | 
| @@ -857,12 +857,12 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 857 857 |  | 
| 858 858 | 
             
                      #{
         | 
| 859 859 | 
             
                        colored do
         | 
| 860 | 
            -
                          plain_line | 
| 861 | 
            -
                          plain_line | 
| 862 | 
            -
                           | 
| 863 | 
            -
                           | 
| 864 | 
            -
                          plain_line | 
| 865 | 
            -
                          plain_line | 
| 860 | 
            +
                          plain_line    %(  {)
         | 
| 861 | 
            +
                          plain_line    %(    "tall" => 12,)
         | 
| 862 | 
            +
                          expected_line %(-   "grande" => 19,)
         | 
| 863 | 
            +
                          actual_line   %(+   "grande" => 16,)
         | 
| 864 | 
            +
                          plain_line    %(    "venti" => 20)
         | 
| 865 | 
            +
                          plain_line    %(  })
         | 
| 866 866 | 
             
                        end
         | 
| 867 867 | 
             
                      }
         | 
| 868 868 | 
             
                    STR
         | 
| @@ -883,8 +883,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 883 883 |  | 
| 884 884 | 
             
                      #{
         | 
| 885 885 | 
             
                        colored do
         | 
| 886 | 
            -
                           | 
| 887 | 
            -
                           | 
| 886 | 
            +
                          expected_line %(Expected: { tall: :small, grande: :grand, venti: :large })
         | 
| 887 | 
            +
                          actual_line   %(  Actual: { tall: :small, grande: :medium, venti: :large })
         | 
| 888 888 | 
             
                        end
         | 
| 889 889 | 
             
                      }
         | 
| 890 890 |  | 
| @@ -892,12 +892,12 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 892 892 |  | 
| 893 893 | 
             
                      #{
         | 
| 894 894 | 
             
                        colored do
         | 
| 895 | 
            -
                          plain_line | 
| 896 | 
            -
                          plain_line | 
| 897 | 
            -
                           | 
| 898 | 
            -
                           | 
| 899 | 
            -
                          plain_line | 
| 900 | 
            -
                          plain_line | 
| 895 | 
            +
                          plain_line    %(  {)
         | 
| 896 | 
            +
                          plain_line    %(    tall: :small,)
         | 
| 897 | 
            +
                          expected_line %(-   grande: :grand,)
         | 
| 898 | 
            +
                          actual_line   %(+   grande: :medium,)
         | 
| 899 | 
            +
                          plain_line    %(    venti: :large)
         | 
| 900 | 
            +
                          plain_line    %(  })
         | 
| 901 901 | 
             
                        end
         | 
| 902 902 | 
             
                      }
         | 
| 903 903 | 
             
                    STR
         | 
| @@ -918,8 +918,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 918 918 |  | 
| 919 919 | 
             
                      #{
         | 
| 920 920 | 
             
                        colored do
         | 
| 921 | 
            -
                           | 
| 922 | 
            -
                           | 
| 921 | 
            +
                          expected_line %(Expected: { tall: "small", grande: "grand", venti: "large" })
         | 
| 922 | 
            +
                          actual_line   %(  Actual: { tall: "small", grande: "medium", venti: "large" })
         | 
| 923 923 | 
             
                        end
         | 
| 924 924 | 
             
                      }
         | 
| 925 925 |  | 
| @@ -927,12 +927,12 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 927 927 |  | 
| 928 928 | 
             
                      #{
         | 
| 929 929 | 
             
                        colored do
         | 
| 930 | 
            -
                          plain_line | 
| 931 | 
            -
                          plain_line | 
| 932 | 
            -
                           | 
| 933 | 
            -
                           | 
| 934 | 
            -
                          plain_line | 
| 935 | 
            -
                          plain_line | 
| 930 | 
            +
                          plain_line    %(  {)
         | 
| 931 | 
            +
                          plain_line    %(    tall: "small",)
         | 
| 932 | 
            +
                          expected_line %(-   grande: "grand",)
         | 
| 933 | 
            +
                          actual_line   %(+   grande: "medium",)
         | 
| 934 | 
            +
                          plain_line    %(    venti: "large")
         | 
| 935 | 
            +
                          plain_line    %(  })
         | 
| 936 936 | 
             
                        end
         | 
| 937 937 | 
             
                      }
         | 
| 938 938 | 
             
                    STR
         | 
| @@ -959,8 +959,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 959 959 |  | 
| 960 960 | 
             
                      #{
         | 
| 961 961 | 
             
                        colored do
         | 
| 962 | 
            -
                           | 
| 963 | 
            -
                           | 
| 962 | 
            +
                          expected_line %(Expected: { steve: #<SuperDiff::Test::Person name: "Jobs", age: 30>, susan: #<SuperDiff::Test::Person name: "Kare", age: 27> })
         | 
| 963 | 
            +
                          actual_line   %(  Actual: { steve: #<SuperDiff::Test::Person name: "Wozniak", age: 33>, susan: #<SuperDiff::Test::Person name: "Kare", age: 27> })
         | 
| 964 964 | 
             
                        end
         | 
| 965 965 | 
             
                      }
         | 
| 966 966 |  | 
| @@ -968,18 +968,18 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 968 968 |  | 
| 969 969 | 
             
                      #{
         | 
| 970 970 | 
             
                        colored do
         | 
| 971 | 
            -
                          plain_line | 
| 972 | 
            -
                          plain_line | 
| 973 | 
            -
                           | 
| 974 | 
            -
                           | 
| 975 | 
            -
                           | 
| 976 | 
            -
                           | 
| 977 | 
            -
                          plain_line | 
| 978 | 
            -
                          plain_line | 
| 979 | 
            -
                          plain_line | 
| 980 | 
            -
                          plain_line | 
| 981 | 
            -
                          plain_line | 
| 982 | 
            -
                          plain_line | 
| 971 | 
            +
                          plain_line    %(  {)
         | 
| 972 | 
            +
                          plain_line    %(    steve: #<SuperDiff::Test::Person {)
         | 
| 973 | 
            +
                          expected_line %(-     name: "Jobs",)
         | 
| 974 | 
            +
                          actual_line   %(+     name: "Wozniak",)
         | 
| 975 | 
            +
                          expected_line %(-     age: 30)
         | 
| 976 | 
            +
                          actual_line   %(+     age: 33)
         | 
| 977 | 
            +
                          plain_line    %(    }>,)
         | 
| 978 | 
            +
                          plain_line    %(    susan: #<SuperDiff::Test::Person {)
         | 
| 979 | 
            +
                          plain_line    %(      name: "Kare",)
         | 
| 980 | 
            +
                          plain_line    %(      age: 27)
         | 
| 981 | 
            +
                          plain_line    %(    }>)
         | 
| 982 | 
            +
                          plain_line    %(  })
         | 
| 983 983 | 
             
                        end
         | 
| 984 984 | 
             
                      }
         | 
| 985 985 | 
             
                    STR
         | 
| @@ -1000,8 +1000,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1000 1000 |  | 
| 1001 1001 | 
             
                      #{
         | 
| 1002 1002 | 
             
                        colored do
         | 
| 1003 | 
            -
                           | 
| 1004 | 
            -
                           | 
| 1003 | 
            +
                          expected_line %(Expected: { latte: 4.5 })
         | 
| 1004 | 
            +
                          actual_line   %(  Actual: { latte: 4.5, mocha: 3.5, cortado: 3 })
         | 
| 1005 1005 | 
             
                        end
         | 
| 1006 1006 | 
             
                      }
         | 
| 1007 1007 |  | 
| @@ -1009,11 +1009,11 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1009 1009 |  | 
| 1010 1010 | 
             
                      #{
         | 
| 1011 1011 | 
             
                        colored do
         | 
| 1012 | 
            -
                          plain_line | 
| 1013 | 
            -
                          plain_line | 
| 1014 | 
            -
                           | 
| 1015 | 
            -
                           | 
| 1016 | 
            -
                          plain_line | 
| 1012 | 
            +
                          plain_line    %(  {)
         | 
| 1013 | 
            +
                          plain_line    %(    latte: 4.5,)
         | 
| 1014 | 
            +
                          actual_line   %(+   mocha: 3.5,)
         | 
| 1015 | 
            +
                          actual_line   %(+   cortado: 3)
         | 
| 1016 | 
            +
                          plain_line    %(  })
         | 
| 1017 1017 | 
             
                        end
         | 
| 1018 1018 | 
             
                      }
         | 
| 1019 1019 | 
             
                    STR
         | 
| @@ -1034,8 +1034,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1034 1034 |  | 
| 1035 1035 | 
             
                      #{
         | 
| 1036 1036 | 
             
                        colored do
         | 
| 1037 | 
            -
                           | 
| 1038 | 
            -
                           | 
| 1037 | 
            +
                          expected_line %(Expected: { latte: 4.5, mocha: 3.5, cortado: 3 })
         | 
| 1038 | 
            +
                          actual_line   %(  Actual: { latte: 4.5 })
         | 
| 1039 1039 | 
             
                        end
         | 
| 1040 1040 | 
             
                      }
         | 
| 1041 1041 |  | 
| @@ -1043,11 +1043,11 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1043 1043 |  | 
| 1044 1044 | 
             
                      #{
         | 
| 1045 1045 | 
             
                        colored do
         | 
| 1046 | 
            -
                          plain_line | 
| 1047 | 
            -
                          plain_line | 
| 1048 | 
            -
                           | 
| 1049 | 
            -
                           | 
| 1050 | 
            -
                          plain_line | 
| 1046 | 
            +
                          plain_line    %(  {)
         | 
| 1047 | 
            +
                          plain_line    %(    latte: 4.5)
         | 
| 1048 | 
            +
                          expected_line %(-   mocha: 3.5,)
         | 
| 1049 | 
            +
                          expected_line %(-   cortado: 3)
         | 
| 1050 | 
            +
                          plain_line    %(  })
         | 
| 1051 1051 | 
             
                        end
         | 
| 1052 1052 | 
             
                      }
         | 
| 1053 1053 | 
             
                    STR
         | 
| @@ -1099,8 +1099,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1099 1099 |  | 
| 1100 1100 | 
             
                        #{
         | 
| 1101 1101 | 
             
                          colored do
         | 
| 1102 | 
            -
                             | 
| 1103 | 
            -
                             | 
| 1102 | 
            +
                            expected_line %(Expected: { listed_count: 37009, created_at: "Tue Jan 13 19:28:24 +0000 2009", favourites_count: 38, geo_enabled: false, verified: true, statuses_count: 273860, media_count: 51044, contributors_enabled: false, profile_background_color: "FFF1E0", profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png", profile_background_tile: false, profile_image_url: "http://pbs.twimg.com/profile_images/931156393108885504/EqEMtLhM_normal.jpg", profile_image_url_https: "https://pbs.twimg.com/profile_images/931156393108885504/EqEMtLhM_normal.jpg", profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592" })
         | 
| 1103 | 
            +
                            actual_line   %(  Actual: { listed_count: 37009, created_at: "Tue Jan 13 19:28:24 +0000 2009", favourites_count: 38, utc_offset: nil, time_zone: nil, statuses_count: 273860, media_count: 51044, contributors_enabled: false, is_translator: false, is_translation_enabled: false, profile_background_color: "FFF1E0", profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png", profile_background_tile: false, profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592" })
         | 
| 1104 1104 | 
             
                          end
         | 
| 1105 1105 | 
             
                        }
         | 
| 1106 1106 |  | 
| @@ -1108,26 +1108,26 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1108 1108 |  | 
| 1109 1109 | 
             
                        #{
         | 
| 1110 1110 | 
             
                          colored do
         | 
| 1111 | 
            -
                            plain_line | 
| 1112 | 
            -
                            plain_line | 
| 1113 | 
            -
                            plain_line | 
| 1114 | 
            -
                            plain_line | 
| 1115 | 
            -
                             | 
| 1116 | 
            -
                             | 
| 1117 | 
            -
                             | 
| 1118 | 
            -
                             | 
| 1119 | 
            -
                            plain_line | 
| 1120 | 
            -
                            plain_line | 
| 1121 | 
            -
                            plain_line | 
| 1122 | 
            -
                             | 
| 1123 | 
            -
                             | 
| 1124 | 
            -
                            plain_line | 
| 1125 | 
            -
                            plain_line | 
| 1126 | 
            -
                            plain_line | 
| 1127 | 
            -
                             | 
| 1128 | 
            -
                             | 
| 1129 | 
            -
                            plain_line | 
| 1130 | 
            -
                            plain_line | 
| 1111 | 
            +
                            plain_line    %(  {)
         | 
| 1112 | 
            +
                            plain_line    %(    listed_count: 37009,)
         | 
| 1113 | 
            +
                            plain_line    %(    created_at: "Tue Jan 13 19:28:24 +0000 2009",)
         | 
| 1114 | 
            +
                            plain_line    %(    favourites_count: 38,)
         | 
| 1115 | 
            +
                            expected_line %(-   geo_enabled: false,)
         | 
| 1116 | 
            +
                            expected_line %(-   verified: true,)
         | 
| 1117 | 
            +
                            actual_line   %(+   utc_offset: nil,)
         | 
| 1118 | 
            +
                            actual_line   %(+   time_zone: nil,)
         | 
| 1119 | 
            +
                            plain_line    %(    statuses_count: 273860,)
         | 
| 1120 | 
            +
                            plain_line    %(    media_count: 51044,)
         | 
| 1121 | 
            +
                            plain_line    %(    contributors_enabled: false,)
         | 
| 1122 | 
            +
                            actual_line   %(+   is_translator: false,)
         | 
| 1123 | 
            +
                            actual_line   %(+   is_translation_enabled: false,)
         | 
| 1124 | 
            +
                            plain_line    %(    profile_background_color: "FFF1E0",)
         | 
| 1125 | 
            +
                            plain_line    %(    profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png",)
         | 
| 1126 | 
            +
                            plain_line    %(    profile_background_tile: false,)
         | 
| 1127 | 
            +
                            expected_line %(-   profile_image_url: "http://pbs.twimg.com/profile_images/931156393108885504/EqEMtLhM_normal.jpg",)
         | 
| 1128 | 
            +
                            expected_line %(-   profile_image_url_https: "https://pbs.twimg.com/profile_images/931156393108885504/EqEMtLhM_normal.jpg",)
         | 
| 1129 | 
            +
                            plain_line    %(    profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592")
         | 
| 1130 | 
            +
                            plain_line    %(  })
         | 
| 1131 1131 | 
             
                          end
         | 
| 1132 1132 | 
             
                        }
         | 
| 1133 1133 | 
             
                      STR
         | 
| @@ -1176,8 +1176,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1176 1176 |  | 
| 1177 1177 | 
             
                        #{
         | 
| 1178 1178 | 
             
                          colored do
         | 
| 1179 | 
            -
                             | 
| 1180 | 
            -
                             | 
| 1179 | 
            +
                            expected_line %(Expected: { created_at: "Tue Jan 13 19:28:24 +0000 2009", favourites_count: 38, geo_enabled: false, verified: true, media_count: 51044, statuses_count: 273860, contributors_enabled: false, profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png", profile_background_color: "FFF1E0", profile_background_tile: false, profile_image_url: "http://pbs.twimg.com/profile_images/931156393108885504/EqEMtLhM_normal.jpg", listed_count: 37009, profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592" })
         | 
| 1180 | 
            +
                            actual_line   %(  Actual: { listed_count: 37009, created_at: "Tue Jan 13 19:28:24 +0000 2009", favourites_count: 38, utc_offset: nil, statuses_count: 273860, media_count: 51044, contributors_enabled: false, is_translator: false, is_translation_enabled: false, profile_background_color: "FFF1E0", profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png", profile_background_tile: false, profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592" })
         | 
| 1181 1181 | 
             
                          end
         | 
| 1182 1182 | 
             
                        }
         | 
| 1183 1183 |  | 
| @@ -1185,24 +1185,24 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1185 1185 |  | 
| 1186 1186 | 
             
                        #{
         | 
| 1187 1187 | 
             
                          colored do
         | 
| 1188 | 
            -
                            plain_line | 
| 1189 | 
            -
                            plain_line | 
| 1190 | 
            -
                            plain_line | 
| 1191 | 
            -
                            plain_line | 
| 1192 | 
            -
                             | 
| 1193 | 
            -
                             | 
| 1194 | 
            -
                             | 
| 1195 | 
            -
                            plain_line | 
| 1196 | 
            -
                            plain_line | 
| 1197 | 
            -
                            plain_line | 
| 1198 | 
            -
                             | 
| 1199 | 
            -
                             | 
| 1200 | 
            -
                            plain_line | 
| 1201 | 
            -
                            plain_line | 
| 1202 | 
            -
                            plain_line | 
| 1203 | 
            -
                             | 
| 1204 | 
            -
                            plain_line | 
| 1205 | 
            -
                            plain_line | 
| 1188 | 
            +
                            plain_line    %(  {)
         | 
| 1189 | 
            +
                            plain_line    %(    listed_count: 37009,)
         | 
| 1190 | 
            +
                            plain_line    %(    created_at: "Tue Jan 13 19:28:24 +0000 2009",)
         | 
| 1191 | 
            +
                            plain_line    %(    favourites_count: 38,)
         | 
| 1192 | 
            +
                            expected_line %(-   geo_enabled: false,)
         | 
| 1193 | 
            +
                            expected_line %(-   verified: true,)
         | 
| 1194 | 
            +
                            actual_line   %(+   utc_offset: nil,)
         | 
| 1195 | 
            +
                            plain_line    %(    statuses_count: 273860,)
         | 
| 1196 | 
            +
                            plain_line    %(    media_count: 51044,)
         | 
| 1197 | 
            +
                            plain_line    %(    contributors_enabled: false,)
         | 
| 1198 | 
            +
                            actual_line   %(+   is_translator: false,)
         | 
| 1199 | 
            +
                            actual_line   %(+   is_translation_enabled: false,)
         | 
| 1200 | 
            +
                            plain_line    %(    profile_background_color: "FFF1E0",)
         | 
| 1201 | 
            +
                            plain_line    %(    profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png",)
         | 
| 1202 | 
            +
                            plain_line    %(    profile_background_tile: false,)
         | 
| 1203 | 
            +
                            expected_line %(-   profile_image_url: "http://pbs.twimg.com/profile_images/931156393108885504/EqEMtLhM_normal.jpg",)
         | 
| 1204 | 
            +
                            plain_line    %(    profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592")
         | 
| 1205 | 
            +
                            plain_line    %(  })
         | 
| 1206 1206 | 
             
                          end
         | 
| 1207 1207 | 
             
                        }
         | 
| 1208 1208 | 
             
                      STR
         | 
| @@ -1232,8 +1232,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1232 1232 |  | 
| 1233 1233 | 
             
                      #{
         | 
| 1234 1234 | 
             
                        colored do
         | 
| 1235 | 
            -
                           | 
| 1236 | 
            -
                           | 
| 1235 | 
            +
                          expected_line %(Expected: { name: "Elliot", interests: ["music", "football", "programming"], age: 30 })
         | 
| 1236 | 
            +
                          actual_line   %(  Actual: { name: "Elliot", interests: ["music", "travel", "programming"], age: 30 })
         | 
| 1237 1237 | 
             
                        end
         | 
| 1238 1238 | 
             
                      }
         | 
| 1239 1239 |  | 
| @@ -1241,16 +1241,16 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1241 1241 |  | 
| 1242 1242 | 
             
                      #{
         | 
| 1243 1243 | 
             
                        colored do
         | 
| 1244 | 
            -
                          plain_line | 
| 1245 | 
            -
                          plain_line | 
| 1246 | 
            -
                          plain_line | 
| 1247 | 
            -
                          plain_line | 
| 1248 | 
            -
                           | 
| 1249 | 
            -
                           | 
| 1250 | 
            -
                          plain_line | 
| 1251 | 
            -
                          plain_line | 
| 1252 | 
            -
                          plain_line | 
| 1253 | 
            -
                          plain_line | 
| 1244 | 
            +
                          plain_line    %(  {)
         | 
| 1245 | 
            +
                          plain_line    %(    name: "Elliot",)
         | 
| 1246 | 
            +
                          plain_line    %(    interests: [)
         | 
| 1247 | 
            +
                          plain_line    %(      "music",)
         | 
| 1248 | 
            +
                          expected_line %(-     "football",)
         | 
| 1249 | 
            +
                          actual_line   %(+     "travel",)
         | 
| 1250 | 
            +
                          plain_line    %(      "programming")
         | 
| 1251 | 
            +
                          plain_line    %(    ],)
         | 
| 1252 | 
            +
                          plain_line    %(    age: 30)
         | 
| 1253 | 
            +
                          plain_line    %(  })
         | 
| 1254 1254 | 
             
                        end
         | 
| 1255 1255 | 
             
                      }
         | 
| 1256 1256 | 
             
                    STR
         | 
| @@ -1287,8 +1287,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1287 1287 |  | 
| 1288 1288 | 
             
                      #{
         | 
| 1289 1289 | 
             
                        colored do
         | 
| 1290 | 
            -
                           | 
| 1291 | 
            -
                           | 
| 1290 | 
            +
                          expected_line %(Expected: { check_spelling: true, substitutions: { "YOLO" => "You only live once", "BRB" => "Buns, ribs, and bacon", "YMMV" => "Your mileage may vary" }, check_grammar: false })
         | 
| 1291 | 
            +
                          actual_line   %(  Actual: { check_spelling: true, substitutions: { "YOLO" => "You only live once", "BRB" => "Be right back", "YMMV" => "Your mileage may vary" }, check_grammar: false })
         | 
| 1292 1292 | 
             
                        end
         | 
| 1293 1293 | 
             
                      }
         | 
| 1294 1294 |  | 
| @@ -1296,16 +1296,16 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1296 1296 |  | 
| 1297 1297 | 
             
                      #{
         | 
| 1298 1298 | 
             
                        colored do
         | 
| 1299 | 
            -
                          plain_line | 
| 1300 | 
            -
                          plain_line | 
| 1301 | 
            -
                          plain_line | 
| 1302 | 
            -
                          plain_line | 
| 1303 | 
            -
                           | 
| 1304 | 
            -
                           | 
| 1305 | 
            -
                          plain_line | 
| 1306 | 
            -
                          plain_line | 
| 1307 | 
            -
                          plain_line | 
| 1308 | 
            -
                          plain_line | 
| 1299 | 
            +
                          plain_line    %(  {)
         | 
| 1300 | 
            +
                          plain_line    %(    check_spelling: true,)
         | 
| 1301 | 
            +
                          plain_line    %(    substitutions: {)
         | 
| 1302 | 
            +
                          plain_line    %(      "YOLO" => "You only live once",)
         | 
| 1303 | 
            +
                          expected_line %(-     "BRB" => "Buns, ribs, and bacon",)
         | 
| 1304 | 
            +
                          actual_line   %(+     "BRB" => "Be right back",)
         | 
| 1305 | 
            +
                          plain_line    %(      "YMMV" => "Your mileage may vary")
         | 
| 1306 | 
            +
                          plain_line    %(    },)
         | 
| 1307 | 
            +
                          plain_line    %(    check_grammar: false)
         | 
| 1308 | 
            +
                          plain_line    %(  })
         | 
| 1309 1309 | 
             
                        end
         | 
| 1310 1310 | 
             
                      }
         | 
| 1311 1311 | 
             
                    STR
         | 
| @@ -1334,8 +1334,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1334 1334 |  | 
| 1335 1335 | 
             
                      #{
         | 
| 1336 1336 | 
             
                        colored do
         | 
| 1337 | 
            -
                           | 
| 1338 | 
            -
                           | 
| 1337 | 
            +
                          expected_line %(Expected: { order_id: 1234, person: #<SuperDiff::Test::Person name: "Marty", age: 18>, amount: 35000 })
         | 
| 1338 | 
            +
                          actual_line   %(  Actual: { order_id: 1234, person: #<SuperDiff::Test::Person name: "Doc", age: 50>, amount: 35000 })
         | 
| 1339 1339 | 
             
                        end
         | 
| 1340 1340 | 
             
                      }
         | 
| 1341 1341 |  | 
| @@ -1343,16 +1343,16 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1343 1343 |  | 
| 1344 1344 | 
             
                      #{
         | 
| 1345 1345 | 
             
                        colored do
         | 
| 1346 | 
            -
                          plain_line | 
| 1347 | 
            -
                          plain_line | 
| 1348 | 
            -
                          plain_line | 
| 1349 | 
            -
                           | 
| 1350 | 
            -
                           | 
| 1351 | 
            -
                           | 
| 1352 | 
            -
                           | 
| 1353 | 
            -
                          plain_line | 
| 1354 | 
            -
                          plain_line | 
| 1355 | 
            -
                          plain_line | 
| 1346 | 
            +
                          plain_line    %(  {)
         | 
| 1347 | 
            +
                          plain_line    %(    order_id: 1234,)
         | 
| 1348 | 
            +
                          plain_line    %(    person: #<SuperDiff::Test::Person {)
         | 
| 1349 | 
            +
                          expected_line %(-     name: "Marty",)
         | 
| 1350 | 
            +
                          actual_line   %(+     name: "Doc",)
         | 
| 1351 | 
            +
                          expected_line %(-     age: 18)
         | 
| 1352 | 
            +
                          actual_line   %(+     age: 50)
         | 
| 1353 | 
            +
                          plain_line    %(    }>,)
         | 
| 1354 | 
            +
                          plain_line    %(    amount: 35000)
         | 
| 1355 | 
            +
                          plain_line    %(  })
         | 
| 1356 1356 | 
             
                        end
         | 
| 1357 1357 | 
             
                      }
         | 
| 1358 1358 | 
             
                    STR
         | 
| @@ -1409,8 +1409,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1409 1409 |  | 
| 1410 1410 | 
             
                      #{
         | 
| 1411 1411 | 
             
                        colored do
         | 
| 1412 | 
            -
                           | 
| 1413 | 
            -
                           | 
| 1412 | 
            +
                          expected_line %(Expected: { customer: { name: "Marty McFly", 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" }] })
         | 
| 1413 | 
            +
                          actual_line   %(  Actual: { customer: { name: "Marty McFly, Jr.", 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" }] })
         | 
| 1414 1414 | 
             
                        end
         | 
| 1415 1415 | 
             
                      }
         | 
| 1416 1416 |  | 
| @@ -1418,34 +1418,34 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1418 1418 |  | 
| 1419 1419 | 
             
                      #{
         | 
| 1420 1420 | 
             
                        colored do
         | 
| 1421 | 
            -
                          plain_line | 
| 1422 | 
            -
                          plain_line | 
| 1423 | 
            -
                           | 
| 1424 | 
            -
                           | 
| 1425 | 
            -
                          plain_line | 
| 1426 | 
            -
                           | 
| 1427 | 
            -
                           | 
| 1428 | 
            -
                          plain_line | 
| 1429 | 
            -
                          plain_line | 
| 1430 | 
            -
                          plain_line | 
| 1431 | 
            -
                          plain_line | 
| 1432 | 
            -
                          plain_line | 
| 1433 | 
            -
                          plain_line | 
| 1434 | 
            -
                          plain_line | 
| 1435 | 
            -
                          plain_line | 
| 1436 | 
            -
                          plain_line | 
| 1437 | 
            -
                          plain_line | 
| 1438 | 
            -
                          plain_line | 
| 1439 | 
            -
                          plain_line | 
| 1440 | 
            -
                          plain_line | 
| 1441 | 
            -
                          plain_line | 
| 1442 | 
            -
                          plain_line | 
| 1443 | 
            -
                          plain_line | 
| 1444 | 
            -
                           | 
| 1445 | 
            -
                           | 
| 1446 | 
            -
                          plain_line | 
| 1447 | 
            -
                          plain_line | 
| 1448 | 
            -
                          plain_line | 
| 1421 | 
            +
                          plain_line    %(  {)
         | 
| 1422 | 
            +
                          plain_line    %(    customer: {)
         | 
| 1423 | 
            +
                          expected_line %(-     name: "Marty McFly",)
         | 
| 1424 | 
            +
                          actual_line   %(+     name: "Marty McFly, Jr.",)
         | 
| 1425 | 
            +
                          plain_line    %(      shipping_address: {)
         | 
| 1426 | 
            +
                          expected_line %(-       line_1: "123 Main St.",)
         | 
| 1427 | 
            +
                          actual_line   %(+       line_1: "456 Ponderosa Ct.",)
         | 
| 1428 | 
            +
                          plain_line    %(        city: "Hill Valley",)
         | 
| 1429 | 
            +
                          plain_line    %(        state: "CA",)
         | 
| 1430 | 
            +
                          plain_line    %(        zip: "90382")
         | 
| 1431 | 
            +
                          plain_line    %(      })
         | 
| 1432 | 
            +
                          plain_line    %(    },)
         | 
| 1433 | 
            +
                          plain_line    %(    items: [)
         | 
| 1434 | 
            +
                          plain_line    %(      {)
         | 
| 1435 | 
            +
                          plain_line    %(        name: "Fender Stratocaster",)
         | 
| 1436 | 
            +
                          plain_line    %(        cost: 100000,)
         | 
| 1437 | 
            +
                          plain_line    %(        options: [)
         | 
| 1438 | 
            +
                          plain_line    %(          "red",)
         | 
| 1439 | 
            +
                          plain_line    %(          "blue",)
         | 
| 1440 | 
            +
                          plain_line    %(          "green")
         | 
| 1441 | 
            +
                          plain_line    %(        ])
         | 
| 1442 | 
            +
                          plain_line    %(      },)
         | 
| 1443 | 
            +
                          plain_line    %(      {)
         | 
| 1444 | 
            +
                          expected_line %(-       name: "Chevy 4x4")
         | 
| 1445 | 
            +
                          actual_line   %(+       name: "Mattel Hoverboard")
         | 
| 1446 | 
            +
                          plain_line    %(      })
         | 
| 1447 | 
            +
                          plain_line    %(    ])
         | 
| 1448 | 
            +
                          plain_line    %(  })
         | 
| 1449 1449 | 
             
                        end
         | 
| 1450 1450 | 
             
                      }
         | 
| 1451 1451 | 
             
                    STR
         | 
| @@ -1480,8 +1480,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1480 1480 |  | 
| 1481 1481 | 
             
                      #{
         | 
| 1482 1482 | 
             
                        colored do
         | 
| 1483 | 
            -
                           | 
| 1484 | 
            -
                           | 
| 1483 | 
            +
                          expected_line %(Expected: #<SuperDiff::Test::Person name: "Marty", age: 18>)
         | 
| 1484 | 
            +
                          actual_line   %(  Actual: #<SuperDiff::Test::Person name: "Doc", age: 50>)
         | 
| 1485 1485 | 
             
                        end
         | 
| 1486 1486 | 
             
                      }
         | 
| 1487 1487 |  | 
| @@ -1489,12 +1489,12 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1489 1489 |  | 
| 1490 1490 | 
             
                      #{
         | 
| 1491 1491 | 
             
                        colored do
         | 
| 1492 | 
            -
                          plain_line | 
| 1493 | 
            -
                           | 
| 1494 | 
            -
                           | 
| 1495 | 
            -
                           | 
| 1496 | 
            -
                           | 
| 1497 | 
            -
                          plain_line | 
| 1492 | 
            +
                          plain_line    %(  #<SuperDiff::Test::Person {)
         | 
| 1493 | 
            +
                          expected_line %(-   name: "Marty",)
         | 
| 1494 | 
            +
                          actual_line   %(+   name: "Doc",)
         | 
| 1495 | 
            +
                          expected_line %(-   age: 18)
         | 
| 1496 | 
            +
                          actual_line   %(+   age: 50)
         | 
| 1497 | 
            +
                          plain_line    %(  }>)
         | 
| 1498 1498 | 
             
                        end
         | 
| 1499 1499 | 
             
                      }
         | 
| 1500 1500 | 
             
                    STR
         | 
| @@ -1531,13 +1531,13 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1531 1531 | 
             
                        if SuperDiff::Test.jruby?
         | 
| 1532 1532 | 
             
                          # Source: <https://github.com/jruby/jruby/blob/master/core/src/main/java/org/jruby/RubyBasicObject.java>
         | 
| 1533 1533 | 
             
                          colored do
         | 
| 1534 | 
            -
                             | 
| 1535 | 
            -
                             | 
| 1534 | 
            +
                            expected_line %(Expected: #<SuperDiff::Test::Player:#{SuperDiff::Test.object_id_hex(expected)} @inventory=["flatline", "purple body shield"], @character="mirage", @handle="martymcfly", @ultimate=0.8, @shields=0.6, @health=0.3>)
         | 
| 1535 | 
            +
                            actual_line   %(  Actual: #<SuperDiff::Test::Player:#{SuperDiff::Test.object_id_hex(actual)} @inventory=["wingman", "mastiff"], @character="lifeline", @handle="docbrown", @ultimate=0.8, @shields=0.6, @health=0.3>)
         | 
| 1536 1536 | 
             
                          end
         | 
| 1537 1537 | 
             
                        else
         | 
| 1538 1538 | 
             
                          colored do
         | 
| 1539 | 
            -
                             | 
| 1540 | 
            -
                             | 
| 1539 | 
            +
                            expected_line %(Expected: #<SuperDiff::Test::Player:#{SuperDiff::Test.object_id_hex(expected)} @handle="martymcfly", @character="mirage", @inventory=["flatline", "purple body shield"], @shields=0.6, @health=0.3, @ultimate=0.8>)
         | 
| 1540 | 
            +
                            actual_line   %(  Actual: #<SuperDiff::Test::Player:#{SuperDiff::Test.object_id_hex(actual)} @handle="docbrown", @character="lifeline", @inventory=["wingman", "mastiff"], @shields=0.6, @health=0.3, @ultimate=0.8>)
         | 
| 1541 1541 | 
             
                          end
         | 
| 1542 1542 | 
             
                        end
         | 
| 1543 1543 | 
             
                      }
         | 
| @@ -1546,21 +1546,21 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1546 1546 |  | 
| 1547 1547 | 
             
                      #{
         | 
| 1548 1548 | 
             
                        colored do
         | 
| 1549 | 
            -
                          plain_line | 
| 1550 | 
            -
                           | 
| 1551 | 
            -
                           | 
| 1552 | 
            -
                           | 
| 1553 | 
            -
                           | 
| 1554 | 
            -
                          plain_line | 
| 1555 | 
            -
                          plain_line | 
| 1556 | 
            -
                           | 
| 1557 | 
            -
                           | 
| 1558 | 
            -
                           | 
| 1559 | 
            -
                           | 
| 1560 | 
            -
                          plain_line | 
| 1561 | 
            -
                          plain_line | 
| 1562 | 
            -
                          plain_line | 
| 1563 | 
            -
                          plain_line | 
| 1549 | 
            +
                          plain_line    %(  #<SuperDiff::Test::Player {)
         | 
| 1550 | 
            +
                          expected_line %(-   @character="mirage",)
         | 
| 1551 | 
            +
                          actual_line   %(+   @character="lifeline",)
         | 
| 1552 | 
            +
                          expected_line %(-   @handle="martymcfly",)
         | 
| 1553 | 
            +
                          actual_line   %(+   @handle="docbrown",)
         | 
| 1554 | 
            +
                          plain_line    %(    @health=0.3,)
         | 
| 1555 | 
            +
                          plain_line    %(    @inventory=[)
         | 
| 1556 | 
            +
                          expected_line %(-     "flatline",)
         | 
| 1557 | 
            +
                          actual_line   %(+     "wingman",)
         | 
| 1558 | 
            +
                          expected_line %(-     "purple body shield")
         | 
| 1559 | 
            +
                          actual_line   %(+     "mastiff")
         | 
| 1560 | 
            +
                          plain_line    %(    ],)
         | 
| 1561 | 
            +
                          plain_line    %(    @shields=0.6,)
         | 
| 1562 | 
            +
                          plain_line    %(    @ultimate=0.8)
         | 
| 1563 | 
            +
                          plain_line    %(  }>)
         | 
| 1564 1564 | 
             
                        end
         | 
| 1565 1565 | 
             
                      }
         | 
| 1566 1566 | 
             
                    STR
         | 
| @@ -1588,8 +1588,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1588 1588 |  | 
| 1589 1589 | 
             
                      #{
         | 
| 1590 1590 | 
             
                        colored do
         | 
| 1591 | 
            -
                           | 
| 1592 | 
            -
                           | 
| 1591 | 
            +
                          expected_line %(Expected: #<SuperDiff::Test::Person name: "Marty", age: 31>)
         | 
| 1592 | 
            +
                          actual_line   %(  Actual: #<SuperDiff::Test::Customer name: "Doc", shipping_address: :some_shipping_address, phone: "1234567890">)
         | 
| 1593 1593 | 
             
                        end
         | 
| 1594 1594 | 
             
                      }
         | 
| 1595 1595 | 
             
                    STR
         | 
| @@ -1622,13 +1622,13 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1622 1622 | 
             
                        if SuperDiff::Test.jruby?
         | 
| 1623 1623 | 
             
                          # Source: <https://github.com/jruby/jruby/blob/master/core/src/main/java/org/jruby/RubyBasicObject.java>
         | 
| 1624 1624 | 
             
                          colored do
         | 
| 1625 | 
            -
                             | 
| 1626 | 
            -
                             | 
| 1625 | 
            +
                            expected_line %(Expected: #<SuperDiff::Test::Item:#{SuperDiff::Test.object_id_hex(expected)} @name="camera", @quantity=3>)
         | 
| 1626 | 
            +
                            actual_line   %(  Actual: #<SuperDiff::Test::Player:#{SuperDiff::Test.object_id_hex(actual)} @inventory=["sword"], @character="Jon", @handle="mcmire", @ultimate=true, @shields=11.4, @health=4>)
         | 
| 1627 1627 | 
             
                          end
         | 
| 1628 1628 | 
             
                        else
         | 
| 1629 1629 | 
             
                          colored do
         | 
| 1630 | 
            -
                             | 
| 1631 | 
            -
                             | 
| 1630 | 
            +
                            expected_line %(Expected: #<SuperDiff::Test::Item:#{SuperDiff::Test.object_id_hex(expected)} @name="camera", @quantity=3>)
         | 
| 1631 | 
            +
                            actual_line   %(  Actual: #<SuperDiff::Test::Player:#{SuperDiff::Test.object_id_hex(actual)} @handle="mcmire", @character="Jon", @inventory=["sword"], @shields=11.4, @health=4, @ultimate=true>)
         | 
| 1632 1632 | 
             
                          end
         | 
| 1633 1633 | 
             
                        end
         | 
| 1634 1634 | 
             
                      }
         | 
| @@ -1651,8 +1651,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1651 1651 |  | 
| 1652 1652 | 
             
                      #{
         | 
| 1653 1653 | 
             
                        colored do
         | 
| 1654 | 
            -
                           | 
| 1655 | 
            -
                           | 
| 1654 | 
            +
                          expected_line %(Expected: ["a", ∙∙∙, "b", "c"])
         | 
| 1655 | 
            +
                          actual_line   %(  Actual: ["a", "x", "b", "c"])
         | 
| 1656 1656 | 
             
                        end
         | 
| 1657 1657 | 
             
                      }
         | 
| 1658 1658 |  | 
| @@ -1660,13 +1660,13 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1660 1660 |  | 
| 1661 1661 | 
             
                      #{
         | 
| 1662 1662 | 
             
                        colored do
         | 
| 1663 | 
            -
                          plain_line | 
| 1664 | 
            -
                          plain_line | 
| 1665 | 
            -
                           | 
| 1666 | 
            -
                           | 
| 1667 | 
            -
                          plain_line | 
| 1668 | 
            -
                          plain_line | 
| 1669 | 
            -
                          plain_line | 
| 1663 | 
            +
                          plain_line    %(  [)
         | 
| 1664 | 
            +
                          plain_line    %(    "a",)
         | 
| 1665 | 
            +
                          expected_line %(-   ∙∙∙,)
         | 
| 1666 | 
            +
                          actual_line   %(+   "x",)
         | 
| 1667 | 
            +
                          plain_line    %(    "b",)
         | 
| 1668 | 
            +
                          plain_line    %(    "c")
         | 
| 1669 | 
            +
                          plain_line    %(  ])
         | 
| 1670 1670 | 
             
                        end
         | 
| 1671 1671 | 
             
                      }
         | 
| 1672 1672 | 
             
                    STR
         | 
| @@ -1688,8 +1688,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1688 1688 |  | 
| 1689 1689 | 
             
                      #{
         | 
| 1690 1690 | 
             
                        colored do
         | 
| 1691 | 
            -
                           | 
| 1692 | 
            -
                           | 
| 1691 | 
            +
                          expected_line %(Expected: ["a", "x", "b", "c"])
         | 
| 1692 | 
            +
                          actual_line   %(  Actual: ["a", ∙∙∙, "b", "c"])
         | 
| 1693 1693 | 
             
                        end
         | 
| 1694 1694 | 
             
                      }
         | 
| 1695 1695 |  | 
| @@ -1697,13 +1697,13 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1697 1697 |  | 
| 1698 1698 | 
             
                      #{
         | 
| 1699 1699 | 
             
                        colored do
         | 
| 1700 | 
            -
                          plain_line | 
| 1701 | 
            -
                          plain_line | 
| 1702 | 
            -
                           | 
| 1703 | 
            -
                           | 
| 1704 | 
            -
                          plain_line | 
| 1705 | 
            -
                          plain_line | 
| 1706 | 
            -
                          plain_line | 
| 1700 | 
            +
                          plain_line    %(  [)
         | 
| 1701 | 
            +
                          plain_line    %(    "a",)
         | 
| 1702 | 
            +
                          expected_line %(-   "x",)
         | 
| 1703 | 
            +
                          actual_line   %(+   ∙∙∙,)
         | 
| 1704 | 
            +
                          plain_line    %(    "b",)
         | 
| 1705 | 
            +
                          plain_line    %(    "c")
         | 
| 1706 | 
            +
                          plain_line    %(  ])
         | 
| 1707 1707 | 
             
                        end
         | 
| 1708 1708 | 
             
                      }
         | 
| 1709 1709 | 
             
                    STR
         | 
| @@ -1725,8 +1725,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1725 1725 |  | 
| 1726 1726 | 
             
                      #{
         | 
| 1727 1727 | 
             
                        colored do
         | 
| 1728 | 
            -
                           | 
| 1729 | 
            -
                           | 
| 1728 | 
            +
                          expected_line %(Expected: { foo: ["a", "x", "b", "c"] })
         | 
| 1729 | 
            +
                          actual_line   %(  Actual: { foo: ["a", ∙∙∙, "b", "c"] })
         | 
| 1730 1730 | 
             
                        end
         | 
| 1731 1731 | 
             
                      }
         | 
| 1732 1732 |  | 
| @@ -1734,15 +1734,15 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1734 1734 |  | 
| 1735 1735 | 
             
                      #{
         | 
| 1736 1736 | 
             
                        colored do
         | 
| 1737 | 
            -
                          plain_line | 
| 1738 | 
            -
                          plain_line | 
| 1739 | 
            -
                          plain_line | 
| 1740 | 
            -
                           | 
| 1741 | 
            -
                           | 
| 1742 | 
            -
                          plain_line | 
| 1743 | 
            -
                          plain_line | 
| 1744 | 
            -
                          plain_line | 
| 1745 | 
            -
                          plain_line | 
| 1737 | 
            +
                          plain_line    %(  {)
         | 
| 1738 | 
            +
                          plain_line    %(    foo: [)
         | 
| 1739 | 
            +
                          plain_line    %(      "a",)
         | 
| 1740 | 
            +
                          expected_line %(-     "x",)
         | 
| 1741 | 
            +
                          actual_line   %(+     ∙∙∙,)
         | 
| 1742 | 
            +
                          plain_line    %(      "b",)
         | 
| 1743 | 
            +
                          plain_line    %(      "c")
         | 
| 1744 | 
            +
                          plain_line    %(    ])
         | 
| 1745 | 
            +
                          plain_line    %(  })
         | 
| 1746 1746 | 
             
                        end
         | 
| 1747 1747 | 
             
                      }
         | 
| 1748 1748 | 
             
                    STR
         | 
| @@ -1764,8 +1764,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1764 1764 |  | 
| 1765 1765 | 
             
                      #{
         | 
| 1766 1766 | 
             
                        colored do
         | 
| 1767 | 
            -
                           | 
| 1768 | 
            -
                           | 
| 1767 | 
            +
                          expected_line %(Expected: { foo: ["a", "x", "b", "c"] })
         | 
| 1768 | 
            +
                          actual_line   %(  Actual: { foo: ["a", ∙∙∙, "b", "c"] })
         | 
| 1769 1769 | 
             
                        end
         | 
| 1770 1770 | 
             
                      }
         | 
| 1771 1771 |  | 
| @@ -1773,15 +1773,15 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do | |
| 1773 1773 |  | 
| 1774 1774 | 
             
                      #{
         | 
| 1775 1775 | 
             
                        colored do
         | 
| 1776 | 
            -
                          plain_line | 
| 1777 | 
            -
                          plain_line | 
| 1778 | 
            -
                          plain_line | 
| 1779 | 
            -
                           | 
| 1780 | 
            -
                           | 
| 1781 | 
            -
                          plain_line | 
| 1782 | 
            -
                          plain_line | 
| 1783 | 
            -
                          plain_line | 
| 1784 | 
            -
                          plain_line | 
| 1776 | 
            +
                          plain_line    %(  {)
         | 
| 1777 | 
            +
                          plain_line    %(    foo: [)
         | 
| 1778 | 
            +
                          plain_line    %(      "a",)
         | 
| 1779 | 
            +
                          expected_line %(-     "x",)
         | 
| 1780 | 
            +
                          actual_line   %(+     ∙∙∙,)
         | 
| 1781 | 
            +
                          plain_line    %(      "b",)
         | 
| 1782 | 
            +
                          plain_line    %(      "c")
         | 
| 1783 | 
            +
                          plain_line    %(    ])
         | 
| 1784 | 
            +
                          plain_line    %(  })
         | 
| 1785 1785 | 
             
                        end
         | 
| 1786 1786 | 
             
                      }
         | 
| 1787 1787 | 
             
                    STR
         |