Page MenuHomePhorge

test_super_getter_receiver.cjs
No OneTemporary

Size
930 B
Referenced Files
None
Subscribers
None

test_super_getter_receiver.cjs

let passed = 0;
let failed = 0;
function test(name, actual, expected) {
if (actual === expected) {
console.log("PASS:", name);
passed++;
return;
}
console.log("FAIL:", name, "- expected", expected, "got", actual);
failed++;
}
class Parent {
constructor() {
this.nodes = [1, 2, 3];
}
get names() {
return this.nodes.reduce((sum, n) => sum + n, 0);
}
}
class Child extends Parent {
get names() {
return super.names + 1;
}
}
class Base {
get value() {
return this.tag;
}
}
class Derived extends Base {
constructor() {
super();
this.tag = "ok";
}
get value() {
return super.value;
}
}
test("super getter uses child receiver", new Child().names, 7);
test("super getter resolves child fields", new Derived().value, "ok");
console.log("Passed:", passed);
console.log("Failed:", failed);
if (failed > 0) throw new Error("test_super_getter_receiver failed");

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 17, 1:44 PM (1 d, 6 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
572208
Default Alt Text
test_super_getter_receiver.cjs (930 B)

Event Timeline