30 lines
520 B
JavaScript

var Animal = class {
sayHi() {
return 'Hi, I am a '+this.type()+'.';
}
static getName() {
return 'Animal';
}
};
var Dog = class extends Animal {
type() { return 'dog'; }
sayHi() {
return super.sayHi() + ' WOOF!';
}
static getName() {
return super.getName() + '/Dog';
}
};
expect(new Dog().sayHi()).toBe('Hi, I am a dog. WOOF!');
expect(Dog.getName()).toBe('Animal/Dog');
var count = 0;
var Cat = class extends (function(){ count++; return Animal; })() {};
expect(count).toBe(1);