babel/test/classes.js
Sebastian McKenzie 26416784a8 dry up class tests
2014-09-29 01:02:50 +10:00

52 lines
1.2 KiB
JavaScript

var transform = require("../lib/6to5/transform");
var assert = require("assert");
suite("classes", function () {
test("no calling super properties", function () {
assert.throws(function () {
transform.test([
"class Test extends Foo {",
" constructor() {",
" super.test.whatever();",
" }",
"}"
]);
}, /cannot access super properties/);
});
test("no accessing super properties", function () {
assert.throws(function () {
transform.test([
"class Test extends Foo {",
" constructor() {",
" super.test.whatever;",
" }",
"}"
]);
}, /cannot access super properties/);
});
test("accessing super without having one", function () {
assert.throws(function () {
transform.test([
"class Test {",
" constructor() {",
" super();",
" }",
"}"
]);
}, /cannot access super as this class has none/);
});
test("defining constructor as a mutator", function () {
assert.throws(function () {
transform.test([
"class Test {",
" get constructor() {",
" }",
"}"
]);
}, /unknown kind for constructor method/);
});
});