Skip to content

Serialize 'expected' and 'actual' in isolation with regards to already seen values

This fixes an issue in the test runner output:

const array = [1, 2, 3];
assert.deepEqual({array}, {array, other: 123});

If this assertion is made during a test, the "expected" output will be correct while the "actual" output will contain the string "Circular":

expected:
  array:
    0: 1
    1: 2
    2: 3
  other: 123
actual:
  array: <Circular>

With the change presented here, each output is produced in isolation from each other such that only circular references within each output will be shown as "Circular".

Merge request reports

Loading