MCPcopy Create free account
hub / github.com/nodejs/node / assert_object_equals

Function assert_object_equals

test/fixtures/wpt/resources/testharness.js:1652–1685  ·  view source on GitHub ↗

* @deprecated * Recursively compare two objects for equality. * * See `Issue 2033 * `_ for * more information. * * @param {Object} actual - Test value. * @param {Object} expected - Expected value. * @

(actual, expected, description)

Source from the content-addressed store, hash-verified

1650 * @param {string} [description] - Description of the condition being tested.
1651 */
1652 function assert_object_equals(actual, expected, description)
1653 {
1654 assert(typeof actual === "object" && actual !== null, "assert_object_equals", description,
1655 "value is ${actual}, expected object",
1656 {actual: actual});
1657 //This needs to be improved a great deal
1658 function check_equal(actual, expected, stack)
1659 {
1660 stack.push(actual);
1661
1662 var p;
1663 for (p in actual) {
1664 assert(expected.hasOwnProperty(p), "assert_object_equals", description,
1665 "unexpected property ${p}", {p:p});
1666
1667 if (typeof actual[p] === "object" && actual[p] !== null) {
1668 if (stack.indexOf(actual[p]) === -1) {
1669 check_equal(actual[p], expected[p], stack);
1670 }
1671 } else {
1672 assert(same_value(actual[p], expected[p]), "assert_object_equals", description,
1673 "property ${p} expected ${expected} got ${actual}",
1674 {p:p, expected:expected[p], actual:actual[p]});
1675 }
1676 }
1677 for (p in expected) {
1678 assert(actual.hasOwnProperty(p),
1679 "assert_object_equals", description,
1680 "expected property ${p} missing", {p:p});
1681 }
1682 stack.pop();
1683 }
1684 check_equal(actual, expected, []);
1685 }
1686 expose_assert(assert_object_equals, "assert_object_equals");
1687
1688 /**

Callers 11

runTestsFunction · 0.50
general.any.jsFile · 0.50
from.any.jsFile · 0.50
tee.any.jsFile · 0.50
cancel.any.jsFile · 0.50
tee.any.jsFile · 0.50
test_entriesFunction · 0.50

Calls 2

assertFunction · 0.70
check_equalFunction · 0.70

Tested by

no test coverage detected