abstract out run exec test logic and add mutiline function
This commit is contained in:
@@ -97,18 +97,7 @@ function run(task, done) {
|
||||
execCode = result.code;
|
||||
|
||||
try {
|
||||
var fakeRequire = function (loc) {
|
||||
if (loc === "../../../src/runtime/polyfills/Number.js") {
|
||||
return Number;
|
||||
} else if (loc === "../../../src/runtime/polyfills/Math.js") {
|
||||
return Math;
|
||||
} else {
|
||||
return require(path.resolve(exec.loc, "..", loc));
|
||||
}
|
||||
};
|
||||
|
||||
var fn = new Function("require", "assert", "exports", "done", "transform", execCode);
|
||||
fn.call(global, fakeRequire, chai.assert, {}, done, transform);
|
||||
runExec(exec.loc, execCode, done);
|
||||
} catch (err) {
|
||||
err.message = exec.loc + ": " + err.message;
|
||||
err.message += codeFrame(execCode);
|
||||
@@ -146,6 +135,25 @@ function run(task, done) {
|
||||
}
|
||||
}
|
||||
|
||||
function multiline(arr) {
|
||||
return arr.join("\n");
|
||||
}
|
||||
|
||||
function runExec(filename, execCode, done) {
|
||||
function fakeRequire(loc) {
|
||||
if (loc === "../../../src/runtime/polyfills/Number.js") {
|
||||
return Number;
|
||||
} else if (loc === "../../../src/runtime/polyfills/Math.js") {
|
||||
return Math;
|
||||
} else {
|
||||
return require(path.resolve(filename, "..", loc));
|
||||
}
|
||||
}
|
||||
|
||||
var fn = new Function("multiline", "require", "assert", "exports", "done", "transform", execCode);
|
||||
return fn.call(global, multiline, fakeRequire, chai.assert, {}, done, transform);
|
||||
}
|
||||
|
||||
exports.run = function (name, suiteOpts, taskOpts, dynamicOpts) {
|
||||
suiteOpts = suiteOpts || {};
|
||||
taskOpts = taskOpts || {};
|
||||
|
||||
Reference in New Issue
Block a user