shift-interpreter
Version:
Shift-interpreter is an experimental JavaScript meta-interpreter useful for reverse engineering and analysis. One notable difference from other projects is that shift-interpreter retains state over an entire script but can be fed expressions and statement
18 lines • 841 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("../util");
describe('Classes', () => {
it('should declare a class', () => {
util_1.assertResult(util_1.compare('class A {}; A === A'));
});
it('should allow static methods to be called', () => {
util_1.assertResult(util_1.compare('class A {static b(){return 20}}; A.b();'));
});
it('should allow class to be instantiated methods to be called', () => {
util_1.assertResult(util_1.compare('class A {b(){return 2222}}; let a = new A(); a.b();'));
});
it('should allow for inheritance', () => {
util_1.assertResult(util_1.compare('class A {a(){return "AA"}}; class B extends A {b(){return "BB"}} let b = new B(); b.a() + b.b();'));
});
});
//# sourceMappingURL=classes.test.js.map