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
356 B
JavaScript

"use strict";
class Base {
}
let called = false;
class Obj extends Base {
get test() {
called = true;
}
set() {
return super.test = 3;
}
}
const obj = new Obj();
assert.equal(obj.set(), 3);
assert.equal(called, false);
assert.equal(Base.prototype.test, undefined);
assert.equal(Obj.prototype.test, undefined);
assert.equal(obj.test, 3);