2015-01-22 15:21:02 +00:00
|
|
|
func_decl_params: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData(e, t) { }
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"},
|
|
|
|
|
{"a": 0, "b": 2, "f2": "FNPAR"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "chunkData"},
|
|
|
|
|
{"v": 1, "inf": "e"},
|
|
|
|
|
{"v": 2, "inf": "t"}
|
|
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func_simple_call: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData() {
|
|
|
|
|
foo();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func_args: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData(x) {
|
|
|
|
|
var n1 = "hello";
|
|
|
|
|
x.foo(b, n1, 42, n1, 42);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"},
|
|
|
|
|
{"a": 0, "b": 2, "f2": "FNDECL"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "chunkData"},
|
|
|
|
|
{"v": 1, "inf": "x"},
|
|
|
|
|
{"v": 2, "inf": "n1"}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inner_lambda_assign_local: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData(x) {
|
|
|
|
|
var local = function () {
|
|
|
|
|
console.log("hello");
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"},
|
|
|
|
|
{"a": 0, "b": 2, "f2": "FNDECL"},
|
|
|
|
|
{"a": 2, "b": 3, "f2": "FNCALL"},
|
|
|
|
|
{"a": 2, "b": 4, "f2": "FNSTRING"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "chunkData"},
|
|
|
|
|
{"v": 1, "inf": "x"},
|
|
|
|
|
{"v": 2, "inf": "local"},
|
|
|
|
|
{"v": 3, "giv": "log"},
|
2015-01-26 16:10:36 +00:00
|
|
|
{"v": 4, "giv": "!String!hello"}
|
2015-01-22 15:21:02 +00:00
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inner_lambda_assign_global: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData() {
|
|
|
|
|
global = function (a) {
|
|
|
|
|
console.log("hello");
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "global"},
|
|
|
|
|
{"v": 1, "inf": "a"}
|
|
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inner_lambda_assign_sub: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData() {
|
|
|
|
|
global[42] = function (a) {
|
|
|
|
|
console.log("hello");
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "global%5B%5D"},
|
|
|
|
|
{"v": 1, "inf": "a"}
|
|
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inner_lambda_prop: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData(x) {
|
|
|
|
|
n17.substring( {
|
|
|
|
|
"awesome_key" : function(a) {
|
|
|
|
|
console.log("hello");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"},
|
|
|
|
|
{"a": 2, "b": 3, "f2": "FNPAR"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "chunkData"},
|
|
|
|
|
{"v": 1, "inf": "x"},
|
|
|
|
|
{"v": 2, "giv": "awesome_key"},
|
|
|
|
|
{"v": 3, "inf": "a"}
|
|
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inner_lambda_arg: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData() {
|
|
|
|
|
foo.substring(a, function(x) {
|
|
|
|
|
console.log("hello");
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "substring(2)"},
|
|
|
|
|
{"v": 1, "inf": "x"}
|
|
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inner_lambda_arg2: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData() {
|
|
|
|
|
substring(a, function(b) {
|
|
|
|
|
console.log("hello");
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "substring(2)"},
|
|
|
|
|
{"v": 1, "inf": "b"}
|
|
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func_return: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function chunkData() {
|
|
|
|
|
var a = "foo";
|
|
|
|
|
return a;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNDECL"},
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNRETURN"}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "chunkData"},
|
|
|
|
|
{"v": 1, "inf": "a"}
|
|
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
2015-01-24 23:11:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func_scopes: {
|
|
|
|
|
options = {
|
|
|
|
|
features : "FNAMES, FSCOPE"
|
|
|
|
|
};
|
|
|
|
|
input: {
|
|
|
|
|
function foo(x,b){
|
|
|
|
|
var a = x + y + 1;
|
|
|
|
|
(function(r) {
|
|
|
|
|
return r + x;
|
|
|
|
|
})(2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
expect: {
|
|
|
|
|
'{
|
|
|
|
|
"query":[
|
|
|
|
|
{"a": 0, "b": 1, "f2": "FNPAR"},
|
|
|
|
|
{"a": 0, "b": 2, "f2": "FNPAR"},
|
|
|
|
|
{"a": 0, "b": 3, "f2": "FNDECL"},
|
|
|
|
|
{"cn":"!=", "n":[0,4]},
|
|
|
|
|
{"cn":"!=", "n":[0,1,2,3,4]},
|
|
|
|
|
{"cn":"!=", "n":[1,4,5]}
|
|
|
|
|
],
|
|
|
|
|
"assign":[
|
|
|
|
|
{"v": 0, "giv": "foo"},
|
|
|
|
|
{"v": 1, "inf": "x"},
|
|
|
|
|
{"v": 2, "inf": "b"},
|
|
|
|
|
{"v": 3, "inf": "a"},
|
|
|
|
|
{"v": 4, "giv": "y"},
|
|
|
|
|
{"v": 5, "inf": "r"}
|
|
|
|
|
]
|
|
|
|
|
}'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|