Browse Source

test: fix assertion in vm test

Prototypes are not strict equal when they are from
different contexts. Therefore, assert.strictEqual()
fails for objects that are created in different
contexts, e.g., in vm.runInContext().

Instead of expecting the prototypes to be equal,
only check the properties of the objects
for equality.

PR-URL: https://github.com/nodejs/node/pull/11862
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
v6
AnnaMag 8 years ago
committed by Franziska Hinkelmann
parent
commit
7ef2d90e1b
  1. 7
      test/known_issues/test-vm-getters.js

7
test/known_issues/test-vm-getters.js

@ -16,4 +16,9 @@ const context = vm.createContext(sandbox);
const code = 'Object.getOwnPropertyDescriptor(this, "prop");'; const code = 'Object.getOwnPropertyDescriptor(this, "prop");';
const result = vm.runInContext(code, context); const result = vm.runInContext(code, context);
assert.strictEqual(result, descriptor); // Ref: https://github.com/nodejs/node/issues/11803
assert.deepStrictEqual(Object.keys(result), Object.keys(descriptor));
for (const prop of Object.keys(result)) {
assert.strictEqual(result[prop], descriptor[prop]);
}

Loading…
Cancel
Save