From 9d8ee901d147eea0c386e7448a3fed2f04487c85 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sun, 8 Nov 2015 05:32:59 -0800 Subject: [PATCH] abstract out run exec test logic and add mutiline function --- .../babel-core/test/_transformation-helper.js | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/packages/babel-core/test/_transformation-helper.js b/packages/babel-core/test/_transformation-helper.js index 588d64df02..470c33d3df 100644 --- a/packages/babel-core/test/_transformation-helper.js +++ b/packages/babel-core/test/_transformation-helper.js @@ -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 || {};