babel/test/fixtures/esnext/es6-classes/getter-setter-super.js
2015-01-26 15:55:27 -08:00

38 lines
531 B
JavaScript

class Base {
get sound() {
return 'I am a ' + this.type + '.';
}
get name() {
return this._name;
}
set name(val) {
this._name = val;
}
}
class Animal extends Base {}
class Cat extends Animal {
get type() { return 'cat'; }
get sound() {
return super.sound + ' MEOW!';
}
get name() {
return super.name;
}
set name(val) {
super.name = val + ' Cat';
}
}
var cat = new Cat();
assert.equal(cat.sound, 'I am a cat. MEOW!');
cat.name = 'Nyan';
assert.equal(cat.name, 'Nyan Cat');