diff --git a/test/_transformation-helper.js b/test/_transformation-helper.js index 0539c6b79a..a1da9ce4bf 100644 --- a/test/_transformation-helper.js +++ b/test/_transformation-helper.js @@ -16,6 +16,14 @@ global.assertNoOwnProperties = function (obj) { assert.equal(Object.getOwnPropertyNames(obj).length, 0); }; +global.assertHasOwnProperty = function () { + +}; + +global.assertLacksOwnProperty = function () { + +}; + global.assertArrayEquals = assert.deepEqual; global.assert = chai.assert; global.chai = chai; @@ -129,12 +137,7 @@ module.exports = function (suiteOpts, taskOpts, dynamicOpts) { var runTest = function (done) { var runTask = function () { - try { - run(task, done); - } catch (err) { - if (task.options.after) task.options.after(); - throw err; - } + run(task, done); }; _.extend(task.options, taskOpts); diff --git a/test/traceur.js b/test/traceur.js index 72dc64e7fc..1c5f9f91fc 100644 --- a/test/traceur.js +++ b/test/traceur.js @@ -10,6 +10,18 @@ require("./_transformation-helper")({ loc: __dirname + "/../vendor/traceur/test/feature", ignoreSuites: [ + "Modules", + "Classes", + + // these are the responsibility of regenerator + "AsyncFunctions", + "Yield", + + // these are the responsibility of core-js + "StringExtras", + "ArrayExtras", + "Collections", + // these are all internal traceur tests or non-standard features "ObjectMixin", "Annotations", @@ -24,9 +36,24 @@ require("./_transformation-helper")({ ], ignoreTasks: [ - // core.js doesn't support due to a perf hit and having to override a lot - // of native methods + // these are the responsibility of core-js "Symbol/GetOwnPropertySymbols", + "Spread/Type", + "Symbol/ObjectModel", + "Symbol/Object", + "Spread/NoIterator", + "Destructuring/Rest", + "Destructuring/Empty", + + // traceur uses an old version of regexpu + "RegularExpression/Simple", + + // class methods are still enumerable in traceur + "NumericLiteral/Simple", + "Classes/Method", + + // Object.mixin didn't make it into ES6 + "ObjectMixin", // traceur doesn't name methods and has an incorrect test asserting that // they have no names @@ -38,20 +65,17 @@ require("./_transformation-helper")({ "Syntax/UseStrictLineContinuation", // experimental es7 - the spec hasn't been finalized yet - // these both fail because of filter between blocks + // these both fail because of filters between blocks "ArrayComprehension/Simple", "GeneratorComprehension/Simple", - // yield has been added as a keyword in ES6 so this test is actually incorrect - "Yield/YieldIdentifier" + // yield has been added as a keyword in ES6 + "Yield/YieldIdentifier", + "Syntax/StrictKeywords" ] }, { - optional: ["typeofSymbol"], - experimental: true, - after: function () { - // StringExtras/StarsWith - delete Object.prototype[1]; - } + optional: ["spec.typeofSymbol"], + experimental: true }, function (opts, task) { if (!_.contains(task.exec.loc, "module.js")) { opts.blacklist = ["useStrict"];