aboutsummaryrefslogtreecommitdiff
path: root/node_modules/ava/lib/enhance-assert.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/ava/lib/enhance-assert.js')
-rw-r--r--node_modules/ava/lib/enhance-assert.js22
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];
})