Sha256: abb39497efcb7e653fc8f7f36151b6210c2804fea945845d6637f03383c41293

Contents?: true

Size: 779 Bytes

Versions: 1

Compression:

Stored size: 779 Bytes

Contents

var assert = require('assert');
var burrito = require('../');
var vm = require('vm');

exports.ast = function () {
    var ast = burrito.parse('f(g(h(5)))', false, true);
    var src = burrito(ast, function (node) {
        if (node.name === 'call') {
            node.wrap(function (s) {
                return 'z(' + s + ')';
            });
        }
    });
    
    var times = 0;
    assert.equal(
        vm.runInNewContext(src, {
            f : function (x) { return x + 1 },
            g : function (x) { return x + 2 },
            h : function (x) { return x + 3 },
            z : function (x) {
                times ++;
                return x * 10;
            },
        }),
        (((((5 + 3) * 10) + 2) * 10) + 1) * 10
    );
    assert.equal(times, 3);
};

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
holmes-0.0.1 lib/holmes/node_modules/detective/node_modules/burrito/test/ast.js