| "This tests an early experimental implementation of ES6-esque Symbols." |
| var prop = Symbol("prop"); |
| shouldBeFalse("prop in o"); |
| shouldBeFalse("'prop' in o"); |
| shouldBe("Object.getOwnPropertyNames(o).length", '0'); |
| shouldBe("forIn(o)", '[]'); |
| shouldBeTrue("prop in o"); |
| shouldBeFalse("'prop' in o"); |
| shouldBe("Object.getOwnPropertyNames(o).length", '0'); |
| shouldBe("forIn(o)", '[]'); |
| shouldBe("o[prop]", '42'); |
| shouldBe("o['prop']", '101'); |
| shouldBe("Object.getOwnPropertyNames(o).length", '1'); |
| shouldBe("forIn(o)", '["prop"]'); |
| shouldBeFalse("prop in o"); |
| shouldBeTrue("'prop' in o"); |
| shouldBe("Object.getOwnPropertyNames(o).length", '1'); |
| shouldBe("forIn(o)", '["prop"]'); |
| successfullyParsed = true; |