Justin Ridgewell ec3722b3f9
Get set helpers (#7687)
* Improve get/set helper

* fixtures

* Edge cases

* Add loose edge cases

* Spec compliant

* Add issue case

* Even more edge cases!

* Final updates

* Fix name

* Use Reflect.{get, set} when available

* Avoid block scoping in loose

* Remove semicolon

* Do not redefine a non-enumerable

* Get strictness from call site, not helpers

* Add called assertions

* Classes are always strict

* Update test fixture
2018-04-11 11:56:59 -04:00

23 lines
326 B
JavaScript

"use strict";
const Base = {
};
let called = false;
const obj = {
get test() {
called = true;
},
set() {
return super.test = 3;
},
};
Object.setPrototypeOf(obj, Base);
assert.throws(() => {
obj.set();
});
assert.equal(called, false);
assert.equal(Base.test, undefined);
assert.equal(obj.test, undefined);