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

22 lines
317 B
JavaScript

"use strict";
const Base = {
};
Object.defineProperty(Base, 'test', {
value: 1,
writable: true,
configurable: false,
});
const obj = {
test: 2,
set() {
return super.test = 3;
},
};
Object.setPrototypeOf(obj, Base);
assert.equal(obj.set(), 3);
assert.equal(Base.test, 1);
assert.equal(obj.test, 3);