36 lines
784 B
JavaScript
36 lines
784 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);
|
|
|
|
expect(pa).toHaveProperty('ma');
|
|
expect(pa).not.toHaveProperty('mb');
|
|
expect(pa).not.toHaveProperty('mc');
|
|
expect(pb).toHaveProperty('mb');
|
|
expect(pb).not.toHaveProperty('ma');
|
|
expect(pb).not.toHaveProperty('mc');
|
|
expect(pc).toHaveProperty('mc');
|
|
expect(pc).not.toHaveProperty('ma');
|
|
expect(pc).not.toHaveProperty('mb');
|