300 lines
4.7 KiB
JavaScript
300 lines
4.7 KiB
JavaScript
|
|
truncate_constants: {
|
||
|
|
options = {
|
||
|
|
features : "ASTREL"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData() {
|
||
|
|
var x = "very long string, very long string, very long string, very long string, very long string, very long string, very long string, very long string, very long string, very long string, very long string, very long string";
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":VarDef:"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "inf": "x"},
|
||
|
|
{"v": 1, "giv": "very%20long%20string%2C%20very%20long%20string%2C%20very%20long%20string%2C%20very%20long%20"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
escape_constants: {
|
||
|
|
options = {
|
||
|
|
features : "ASTREL"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData() {
|
||
|
|
var x = '"quoted text"';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":VarDef:"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "inf": "x"},
|
||
|
|
{"v": 1, "giv": "%22quoted%20text%22"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
var_scope: {
|
||
|
|
options = {
|
||
|
|
features : "ASTREL"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData() {
|
||
|
|
var a = 1;
|
||
|
|
var b = 2;
|
||
|
|
var x = a + b;
|
||
|
|
x = a + b;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":VarDef:"},
|
||
|
|
{"a": 2, "b": 3, "f2": ":VarDef:"},
|
||
|
|
{"a": 4, "b": 0, "f2": ":VarDef:Binary+[0]"},
|
||
|
|
{"a": 4, "b": 2, "f2": ":VarDef:Binary+[1]"},
|
||
|
|
{"a": 0, "b": 2, "f2": ":Binary+:"},
|
||
|
|
{"a": 4, "b": 0, "f2": ":Assign=:Binary+[0]"},
|
||
|
|
{"a": 4, "b": 2, "f2": ":Assign=:Binary+[1]"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "inf": "a"},
|
||
|
|
{"v": 1, "giv": "1"},
|
||
|
|
{"v": 2, "inf": "b"},
|
||
|
|
{"v": 3, "giv": "2"},
|
||
|
|
{"v": 4, "inf": "x"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
this_scope: {
|
||
|
|
options = {
|
||
|
|
features : "ASTREL"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData(a) {
|
||
|
|
this.x = a;
|
||
|
|
}
|
||
|
|
|
||
|
|
function chunkData2(a) {
|
||
|
|
this.x = a;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":Assign=:"},
|
||
|
|
{"a": 2, "b": 1, "f2": "Dot[0]:Assign=:"},
|
||
|
|
{"a": 0, "b": 3, "f2": ":Assign=:"},
|
||
|
|
{"a": 2, "b": 3, "f2": "Dot[0]:Assign=:"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "giv": "x"},
|
||
|
|
{"v": 1, "inf": "a"},
|
||
|
|
{"v": 2, "giv": "this"},
|
||
|
|
{"v": 3, "inf": "a"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
this_is_given: {
|
||
|
|
options = {
|
||
|
|
features : "ASTREL"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData(a) {
|
||
|
|
this.x = a;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":Assign=:"},
|
||
|
|
{"a": 2, "b": 1, "f2": "Dot[0]:Assign=:"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "giv": "x"},
|
||
|
|
{"v": 1, "inf": "a"},
|
||
|
|
{"v": 2, "giv": "this"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
this_attr_scope: {
|
||
|
|
options = {
|
||
|
|
features : "ASTREL"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData(a,b) {
|
||
|
|
this.x = a;
|
||
|
|
this.x = b;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":Assign=:"},
|
||
|
|
{"a": 2, "b": 1, "f2": "Dot[0]:Assign=:"},
|
||
|
|
{"a": 0, "b": 3, "f2": ":Assign=:"},
|
||
|
|
{"a": 2, "b": 3, "f2": "Dot[0]:Assign=:"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "giv": "x"},
|
||
|
|
{"v": 1, "inf": "a"},
|
||
|
|
{"v": 2, "giv": "this"},
|
||
|
|
{"v": 3, "inf": "b"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
bool_const_type: {
|
||
|
|
options = {
|
||
|
|
features : "FNAMES"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData() {
|
||
|
|
var x = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": "FNDECL"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "giv": "chunkData"},
|
||
|
|
{"v": 1, "inf": "x"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
handles_toString_call: {
|
||
|
|
options = {
|
||
|
|
features : "FNAMES"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData() {
|
||
|
|
var x = true;
|
||
|
|
x.toString();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": "FNDECL"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "giv": "chunkData"},
|
||
|
|
{"v": 1, "inf": "x"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
escape_backslash: {
|
||
|
|
options = {
|
||
|
|
features : "FNAMES"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData(x) {
|
||
|
|
x.replace(/\s/g, "a");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": "FNPAR"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "giv": "chunkData"},
|
||
|
|
{"v": 1, "inf": "x"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func_no_duplicates: {
|
||
|
|
options = {
|
||
|
|
features : "ASTREL"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData() {
|
||
|
|
var a = new chunkData();
|
||
|
|
a = new chunkData();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":VarDef:New[0]"},
|
||
|
|
{"a": 0, "b": 1, "f2": ":Assign=:New[0]"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "inf": "a"},
|
||
|
|
{"v": 1, "giv": "chunkData"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func_allow_different_features_duplicates: {
|
||
|
|
options = {
|
||
|
|
features : "ASTREL"
|
||
|
|
};
|
||
|
|
input: {
|
||
|
|
function chunkData(x) {
|
||
|
|
x.foo(42, 42, 42, 42);
|
||
|
|
return 42;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":Dot:"},
|
||
|
|
{"a": 0, "b": 2, "f2": "Dot[0]:Call:"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "inf": "x"},
|
||
|
|
{"v": 1, "giv": "foo"},
|
||
|
|
{"v": 2, "giv": "42"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
method_name_fixed: {
|
||
|
|
input: {
|
||
|
|
function chunkData(x) {
|
||
|
|
x.foo();
|
||
|
|
bar();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
expect: {
|
||
|
|
'{
|
||
|
|
"query":[
|
||
|
|
{"a": 0, "b": 1, "f2": ":Dot:"},
|
||
|
|
{"a": 2, "b": 0, "f2": "FNPAR"}
|
||
|
|
],
|
||
|
|
"assign":[
|
||
|
|
{"v": 0, "inf": "x"},
|
||
|
|
{"v": 1, "giv": "foo"},
|
||
|
|
{"v": 2, "giv": "chunkData"}
|
||
|
|
]
|
||
|
|
}'
|
||
|
|
}
|
||
|
|
}
|