| function assert_prop_desc_equals(object, property_key, expected) { |
| let actual = Object.getOwnPropertyDescriptor(object, property_key); |
| if (expected === undefined) { |
| assert_equals( |
| actual, undefined, |
| "(assert_prop_desc_equals: no property descriptor expected)"); |
| return; |
| } |
| for (p in actual) { |
| assert_true( |
| expected.hasOwnProperty(p), |
| "(assert_prop_desc_equals: property '" + p + "' is not expected)"); |
| assert_equals( |
| actual[p], expected[p], |
| "(assert_prop_desc_equals: property '" + p + "')"); |
| } |
| for (p in expected) { |
| assert_true( |
| actual.hasOwnProperty(p), |
| "(assert_prop_desc_equals: expected property '" + p + "' missing)"); |
| } |
| } |