diff options
Diffstat (limited to 'js/src/tests/ecma_6/Class/superCallProperBase.js')
-rw-r--r-- | js/src/tests/ecma_6/Class/superCallProperBase.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Class/superCallProperBase.js b/js/src/tests/ecma_6/Class/superCallProperBase.js new file mode 100644 index 000000000..cc03f57d0 --- /dev/null +++ b/js/src/tests/ecma_6/Class/superCallProperBase.js @@ -0,0 +1,34 @@ +class base1 { + constructor() { + this.base = 1; + } +} + +class base2 { + constructor() { + this.base = 2; + } +} + +class inst extends base1 { + constructor() { + super(); + } +} + +assertEq(new inst().base, 1); + +Object.setPrototypeOf(inst, base2); + +assertEq(new inst().base, 2); + +// Still works with default constructor + +class defaultInst extends base1 { } + +assertEq(new defaultInst().base, 1); +Object.setPrototypeOf(defaultInst, base2); +assertEq(new defaultInst().base, 2); + +if (typeof reportCompare === 'function') + reportCompare(0,0,"OK"); |