Show More
Commit Description:
submission report
Commit Description:
submission report
References:
File last commit:
Show/Diff file:
Action:
node_modules/falafel/test/parent.js
| 33 lines
| 910 B
| application/javascript
| JavascriptLexer
|
r789 | 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*\]/, ' ]'); | ||||
} | ||||