move traceur test suite to a git submodule
This commit is contained in:
parent
a8fad4b958
commit
7f87ca0d43
@ -16,11 +16,11 @@ var readFile = exports.readFile = function (filename) {
|
||||
}
|
||||
};
|
||||
|
||||
exports.get = function (entryName) {
|
||||
exports.get = function (entryName, entryLoc) {
|
||||
if (exports.cache[entryName]) return exports.cache[entryName];
|
||||
|
||||
var suites = [];
|
||||
var entryLoc = __dirname + "/fixtures/" + entryName;
|
||||
var entryLoc = entryLoc || __dirname + "/fixtures/" + entryName;
|
||||
|
||||
_.each(fs.readdirSync(entryLoc), function (suiteName) {
|
||||
if (suiteName[0] === ".") return;
|
||||
@ -133,4 +133,5 @@ try {
|
||||
var cache = exports.cache = {};
|
||||
cache.transformation = exports.get("transformation");
|
||||
cache.generation = exports.get("generation");
|
||||
cache.esnext = exports.get("esnext");
|
||||
}
|
||||
|
||||
@ -20,6 +20,19 @@ global.assert = chai.assert;
|
||||
global.chai = chai;
|
||||
global.genHelpers = genHelpers;
|
||||
|
||||
// Different Traceur generator message
|
||||
chai.assert._throw = chai.assert.throw;
|
||||
chai.assert.throw = function (fn, msg) {
|
||||
if (msg === '"throw" on executing generator' ||
|
||||
msg === '"next" on executing generator') {
|
||||
msg = "Generator is already running";
|
||||
} else if (msg === "Sent value to newborn generator") {
|
||||
msg = /^attempt to send (.*?) to newborn generator$/;
|
||||
}
|
||||
|
||||
return chai.assert._throw(fn, msg);
|
||||
};
|
||||
|
||||
var run = function (task, done) {
|
||||
var actual = task.actual;
|
||||
var expect = task.expect;
|
||||
@ -84,20 +97,30 @@ var run = function (task, done) {
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = function (name, opts) {
|
||||
if (opts && opts.requireHook) {
|
||||
require("6to5/register")(opts);
|
||||
}
|
||||
module.exports = function (suiteOpts, taskOpts, dynamicOpts) {
|
||||
taskOpts = taskOpts || {};
|
||||
|
||||
_.each(helper.get(name), function (testSuite) {
|
||||
suite(name + "/" + testSuite.title, function () {
|
||||
require("6to5/register")(taskOpts);
|
||||
|
||||
_.each(helper.get(suiteOpts.name, suiteOpts.loc), function (testSuite) {
|
||||
if (_.contains(suiteOpts.ignoreSuites, testSuite.title)) return;
|
||||
|
||||
suite(suiteOpts.name + "/" + testSuite.title, function () {
|
||||
_.each(testSuite.tests, function (task) {
|
||||
if (_.contains(suiteOpts.ignoreTasks, task.title) || _.contains(suiteOpts.ignoreTasks, testSuite.title + "/" + task.title)) return;
|
||||
|
||||
var runTest = function (done) {
|
||||
var runTask = function () {
|
||||
run(task, done);
|
||||
try {
|
||||
run(task, done);
|
||||
} catch (err) {
|
||||
if (task.options.after) task.options.after();
|
||||
throw err;
|
||||
}
|
||||
};
|
||||
|
||||
_.defaults(task.options, opts);
|
||||
_.extend(task.options, taskOpts);
|
||||
if (dynamicOpts) dynamicOpts(task.options, task);
|
||||
|
||||
var throwMsg = task.options.throws;
|
||||
if (throwMsg) {
|
||||
|
||||
@ -1,4 +1,2 @@
|
||||
--reporter dot
|
||||
--ui tdd
|
||||
--check-leaks
|
||||
--globals regeneratorRuntime
|
||||
|
||||
@ -1,5 +1,53 @@
|
||||
require("./_transformation-helper")("traceur", {
|
||||
blacklist: ["useStrict"],
|
||||
requireHook: true,
|
||||
experimental: true
|
||||
var _ = require("lodash");
|
||||
|
||||
require("./_transformation-helper")({
|
||||
name: "traceur",
|
||||
loc: __dirname + "/../vendor/traceur/test/feature",
|
||||
|
||||
ignoreSuites: [
|
||||
"ObjectMixin",
|
||||
"Annotations",
|
||||
"TestRunner",
|
||||
"Tools",
|
||||
"TempVarTransformer",
|
||||
"AtScript",
|
||||
"FreeVariableChecker",
|
||||
"TypeAssertions",
|
||||
"MemberVariables",
|
||||
"Types",
|
||||
|
||||
// REENABLE THESE
|
||||
"Destructuring",
|
||||
"Syntax",
|
||||
"StringExtras",
|
||||
"Symbol",
|
||||
"Yield",
|
||||
"Modules",
|
||||
"Spread",
|
||||
"Scope",
|
||||
"GeneratorComprehension"
|
||||
],
|
||||
|
||||
ignoreTasks: [
|
||||
"Strict",
|
||||
|
||||
// core.js doesn't support due to a perf hit and having to override a lot
|
||||
// of native methods
|
||||
"Symbol/GetOwnPropertySymbols",
|
||||
|
||||
// Traceur doesn't name methods and has an incorrect test asserting that
|
||||
// they have no names
|
||||
"PropertyMethodAssignment/PropertyMethodAssignment"
|
||||
]
|
||||
}, {
|
||||
optional: ["typeofSymbol"],
|
||||
experimental: true,
|
||||
after: function () {
|
||||
// StringExtras/StarsWith
|
||||
delete Object.prototype[1];
|
||||
}
|
||||
}, function (opts, task) {
|
||||
if (!_.contains(task.exec.loc, "module.js")) {
|
||||
opts.blacklist = ["useStrict"];
|
||||
}
|
||||
});
|
||||
|
||||
@ -1 +1,3 @@
|
||||
require("./_transformation-helper")("transformation");
|
||||
require("./_transformation-helper")({
|
||||
name: "transformation"
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user