You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Core: Ensure inherited getters are not invoked by assert.deepEqual.
Previously, given the following:
```js
class Foo {
constructor(a = 1) {
this.a = a;
}
}
Object.defineProperty(Foo.prototype, 'b', {
enumerable: true,
get() {
return new Foo(this.a + 1);
}
})
QUnit.test( "hello test", function( assert ) {
assert.deepEqual(new Foo(), new Foo());
});
```
The `assert.deepEqual` invocation would never complete (ultimately
crashing the tab or node process).
The changes here ensure that inherited descriptors (getter / setter _or_
value only) are compared without invoking the getter therefore
preventing the issue mentioned above.
0 commit comments