better traceur test api
This commit is contained in:
parent
6420954c53
commit
a3b30bae7a
@ -47,7 +47,7 @@ exports.get = function (entryName) {
|
|||||||
|
|
||||||
function push(taskName, taskDir) {
|
function push(taskName, taskDir) {
|
||||||
// tracuer error tests
|
// tracuer error tests
|
||||||
if (taskName.indexOf("Error_") === 0) return;
|
if (taskName.indexOf("Error_") >= 0) return;
|
||||||
|
|
||||||
var actualLocAlias = suiteName + "/" + taskName + "/actual.js";
|
var actualLocAlias = suiteName + "/" + taskName + "/actual.js";
|
||||||
var expectLocAlias = suiteName + "/" + taskName + "/expected.js";
|
var expectLocAlias = suiteName + "/" + taskName + "/expected.js";
|
||||||
@ -97,12 +97,12 @@ exports.get = function (entryName) {
|
|||||||
// traceur checks
|
// traceur checks
|
||||||
|
|
||||||
var shouldSkip = function (code) {
|
var shouldSkip = function (code) {
|
||||||
return code.indexOf("// Error:") === 0 || code.indexOf("// Skip.") === 0;
|
return code.indexOf("// Error:") >= 0 || code.indexOf("// Skip.") >= 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (shouldSkip(test.actual.code) || shouldSkip(test.exec.code)) {
|
if (shouldSkip(test.actual.code) || shouldSkip(test.exec.code)) {
|
||||||
return;
|
return;
|
||||||
} else if (test.exec.code.indexOf("// Async.")) {
|
} else if (test.exec.code.indexOf("// Async.") >= 0) {
|
||||||
//test.options.asyncExec = true;
|
//test.options.asyncExec = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -40,16 +40,18 @@ var run = function (task, done) {
|
|||||||
execCode = result.code;
|
execCode = result.code;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var requireRelative;
|
var fakeRequire = function (loc) {
|
||||||
if (opts.emulateNodeModule) {
|
if (loc === "../../../src/runtime/polyfills/Number.js") {
|
||||||
var mod = new Module(exec.loc);
|
return Number;
|
||||||
requireRelative = function (loc) {
|
} else if (loc === "../../../src/runtime/polyfills/Math.js") {
|
||||||
return mod.require(loc);
|
return Math;
|
||||||
};
|
} else {
|
||||||
|
return require(path.resolve(exec.loc, "..", loc));
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
var fn = new Function("require", "done", execCode);
|
var fn = new Function("require", "done", execCode);
|
||||||
fn(requireRelative, chai.assert, done);
|
fn.call(global, fakeRequire, chai.assert, done);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
err.message = exec.loc + ": " + err.message;
|
err.message = exec.loc + ": " + err.message;
|
||||||
err.message += util.codeFrame(execCode);
|
err.message += util.codeFrame(execCode);
|
||||||
@ -83,6 +85,10 @@ var run = function (task, done) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
module.exports = function (name, opts) {
|
module.exports = function (name, opts) {
|
||||||
|
if (opts && opts.requireHook) {
|
||||||
|
require("6to5/register")(opts);
|
||||||
|
}
|
||||||
|
|
||||||
_.each(helper.get(name), function (testSuite) {
|
_.each(helper.get(name), function (testSuite) {
|
||||||
suite(name + "/" + testSuite.title, function () {
|
suite(name + "/" + testSuite.title, function () {
|
||||||
_.each(testSuite.tests, function (task) {
|
_.each(testSuite.tests, function (task) {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
require("./_transformation-helper")("traceur", {
|
require("./_transformation-helper")("traceur", {
|
||||||
blacklist: ["useStrict"],
|
blacklist: ["useStrict"],
|
||||||
emulateNodeModule: true,
|
requireHook: true,
|
||||||
experimental: true
|
experimental: true
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user