Source code

Revision control

Copy as Markdown

Other Tools

class base {
constructor() { }
}
let seenValues;
Object.defineProperty(base.prototype, "minutes",
{
set(x) {
assertEq(x, 525600);
seenValues.push(x);
}
});
Object.defineProperty(base.prototype, "intendent",
{
set(x) {
assertEq(x, "Fred");
seenValues.push(x)
}
});
const testArr = [525600, "Fred"];
class derived extends base {
constructor() { super(); }
prepForTest() { seenValues = []; }
testAsserts() { assertDeepEq(seenValues, testArr); }
testProps() {
this.prepForTest();
[super.minutes, super.intendent] = testArr;
this.testAsserts();
}
testElems() {
this.prepForTest();
[super["minutes"], super["intendent"]] = testArr;
this.testAsserts();
}
}
let d = new derived();
d.testProps();
d.testElems();
if (typeof reportCompare === 'function')
reportCompare(0,0,"OK");