add esvalid validation to transformation tests

This commit is contained in:
Sebastian McKenzie
2015-01-06 12:08:40 +11:00
parent 2558a5e12e
commit e3174d5a39
4 changed files with 20 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
var genHelpers = require("./_generator-helpers");
var transform = require("../lib/6to5/transformation/transform");
var sourceMap = require("source-map");
var esvalid = require("esvalid");
var Module = require("module");
var helper = require("./_helper");
var assert = require("assert");
@@ -48,8 +49,22 @@ var run = function (task, done) {
var execCode = exec.code;
var result;
var checkAst = function (result) {
if (opts.noCheckAst) return;
var errors = esvalid.errors(result.ast.program);
if (errors.length) {
var msg = [];
_.each(errors, function (err) {
msg.push(err.message + " - " + JSON.stringify(err.node));
});
throw new Error(msg.join(". "));
}
};
if (execCode) {
result = transform(execCode, getOpts(exec));
checkAst(result);
execCode = result.code;
try {
@@ -76,6 +91,7 @@ var run = function (task, done) {
var expectCode = expect.code;
if (!execCode || actualCode) {
result = transform(actualCode, getOpts(actual));
checkAst(result);
actualCode = result.code;
chai.expect(actualCode).to.be.equal(expectCode, actual.loc + " !== " + expect.loc);

View File

@@ -1,3 +1,4 @@
{
"noCheckAst": true,
"optional": ["asyncToGenerator"]
}

View File

@@ -1,3 +1,4 @@
{
"optional": ["bluebirdCoroutines"]
"optional": ["bluebirdCoroutines"],
"noCheckAst": true
}