Source code

Revision control

Copy as Markdown

Other Tools

/*
* Any copyright is dedicated to the Public Domain.
*/
var BUGNUMBER = 1038545;
var summary = "Coerce the argument passed to Object.keys using ToObject";
print(BUGNUMBER + ": " + summary);
assertThrowsInstanceOf(() => Object.keys(), TypeError);
assertThrowsInstanceOf(() => Object.keys(undefined), TypeError);
assertThrowsInstanceOf(() => Object.keys(null), TypeError);
assertDeepEq(Object.keys(1), []);
assertDeepEq(Object.keys(true), []);
if (typeof Symbol === "function") {
assertDeepEq(Object.keys(Symbol("foo")), []);
}
assertDeepEq(Object.keys("foo"), ["0", "1", "2"]);
if (typeof reportCompare === "function")
reportCompare(true, true);