123456789101112131415161718192021222324252627282930313233 |
- var falafel = require('../');
- var test = require('tape');
- test('parent', function (t) {
- t.plan(5);
-
- var src = '(function () {'
- + 'var xs = [ 1, 2, 3 ];'
- + 'fn(ys);'
- + '})()';
-
- var output = falafel(src, function (node) {
- if (node.type === 'ArrayExpression') {
- t.equal(node.parent.type, 'VariableDeclarator');
- t.equal(
- ffBracket(node.parent.source()),
- 'xs = [ 1, 2, 3 ]'
- );
- t.equal(node.parent.parent.type, 'VariableDeclaration');
- t.equal(
- ffBracket(node.parent.parent.source()),
- 'var xs = [ 1, 2, 3 ];'
- );
- node.parent.update('ys = 4;');
- }
- });
-
- Function(['fn'], output)(function (x) { t.equal(x, 4) });
- });
- function ffBracket (s) {
- return s.replace(/\[\s*/, '[ ').replace(/\s*\]/, ' ]');
- }
|