diff options
Diffstat (limited to 'node_modules/ava/lib/enhance-assert.js')
-rw-r--r-- | node_modules/ava/lib/enhance-assert.js | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/node_modules/ava/lib/enhance-assert.js b/node_modules/ava/lib/enhance-assert.js index 6e127b3d6..6991caf40 100644 --- a/node_modules/ava/lib/enhance-assert.js +++ b/node_modules/ava/lib/enhance-assert.js @@ -1,6 +1,7 @@ 'use strict'; const concordance = require('concordance'); const dotProp = require('dot-prop'); +const generate = require('babel-generator').default; const concordanceOptions = require('./concordance-options').default; // When adding patterns, don't forget to add to @@ -15,31 +16,16 @@ const PATTERNS = [ 't.notRegex(contents, regex, [message])' ]; -const isRangeMatch = (a, b) => { - return (a[0] === b[0] && a[1] === b[1]) || - (a[0] > b[0] && a[0] < b[1]) || - (a[1] > b[0] && a[1] < b[1]); -}; - -const computeStatement = (tokens, range) => { - return tokens - .filter(token => isRangeMatch(token.range, range)) - .map(token => token.value === undefined ? token.type.label : token.value) - .join(''); -}; - +const computeStatement = node => generate(node, {quotes: 'single'}).code; const getNode = (ast, path) => dotProp.get(ast, path.replace(/\//g, '.')); const formatter = context => { const ast = JSON.parse(context.source.ast); - const tokens = JSON.parse(context.source.tokens); const args = context.args[0].events; - return args .map(arg => { - const range = getNode(ast, arg.espath).range; - const statement = computeStatement(tokens, range); - + const node = getNode(ast, arg.espath); + const statement = computeStatement(node); const formatted = concordance.format(arg.value, concordanceOptions); return [statement, formatted]; }) |