diff options
Diffstat (limited to 'tools/node_modules/expresso/deps/jscoverage/tests/javascript')
44 files changed, 582 insertions, 0 deletions
diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-array-comprehension.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-array-comprehension.js new file mode 100644 index 0000000..2d9b048 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-array-comprehension.js @@ -0,0 +1,14 @@ +// https://developer.mozilla.org/en/New_in_JavaScript_1.7 + +function range(begin, end) { + for (let i = begin; i < end; ++i) { + yield i; + } +} +var ten_squares = [i * i for each (i in range(0, 10))]; +var evens = [i for each (i in range(0, 21)) if (i % 2 == 0)]; + +// test optimization +var optimized = [i for each (i in x) if (0)]; + +[i for each (a in x) for each (b in y)] diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-assign.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-assign.js new file mode 100644 index 0000000..d17bdd1 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-assign.js @@ -0,0 +1,14 @@ +var x = 1; +var y = 1; +x = y; +x += y; +x -= y; +x *= y; +x %= y; +x <<= y; +x >>= y; +x >>>= y; +x &= y; +x |= y; +x ^= y; +x /= y; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-colon.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-colon.js new file mode 100644 index 0000000..69bade1 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-colon.js @@ -0,0 +1,7 @@ +x: + y = 0; + +y: { + let y = 1; + print(y); +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-comma.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-comma.js new file mode 100644 index 0000000..15c162c --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-comma.js @@ -0,0 +1 @@ +x = y, y = x; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-cr.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-cr.js new file mode 100644 index 0000000..fad02c7 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-cr.js @@ -0,0 +1 @@ +/*
This file has CR line endings.
*/
var x = 1;
\ No newline at end of file diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-crlf.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-crlf.js new file mode 100644 index 0000000..53dcd0e --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-crlf.js @@ -0,0 +1,4 @@ +/*
+This file has CRLF line endings.
+*/
+var x = 1;
diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-debugger.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-debugger.js new file mode 100644 index 0000000..dc33421 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-debugger.js @@ -0,0 +1,6 @@ +try { + f(); +} +catch (e) { + debugger; +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-dec.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-dec.js new file mode 100644 index 0000000..46d5bc3 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-dec.js @@ -0,0 +1,2 @@ +x--; +--x; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-delete.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-delete.js new file mode 100644 index 0000000..ae9a3d0 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-delete.js @@ -0,0 +1 @@ +delete x; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-destructuring.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-destructuring.js new file mode 100644 index 0000000..c8cf4c9 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-destructuring.js @@ -0,0 +1,42 @@ +// https://developer.mozilla.org/en/New_in_JavaScript_1.7 + +[a, b] = [b, a]; + +function f() { + return [1, 2]; +} +[a, b] = f(); + +for (let [name, value] in Iterator(obj)) { + print(name); + print(value); +} + +for each (let {name: n, family: { father: f } } in people) { + print(n); + print(f); +} + +var [a, , b] = f(); +[,,,] = f(); + +function g() { + var parsedURL = /^(\w+)\:\/\/([^\/]+)\/(.*)$/.exec(url); + if (!parsedURL) + return null; + var [, protocol, fullhost, fullpath] = parsedURL; +} + +function h(a, [b, c], {foo: d, 'bar': e}) { + f(); + g(); +} + +x = function([a, b]) a + b; + +({x: x0, y: y0}) = point; +var {x: x0, y: y0} = point; +let ({x: x0, y: y0} = point) { + print(x0); + print(y0); +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-do.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-do.js new file mode 100644 index 0000000..e6bbee9 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-do.js @@ -0,0 +1,10 @@ +var x; + +do { + x = false; +} +while (x); + +do + x = false; +while (x); diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-dot.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-dot.js new file mode 100644 index 0000000..0b35cdc --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-dot.js @@ -0,0 +1,8 @@ +x.y = y.x; +x["y"] = y["x"]; +x[y] = y[x]; +x['2y'] = y['var']; +x[''] = y[""]; + +print(123.0.toString()); +({}.toString()); diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-empty.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-empty.js new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-empty.js diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-for.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-for.js new file mode 100644 index 0000000..166b586 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-for.js @@ -0,0 +1,22 @@ +for (i in x) { + x(); +} + +for (var i in x) { + x(); +} + +for (i = 0; i < x; i++) { + x(); +} + +for (var j = 0; j < x; j++) { + x(); +} + +for (i in x) + x(); + +for (i.value in x) { + x(); +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-foreach.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-foreach.js new file mode 100644 index 0000000..52cb266 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-foreach.js @@ -0,0 +1,8 @@ +/* +https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Object_Manipulation_Statements +https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Statements/for_each...in +*/ + +for each (var item in obj) { + sum += item; +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-function.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-function.js new file mode 100644 index 0000000..94fc8bd --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-function.js @@ -0,0 +1,38 @@ +function x() {} + +function x() { + ; +} + +function x() { + x(); + return 'x'; +} + +function x(a) { + x(); +} + +function x(a, b) { + x(); +} + +x = function() { + x(); +}; + +(function () { + print('x'); +})(); + +(function (a) { + print('x'); +})(1); + +(function (a, b) { + print('x'); +})(1, 2); + +(function () { + print('x'); +}).call(window); diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-generator-expression.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-generator-expression.js new file mode 100644 index 0000000..cafec77 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-generator-expression.js @@ -0,0 +1,18 @@ +// https://developer.mozilla.org/en/New_in_JavaScript_1.8 + +let it = (i + 3 for (i in someObj)); +try { + while (true) { + document.write(it.next() + "<br>\n"); + } +} catch (err if err instanceof StopIteration) { + document.write("End of record.<br>\n"); +} + +function handleResults( results ) { + for ( let i in results ) + ; +} +handleResults( i for ( i in obj ) if ( i > 3 ) ); + +it = (1 for(a in x) for(b in y)); diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-generator.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-generator.js new file mode 100644 index 0000000..6c1f32a --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-generator.js @@ -0,0 +1,11 @@ +// https://developer.mozilla.org/en/New_in_JavaScript_1.7 + +function fib() { + var i = 0, j = 1; + while (true) { + yield i; + var t = i; + i = j; + j += t; + } +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-getter-setter.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-getter-setter.js new file mode 100644 index 0000000..31fca86 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-getter-setter.js @@ -0,0 +1,19 @@ +var o = { + _x: 123, + get x() { + return this._x; + }, + set x(value) { + this._x = value; + } +}; + +o = { + _x: 123, + get x get_x() { + return this._x; + }, + set x set_x(value) { + this._x = value; + } +}; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-hook.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-hook.js new file mode 100644 index 0000000..0e690f8 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-hook.js @@ -0,0 +1,2 @@ +var x = 1; +var y = x === 1? "x": "y"; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-if.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-if.js new file mode 100644 index 0000000..43d489e --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-if.js @@ -0,0 +1,30 @@ +var x = 0; + +if (x) + x = 0; + +if (x) { + x = 0; +} + +if (x) + x = 0; +else + x = 0; + +if (x) { + x = 0; +} +else { + x = 0; +} + +if (x) { + x = 0; +} +else if (x) { + x = 0; +} +else { + x = 0; +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-in.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-in.js new file mode 100644 index 0000000..75ba66e --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-in.js @@ -0,0 +1,4 @@ +var x = {}; +if ('a' in x) { + x = null; +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-inc.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-inc.js new file mode 100644 index 0000000..065c7bf --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-inc.js @@ -0,0 +1,2 @@ +x++; +++x; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-iso-8859-1.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-iso-8859-1.js new file mode 100644 index 0000000..2658cee --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-iso-8859-1.js @@ -0,0 +1,2 @@ +var s = 'eèéê'; +var r = /eèéê/; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-lambda.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-lambda.js new file mode 100644 index 0000000..0e5062f --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-lambda.js @@ -0,0 +1,3 @@ +// https://developer.mozilla.org/en/New_in_JavaScript_1.8 + +var square = function(x) x * x; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-let.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-let.js new file mode 100644 index 0000000..7bb777b --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-let.js @@ -0,0 +1,79 @@ +// https://developer.mozilla.org/en/New_in_JavaScript_1.7 + +// let statement + +let (x = x+10, y = 12) { + print(x+y + "\n"); +} + +// let expressions + +print( let(x = x + 10, y = 12) x+y + "<br>\n"); + +// let definitions + +if (x > y) { + let gamma = 12.7 + y; + i = gamma * x; +} + +var list = document.getElementById("list"); + +for (var i = 1; i <= 5; i++) { + var item = document.createElement("LI"); + item.appendChild(document.createTextNode("Item " + i)); + + let j = i; + item.onclick = function (ev) { + alert("Item " + j + " is clicked."); + }; + list.appendChild(item); +} + +function varTest() { + var x = 31; + if (true) { + var x = 71; // same variable! + alert(x); // 71 + } + alert(x); // 71 +} + +function letTest() { + let x = 31; + if (true) { + let x = 71; // different variable + alert(x); // 71 + } + alert(x); // 31 +} + +function letTests() { + let x = 10; + + // let-statement + let (x = x + 20) { + alert(x); // 30 + } + + // let-expression + alert(let (x = x + 20) x); // 30 + + // let-definition + { + let x = x + 20; // x here evaluates to undefined + alert(x); // undefined + 20 ==> NaN + } +} + +var x = 'global'; +let x = 42; +document.write(this.x + "<br>\n"); + +// let-scoped variables in for loops +var i=0; +for ( let i=i ; i < 10 ; i++ ) + document.write(i + "<br>\n"); + +for ( let [name,value] in obj ) + document.write("Name: " + name + ", Value: " + value + "<br>\n"); diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-lf.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-lf.js new file mode 100644 index 0000000..2741068 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-lf.js @@ -0,0 +1,4 @@ +/* +This file has LF line endings. +*/ +var x = 1; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-new.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-new.js new file mode 100644 index 0000000..6801585 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-new.js @@ -0,0 +1,4 @@ +function X() {} +x = new X(); +x = new X(1); +x = new X(1, 2); diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-number.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-number.js new file mode 100644 index 0000000..95603d7 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-number.js @@ -0,0 +1,19 @@ +x = 1; +y = 2; +z = 10.5; + +a = 1 / 0; +a = -1 / 0; + +a = 0; +a = -0; + +a = 0 / 0; +a = 0 / -0; +a = 0 / (-0); +a = -0 / 0; +a = (-0) / 0; +a = -0 / -0; +a = -0 / (-0); +a = (-0) / -0; +a = (-0) / (-0); diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-object.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-object.js new file mode 100644 index 0000000..83ce7be --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-object.js @@ -0,0 +1,2 @@ +x = /x\(\)\\\//i; +y = /\u0001\u002f/gm; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-op.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-op.js new file mode 100644 index 0000000..9c6e8bb --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-op.js @@ -0,0 +1,55 @@ +var a = 1, b = 1, c = 1, d = 1; + +/* TOK_OR */ +x = a || b || c; +x = a || b || c || d; + +/* TOK_AND */ +x = a && b && c; +x = a && b && c && d; + +x = a && b || c; + +x = a || b && c; + +// TOK_BITOR +x = a | b | c; +x = a | b | c | d; + +// TOK_BITXOR +x = a ^ b ^ c; +x = a ^ b ^ c ^ d; + +// TOK_BITAND +x = a & b & c; +x = a & b & c & d; + +// TOK_EQUOP +x = a == b; +x = a != b; +x = a === b; +x = a !== b; + +// TOK_RELOP +x = a < b; +x = a <= b; +x = a > b; +x = a >= b; + +// TOK_SHOP +x = a << b; +x = a >> b; +x = a >>> b; + +/* TOK_PLUS, TOK_MINUS */ +x = a + b; +x = a + b + c; +x = a + b + c + d; +x = a - b; + +// TOK_STAR, TOK_DIVOP +x = a * b; +x = a * b * c; +x = a * b * c * d; +x = a / b; +x = a % b; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-primary.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-primary.js new file mode 100644 index 0000000..9a7bc4e --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-primary.js @@ -0,0 +1,4 @@ +x = true; +x = false; +x = null; +x = this; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rb.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rb.js new file mode 100644 index 0000000..57e897c --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rb.js @@ -0,0 +1,5 @@ +x = []; +x = [x]; +x = [x, y]; +x = [x, y,]; +x = [x,, y]; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rc.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rc.js new file mode 100644 index 0000000..f654a9a --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rc.js @@ -0,0 +1,7 @@ +x = { + x: y +}; +x = { + x: y, + y: x +}; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rp.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rp.js new file mode 100644 index 0000000..2e17573 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-rp.js @@ -0,0 +1 @@ +x = a + (b - c); diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-special-characters.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-special-characters.js new file mode 100644 index 0000000..dc8ec36 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-special-characters.js @@ -0,0 +1,11 @@ +function f() {
+ return '\'';
+}
+
+function g() {
+ return "\"";
+}
+
+function h() {
+ return '\\';
+}
diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-string.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-string.js new file mode 100644 index 0000000..463824a --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-string.js @@ -0,0 +1,11 @@ +x = ""; +x = ''; +x = "x"; +x = 'x'; +x = "\""; +x = '\''; +x = "\b\t\n\v\f\r\"\'\\"; +x = new RegExp('x\\(\\)\\\\\\/'); + +x = 'foo\ +bar'; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-switch.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-switch.js new file mode 100644 index 0000000..bb6e01e --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-switch.js @@ -0,0 +1,21 @@ +switch (x) { +case x: + x = 0; + break; +case y: + x = 0; + y = 0; + break; +default: + x = 0; + break; +} + +switch (x) { +case 1: + let y = 1; + f(y); + break; +case 2: + break; +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-throw.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-throw.js new file mode 100644 index 0000000..1fc73c4 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-throw.js @@ -0,0 +1,6 @@ +try { + throw "x"; +} +catch (e) { + ; +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-try.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-try.js new file mode 100644 index 0000000..47a5de4 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-try.js @@ -0,0 +1,32 @@ +function f() {} + +try { + f(); +} +catch (e) { + f(); +} + +try { + f(); +} +catch (e if e instanceof E) { + f(); +} + +try { + f(); +} +finally { + f(); +} + +try { + f(); +} +catch (e) { + f(); +} +finally { + f(); +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-unaryop.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-unaryop.js new file mode 100644 index 0000000..0173913 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-unaryop.js @@ -0,0 +1,6 @@ +x = -x; +x = +x; +x = !x; +x = ~x; +x = typeof x; +x = void x; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-var.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-var.js new file mode 100644 index 0000000..4902a44 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-var.js @@ -0,0 +1,2 @@ +var x; +var y = x, z = x; diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-while.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-while.js new file mode 100644 index 0000000..f1ec6b5 --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-while.js @@ -0,0 +1,35 @@ +while (x) { + x(); +} + +while (x) { + ; +} + +while (x) + x(); + +while (x) + ; + +while (x) { + if (x) { + continue; + } +} + +label: +while (x) { + if (x) { + continue label; + } +} + +label2: { + f(); + while (x) { + if (x) { + break label2; + } + } +} diff --git a/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-with.js b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-with.js new file mode 100644 index 0000000..58fd1ac --- /dev/null +++ b/tools/node_modules/expresso/deps/jscoverage/tests/javascript/javascript-with.js @@ -0,0 +1,9 @@ +function f() {} +var x = {}; + +with (x) { + f(); +} + +with (x) + f(); |