UNPKG

748 BJavaScriptView Raw
1var test = require('tape');
2var evaluate = require('../');
3var parse = require('esprima').parse;
4
5test('resolved', function (t) {
6 t.plan(1);
7
8 var src = '[1,2,3+4*10+n,foo(3+5),obj[""+"x"].y]';
9 var ast = parse(src).body[0].expression;
10 var res = evaluate(ast, {
11 n: 6,
12 foo: function (x) { return x * 100 },
13 obj: { x: { y: 555 } }
14 });
15 t.deepEqual(res, [ 1, 2, 49, 800, 555 ]);
16});
17
18test('unresolved', function (t) {
19 t.plan(1);
20
21 var src = '[1,2,3+4*10*z+n,foo(3+5),obj[""+"x"].y]';
22 var ast = parse(src).body[0].expression;
23 var res = evaluate(ast, {
24 n: 6,
25 foo: function (x) { return x * 100 },
26 obj: { x: { y: 555 } }
27 });
28 t.equal(res, undefined);
29});