* 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
23 lines
338 B
JavaScript
23 lines
338 B
JavaScript
"use strict";
|
|
class Base {
|
|
get test() {
|
|
assert.equal(this, obj);
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
class Obj extends Base {
|
|
get() {
|
|
return super.test;
|
|
}
|
|
}
|
|
Object.defineProperty(Obj.prototype, 'test', {
|
|
value: 2,
|
|
writable: true,
|
|
configurable: true,
|
|
});
|
|
|
|
const obj = new Obj();
|
|
assert.equal(obj.test, 2);
|
|
assert.equal(obj.get(), 1);
|