UNPKG

975 BJavaScriptView Raw
1var falafel = require('../');
2var acorn = require('acorn-jsx');
3var test = require('tape');
4
5test('custom parser', function (t) {
6
7 var src = '(function() { var f = {a: "b"}; var a = <div {...f} className="test"></div>; })()';
8
9 var nodeTypes = [
10 'Identifier',
11 'Identifier',
12 'Literal',
13 'Property',
14 'ObjectExpression',
15 'VariableDeclarator',
16 'VariableDeclaration',
17 'Identifier',
18 'Identifier',
19 'JSXSpreadAttribute',
20 'JSXIdentifier',
21 'Literal',
22 'JSXAttribute',
23 'JSXIdentifier',
24 'JSXOpeningElement',
25 'JSXIdentifier',
26 'JSXClosingElement',
27 'JSXElement',
28 'VariableDeclarator',
29 'VariableDeclaration',
30 'BlockStatement',
31 'FunctionExpression',
32 'CallExpression',
33 'ExpressionStatement',
34 'Program'
35 ];
36
37 t.plan(nodeTypes.length);
38
39 var output = falafel(src, {parser: acorn, ecmaVersion: 6, plugins: { jsx: true }}, function(node) {
40 t.equal(node.type, nodeTypes.shift());
41 });
42});