36 lines
615 B
JavaScript
36 lines
615 B
JavaScript
"use strict";
|
|
|
|
var log = [];
|
|
var SuperClass = require("module-which-exports-native-class");
|
|
|
|
class SubClass extends SuperClass {
|
|
constructor() {
|
|
log.push(4);
|
|
super();
|
|
}
|
|
method() {
|
|
log.push(5);
|
|
super.method();
|
|
}
|
|
static method() {
|
|
log.push(6);
|
|
super.method();
|
|
}
|
|
}
|
|
|
|
new SubClass().method();
|
|
SubClass.method();
|
|
|
|
expect(log).toEqual([4, 1, 5, 2, 6, 3]);
|
|
|
|
// Magic function to avoid transpiling class
|
|
function require() {
|
|
return eval(`(
|
|
class SuperClass {
|
|
constructor() { log.push(1); }
|
|
method() { log.push(2); }
|
|
static method() { log.push(3); }
|
|
}
|
|
)`);
|
|
}
|