1234567891011121314151617181920212223242526272829303132333435 |
- load("test-common.js");
- try {
- ["foo", 123, null, undefined].forEach(value => {
- assertThrowsError(() => {
- "prop" in value;
- }, {
- error: TypeError,
- message: "'in' operator must be used on an object"
- });
- });
- var o = {foo: "bar", bar: undefined};
- assert("" in o === false);
- assert("foo" in o === true);
- assert("bar" in o === true);
- assert("baz" in o === false);
- assert("toString" in o === true);
- var a = ["hello", "friends"];
- assert(0 in a === true);
- assert(1 in a === true);
- assert(2 in a === false);
- assert("0" in a === true);
- assert("hello" in a === false);
- assert("friends" in a === false);
- assert("length" in a === true);
- var s = new String("foo");
- assert("length" in s);
- console.log("PASS");
- } catch (e) {
- console.log("FAIL: " + e);
- }
|