diff --git a/lib/caching-precompiler.js b/lib/caching-precompiler.js index 59d0b5cd2..da6d11375 100644 --- a/lib/caching-precompiler.js +++ b/lib/caching-precompiler.js @@ -155,6 +155,7 @@ CachingPrecompiler.prototype._createEspowerPlugin = function () { // initialize power-assert return createEspowerPlugin(this.babel, { + embedAst: true, patterns: enhanceAssert.PATTERNS }); }; diff --git a/lib/enhance-assert.js b/lib/enhance-assert.js index 54210aeff..86908b89e 100644 --- a/lib/enhance-assert.js +++ b/lib/enhance-assert.js @@ -47,14 +47,14 @@ function enhanceAssert(opts) { } function formatter() { - var powerAssertFormatter = require('power-assert-formatter'); - var powerAssertRenderers = require('power-assert-renderers'); + var createFormatter = require('power-assert-context-formatter'); + var SuccinctRenderer = require('power-assert-renderer-succinct'); + var AssertionRenderer = require('power-assert-renderer-assertion'); - return powerAssertFormatter({ - maxDepth: 3, + return createFormatter({ renderers: [ - powerAssertRenderers.AssertionRenderer, - powerAssertRenderers.SuccinctRenderer + {ctor: AssertionRenderer}, + {ctor: SuccinctRenderer, options: {maxDepth: 3}} ] }); } diff --git a/package.json b/package.json index 72156fa58..ce68ae2b0 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "babel-core": "^6.3.21", "babel-plugin-ava-throws-helper": "0.0.4", "babel-plugin-detective": "^1.0.2", - "babel-plugin-espower": "^2.1.0", + "babel-plugin-espower": "^2.2.0", "babel-plugin-transform-runtime": "^6.3.13", "babel-preset-es2015": "^6.3.13", "babel-preset-stage-2": "^6.3.13", @@ -104,7 +104,7 @@ "convert-source-map": "^1.2.0", "core-assert": "^0.2.0", "debug": "^2.2.0", - "empower-core": "^0.5.0", + "empower-core": "^0.6.1", "figures": "^1.4.0", "find-cache-dir": "^0.1.1", "fn-name": "^2.0.0", @@ -132,8 +132,9 @@ "package-hash": "^1.1.0", "pkg-conf": "^1.0.1", "plur": "^2.0.0", - "power-assert-formatter": "^1.3.0", - "power-assert-renderers": "^0.1.0", + "power-assert-context-formatter": "^1.0.4", + "power-assert-renderer-assertion": "^1.0.1", + "power-assert-renderer-succinct": "^1.0.1", "pretty-ms": "^2.0.0", "repeating": "^2.0.0", "require-precompiled": "^0.1.0", @@ -149,6 +150,7 @@ "update-notifier": "^0.7.0" }, "devDependencies": { + "babel-preset-react": "^6.5.0", "cli-table2": "^0.2.0", "coveralls": "^2.11.4", "delay": "^1.3.0", diff --git a/test/api.js b/test/api.js index 9201f4a06..654bf67a9 100644 --- a/test/api.js +++ b/test/api.js @@ -650,9 +650,13 @@ function generateTests(prefix, apiCreator) { }); test(prefix + 'power-assert support', function (t) { - t.plan(3); + t.plan(5); - var api = apiCreator(); + var api = apiCreator({ + babelConfig: { + presets: ['react', 'es2015', 'stage-2'] + } + }); api.run([path.join(__dirname, 'fixture/power-assert.js')]) .then(function (result) { @@ -667,6 +671,16 @@ function generateTests(prefix, apiCreator) { result.errors[1].error.message, /with message\s+t\.true\(a === 'foo', 'with message'\)\s*\n\s+\|\s*\n\s+"bar"/m ); + + t.match( + result.errors[2].error.message, + /t\.true\(o === \{ ...o \}\)\s*\n\s+\|\s*\n\s+Object\{\}/m + ); + + t.match( + result.errors[3].error.message, + /t\.true\(
=== \)/m + ); }); }); diff --git a/test/fixture/power-assert.js b/test/fixture/power-assert.js index c1b940f5f..c494e7258 100644 --- a/test/fixture/power-assert.js +++ b/test/fixture/power-assert.js @@ -11,3 +11,15 @@ test.serial(t => { t.true(a === 'foo', 'with message'); }); + +test.serial(t => { + const o = {}; + + t.true(o === {...o}); +}); + +test.serial(t => { + const React = { createElement: function(type) { return type } } + + t.true( === ); +});