33 lines
679 B
JavaScript

class MethodsA {
ma() {}
}
class MethodsB extends MethodsA {
mb() {}
}
class MethodsC extends MethodsB {
mc() {}
}
// ----------------------------------------------------------------------------
var a = new MethodsA();
var b = new MethodsB();
var c = new MethodsC();
var pa = Object.getPrototypeOf(a);
var pb = Object.getPrototypeOf(b);
var pc = Object.getPrototypeOf(c);
assertNoOwnProperties(a);
assertNoOwnProperties(b);
assertNoOwnProperties(c);
assertHasOwnProperty(pa, 'ma');
assertLacksOwnProperty(pa, 'mb', 'mc');
assertHasOwnProperty(pb, 'mb');
assertLacksOwnProperty(pb, 'ma', 'mc');
assertHasOwnProperty(pc, 'mc');
assertLacksOwnProperty(pc, 'ma', 'mb');