Reflect.isExtensible.js 732 B

1234567891011121314151617181920212223242526272829
  1. load("test-common.js");
  2. try {
  3. assert(Reflect.isExtensible.length === 1);
  4. [null, undefined, "foo", 123, NaN, Infinity].forEach(value => {
  5. assertThrowsError(() => {
  6. Reflect.isExtensible(value);
  7. }, {
  8. error: TypeError,
  9. message: "First argument of Reflect.isExtensible() must be an object"
  10. });
  11. });
  12. assert(Reflect.isExtensible({}) === true);
  13. var o = {};
  14. o.foo = "foo";
  15. assert(o.foo === "foo");
  16. assert(Reflect.isExtensible(o) === true);
  17. Reflect.preventExtensions(o);
  18. o.bar = "bar";
  19. assert(o.bar === undefined);
  20. assert(Reflect.isExtensible(o) === false);
  21. console.log("PASS");
  22. } catch (e) {
  23. console.log("FAIL: " + e);
  24. }