jerryscript/tests/jerry/test_suite_12.js
Robert Fancsik cc4ac497b7
Merge jerry-test-suite into jerry tests (#3907)
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
2020-06-17 13:00:41 +02:00

1997 lines
26 KiB
JavaScript

// Copyright JS Foundation and other contributors, http://js.foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
(function tc_12_02__007() {
var a = 'undefined';
assert(a === 'undefined');
})();
(function tc_12_02__019() {
var
a = 2
assert(a === 2);
})();
(function tc_12_02__022() {
var a = 1;
var b = a;
assert(a === b);
})();
(function tc_12_02__003() {
var a = null;
assert(a === null);
})();
(function tc_12_02__001() {
var a;
assert(a === undefined);
})();
(function tc_12_02__006() {
var a = 'undefined';
assert(a === "undefined");
})();
(function tc_12_02__014() {
var
$a = 2;
assert($a === 2);
})();
(function tc_12_02__010() {
var a, b = 3.14, c;
assert(a === undefined && b === 3.14 && c === undefined)
})();
(function tc_12_02__004() {
var a = undefined;
assert(a === undefined);
})();
(function tc_12_02__005() {
var a = "undefined";
assert(a === "undefined");
})();
(function tc_12_02__009() {
var a = 1,
b,
c = 4;
b = a + c;
assert(b === 5);
})();
(function tc_12_02__011() {
var a, b, c;
assert(a === undefined && b === undefined && c === undefined);
})();
(function tc_12_02__002() {
var a = 12345;
assert(a === 12345);
})();
(function tc_12_02__020() {
var a = RegExp();
assert(a instanceof RegExp);
})();
(function tc_12_02__015() {
var a = 12 + "abc";
assert(a === "12abc");
})();
(function tc_12_02__018() {
var a = [];
assert(a instanceof Array && a.length === 0);
})();
(function tc_12_02__016() {
var a = {};
var b = typeof (a);
assert(b === "object" && b === typeof (Object()) && b === typeof ({}));
})();
(function tc_12_02__008() {
var a = false, b = true;
assert(a === false && b === true);
})();
(function tc_12_02__013() {
var
_a$1 = 2;
assert(_a$1 === 2);
})();
(function tc_12_02__012() {
var
_a1 = 2;
assert(_a1 === 2);
})();
(function tc_12_02__021() {
var a = new Date();
assert(a instanceof Date);
})();
(function tc_12_02_01__002() {
var arguments = 2;
assert(arguments === 2 && typeof (arguments) === "number");
})();
(function tc_12_02_01__001() {
var eval = 1;
assert(eval === 1 && typeof (eval) === "number");
})();
(function tc_12_12__006() {
var x = 0;
lablemark:
if (x < 6) {
++x;
break lablemark;
}
assert(x !== 6);
})();
(function tc_12_12__010() {
var x = 0;
for (i = 0; i < 10; ++i) {
lablemark:
for (j = 0; j < 10; ++j) {
for (k = 0; k < 10; ++k) {
++x;
continue lablemark;
}
}
}
assert(x == 100)
})();
(function tc_12_12__007() {
var x = 0;
for (i = 0; i < 10; ++i) {
for (j = 0; j < 10; ++j) {
lablemark:
for (k = 0; k < 10; ++k) {
++x;
break lablemark;
}
}
}
assert(x == 100)
})();
(function tc_12_12__003() {
switchMark:
switch (1) {
case 0:
break;
case 1:
break switchMark;
case 2:
assert(false);
}
})();
(function tc_12_12__009() {
var x = 0;
lablemark:
for (i = 0; i < 10; ++i) {
for (j = 0; j < 10; ++j) {
for (k = 0; k < 10; ++k) {
++x;
break lablemark;
}
}
}
assert(x == 1)
})();
(function tc_12_12__008() {
var x = 0;
for (i = 0; i < 10; ++i) {
lablemark:
for (j = 0; j < 10; ++j) {
for (k = 0; k < 10; ++k) {
++x;
break lablemark;
}
}
}
assert(x == 10)
})();
(function tc_12_12__005() {
whileMark:
for (i = 0; i < 10; ++i) {
continue whileMark;
assert(false);
}
})();
(function tc_12_12__001() {
loop:
while (true) {
break loop;
}
})();
(function tc_12_12__004() {
var i = 0;
whileMark:
while (i < 10) {
++i;
continue whileMark;
assert(false);
}
})();
(function tc_12_12__002() {
loop:
while (true) {
do {
for (; true; ) {
break loop;
}
} while (true);
}
})();
(function tc_12_03__003() {
var a="ab;c"
;
;
assert (a === 'ab;c');
})();
(function tc_12_03__001() {
function test()
{
;
return 1;;;;;;
}
test();
})();
(function tc_12_03__002() {
function test()
{
;;;;;;
return 1
}
test();
})();
(function tc_12_05__001() {
function test()
{
if (true) {
return 1;
}
assert(false);
}
test();
})();
(function tc_12_05__007() {
var a = 1, b = 2;
var c;
if (a === 1)
{
if (b === 1)
c = 3;
}
else
if (b === 2)
c = 5;
else
c = 7;
assert(c === undefined);
})();
(function tc_12_05__008() {
var a = 1, b = 2;
var c;
if (a === 1)
if (b === 1)
c = 3;
else
if (b === 2)
c = 5;
else
c = 7;
assert(c === 5);
})();
(function tc_12_05__004() {
function test()
{
if (false)
assert(false);
else {
return 1;
}
}
test();
})();
(function tc_12_05__006() {
var a = 'w\0', b = 'w\0';
assert(a === b);
})();
(function tc_12_05__002() {
function test()
{
if (false) {
assert(false);
}
}
test();
})();
(function tc_12_05__005() {
function test()
{
if(true);
}
test();
})();
(function tc_12_05__003() {
function test()
{
if (true)
{
return 1;
}
else
assert(false);
}
test();
})();
(function tc_12_06_03__008() {
var sum = 1;
for (var i = 0; i < 10; i++, sum *= i)
;
assert(sum === 3628800);
})();
(function tc_12_06_03__010() {
for
(
var i = 0
;
i < 10
;
i++
)
{
i++;
}
assert(i == 10);
})();
(function tc_12_06_03__005() {
var i = 0;
for (; ; )
{
if (i++ === 100)
break;
}
})();
(function tc_12_06_03__004() {
var i;
for (i = 1; i < 20; )
i *= 2;
assert(i === 32);
})();
(function tc_12_06_03__011() {
var i;
function test()
{
for (i = 0; i < 10; i++)
{
if (i === 4)
return 1;
}
return 0;
}
var r = test();
assert(r === 1 && i === 4);
})();
(function tc_12_06_03__009() {
var init;
for (init = (129 - 8) / 11; init != 11; )
{
init = 33;
}
assert(init == 11);
})();
(function tc_12_06_03__001() {
var cnt = 1;
for (var i = 0; i < 10; i++)
cnt++;
assert(cnt === 11 && i === 10);
})();
(function tc_12_06_03__006() {
var sum = 0;
for (var i = 1; i <= 10; i++)
{
for (var j = 1; j <= 5; j++)
{
sum += i * j;
}
}
assert(sum === 825);
})();
(function tc_12_06_03__007() {
var sum = 0;
for (var i = 1, j = 1, k = 1; i + j + k <= 100; i++, j += 2, k += 3)
{
sum += i + j + k;
}
assert(sum == 867);
})();
(function tc_12_06_03__003() {
var i;
for (i = 0; ; i += 5)
{
if (i === 100)
break;
}
})();
(function tc_12_06_03__002() {
var cond = 1.999;
var cnt = 0;
for (; cond < 10.333; cond += 1.121)
cnt++;
assert(cnt == 8);
})();
(function tc_12_06_04__007() {
var o = {a: 1, b: 2, c: 3, d: 4, e: 5};
function test()
{
for (var p in o)
{
if (p === 'c')
return 1;
o[p] += 4;
}
return 0;
}
var r = test();
assert(((o.a === 5 && o.b === 6 && o.c === 3) ||
(o.c === 3 && o.d === 8 && o.e === 9)) && r === 1);
})();
(function tc_12_06_04__006() {
var o = {a: 1, b: 2, c: 3};
for
(
var
p in o
)
{
o[p] += 4;
}
assert(o.a === 5 && o.b === 6 && o.c === 7);
})();
(function tc_12_06_04__002() {
var a = new Array(1, 2, 3, 4, 5, 6, 7);
a.eight = 8;
var p;
for (p in a)
{
a[p] += 1;
}
assert(a[0] === 2 && a[1] === 3 && a[2] === 4 && a[3] === 5 &&
a[4] === 6 && a[5] === 7 && a[6] === 8 && a['eight'] === 9);
})();
(function tc_12_06_04__005() {
var b = {basep: "base"};
function dConstr()
{
this.derivedp = "derived";
}
dConstr.prototype = b;
var d = new dConstr();
for (var p in d)
{
d[p] += "A";
}
assert(d.basep === "baseA" && d.derivedp === "derivedA");
})();
(function tc_12_06_04__004() {
var a;
for (var p in a)
{
assert(false);
}
})();
(function tc_12_06_04__001() {
var o = {a: 1, b: 2, c: 3};
for (var p in o)
{
o[p] += 4;
}
assert(o.a === 5 && o.b === 6 && o.c === 7);
})();
(function tc_12_06_04__003() {
var a = null;
for (var p in a)
{
assert(false);
}
})();
(function tc_12_06_01__002() {
var cnt = 1;
do
{
cnt++;
if (cnt === 42) {
break;
}
} while (true);
})();
(function tc_12_06_01__010() {
var cnt = 0;
function test()
{
do
{
cnt++;
if (cnt === 8)
return 1;
}
while (cnt < 10);
return 0;
}
var r = test();
assert(cnt === 8 && r === 1);
})();
(function tc_12_06_01__009() {
var cnt = 0;
do
{
cnt++;
}
while
(cnt < 10
);
assert(cnt === 10);
})();
(function tc_12_06_01__006() {
var cnt = 1;
do
{
cnt++;
}
while (false);
assert(cnt === 2);
})();
(function tc_12_06_01__001() {
var cnt = 1;
do
cnt++;
while (cnt < 10);
assert(cnt === 10);
})();
(function tc_12_06_01__007() {
var cnt = 1;
do
{
cnt++;
}
while (!"string");
assert(cnt === 2);
})();
(function tc_12_06_01__003() {
var cnt = 1;
do {
cnt++;
if (cnt === 10)
{
break;
}
}
while (0, 1);
})();
(function tc_12_06_01__005() {
var x = 1 / 3;
do
{
x = 1;
}
while (x === 3 / 9);
assert (x === 1);
})();
(function tc_12_06_01__008() {
var cnt = 0;
do
{
cnt++;
}
while (!(cnt & 0x8000));
assert(cnt == 32768);
})();
(function tc_12_06_01__004() {
var obj = new Object();
obj.x = "defined";
do
{
delete obj.x;
}
while (obj.x !== undefined);
})();
(function tc_12_06_02__004() {
var cnt = 33;
while ("")
cnt /= 2;
assert(cnt === 33);
})();
(function tc_12_06_02__005() {
var bVal = true;
var val = "test";
while (!bVal)
{
val += " of while";
}
assert(val === "test");
})();
(function tc_12_06_02__008() {
var cnt = 25;
function test()
{
while (cnt)
{
cnt--;
if (cnt === 3)
return 1;
}
return 0;
}
r = test();
assert(cnt === 3 && r === 1);
})();
(function tc_12_06_02__002() {
var cnt = 0;
while (1) {
cnt++;
if (cnt === 10)
break;
}
})();
(function tc_12_06_02__003() {
var cnt = 0;
while ((1234 - 34) % 23 - 1234 * 23.222)
{
cnt++;
if (cnt === 10)
break;
}
})();
(function tc_12_06_02__001() {
var cnt = 25;
while (cnt)
cnt--;
assert(cnt === 0);
})();
(function tc_12_06_02__007() {
var bitField = 0x1000000;
var cnt = 0;
while
(
bitField >>= 1 &&
true
)
{
cnt++;
}
assert(cnt === 24);
})();
(function tc_12_06_02__006() {
var bitField = 0x1000000;
var cnt = 0;
while (bitField >>= 1)
{
cnt++;
}
assert(cnt === 24);
})();
(function tc_12_09__002() {
var r = test()
assert(r === 1);
function test()
{
return ((23 << 2) + 8) / 100;
}
})();
(function tc_12_09__001() {
var r = test()
assert(typeof r == 'object' && r.prop1 === "property1" && r.prop2 === 2 && r.prop3 === false);
function test()
{
var o = {
prop1: "property1",
prop2: 2,
prop3: false
};
return o;
}
})();
(function tc_12_09__005() {
var r = test()
assert(r === 100);
function test()
{
function internal()
{
return 100;
}
return internal();
}
})();
(function tc_12_09__006() {
var r = test()
assert(typeof r == 'function');
function test()
{
function internal()
{
return 100;
}
return internal;
}
})();
(function tc_12_09__004() {
var r = test()
assert(r == undefined);
function test()
{
var r = 1;
return
r;
}
})();
(function tc_12_09__003() {
var r = test()
assert(r === 33);
function test()
{
return 33;
}
})();
(function tc_12_04__003() {
var a, b, c
a = 2, b = 3, c = 4
})();
(function tc_12_04__001() {
var a = 5, b = 1;
(a + b);
})();
(function tc_12_04__002() {
var a = 5, b = 1;
a = a && b;
})();
(function tc_12_04__004() {
var a
a = function () {
}
})();
(function tc_12_08__008() {
var i = 9;
var cnt = 0;
while (i-- > 0)
{
if (i % 2)
break;
var j = 0;
while (j++ < 20)
{
if (j % 2 === 0)
break;
cnt++;
}
}
assert(cnt === 1);
})();
(function tc_12_08__014() {
var sum = 0;
var i = 0, j = 0;
top:
do
{
j = 0;
do
{
if (j > 9 && i % 2)
break top;
sum += 1;
}
while (j++ < 20);
sum += 1;
}
while (i++ < 10);
assert(sum === 32);
})();
(function tc_12_08__009() {
var sum = 0, i = 0;
WhileLabel:
while (++i < 10)
{
if (i === 5)
{
break WhileLabel;
}
sum += i;
}
assert(sum === 10);
})();
(function tc_12_08__010() {
var sum = 0;
var i = 0, j = 0;
top:
while (i++ < 10)
{
j = 0;
while (j++ < 20)
{
if (j > 9 && i % 2)
break top;
sum += 1;
}
sum += 1;
}
assert(sum === 9);
})();
(function tc_12_08__011() {
var mask = 0xff0f;
var numOnes = 0;
do
{
if (!(mask & 1))
break;
mask >>= 1;
numOnes++;
} while (mask);
assert(numOnes === 4);
})();
(function tc_12_08__002() {
var o = {p1: 1,
p2: {p1: 100, p2: 200, p3: 100},
p3: 4,
p4: 7,
p5: 124686,
p6: {p1: 100, p2: 200, p3: 100},
p7: 1},
sum = 0;
for (var p in o)
{
if (p === "p4")
break;
if (typeof (o[p]) === "object")
{
for (var pp in o[p])
{
if (pp === "p2")
break;
sum += o[p][pp];
}
}
else
{
sum += 20;
}
}
assert(sum === 140);
})();
(function tc_12_08__007() {
var mask = 0xff0f;
var numOnes = 0;
while (mask)
{
if (!(mask & 1))
break;
mask >>= 1;
numOnes++;
}
assert(numOnes === 4);
})();
(function tc_12_08__004() {
function main()
{
var sum = 0;
for (var i = 0; i < 10; i++)
for (var j = 0; j < 20; j++)
{
if (j === 10)
break;
sum += 1;
}
assert(sum === 100);
}
main ();
})();
(function tc_12_08__016() {
var o = {p1: 1, p2: 2, p3: {p1: 150, p2: 200, p3: 130, p4: 20}, p4: 4, p5: 46}, sum = 0;
for (var p in o)
{
if (p === "p4")
continue;
if (typeof (o[p]) === "object")
{
for (var pp in o[p])
{
if (pp === "p2")
break;
sum += o[p][pp];
}
}
else {
sum += o[p];
}
}
assert(sum === 199);
})();
(function tc_12_08__012() {
var i = 10;
var cnt = 0;
do
{
var j = 0;
do
{
if (j % 2 === 0)
break;
cnt++;
}
while (j++ < 20)
if (i % 2)
break;
}
while (i-- > 0);
assert(cnt === 0);
})();
(function tc_12_08__001() {
var o = {p1: 1,
p2: {p1: 100, p2: 200, p3: 100},
p3: 4,
p4: 7,
p5: 124686,
p6: {p1: 100, p2: 200, p3: 100},
p7: 1},
sum = 0;
for (var p in o)
{
if (p === "p4")
break;
if (typeof (o[p]) === "object")
{
top:
for (var pp in o[p])
{
if (pp === "p2")
break top;
sum += o[p][pp];
}
}
sum += 20;
}
assert(sum === 160);
})();
(function tc_12_08__018() {
var o = {p1: 1,
p2: {p1: 100, p2: 200, p3: 100},
p3: 4,
p4: 7,
p5: 124686,
p6: {p1: 100, p2: 200, p3: 100},
p7: 1},
sum = 0;
top:
for (var p in o)
{
if (p === "p4")
break;
if (typeof (o[p]) === "object")
{
for (var pp in o[p])
{
if (pp === "p2")
break top;
sum += o[p][pp];
}
}
sum += 20;
}
assert(sum === 120)
})();
(function tc_12_08__013() {
var sum = 0, i = 0;
DoWhileLabel:
do
{
if (i === 5)
{
break DoWhileLabel;
}
sum += i;
}
while (++i < 10);
assert(sum === 10);
})();
(function tc_12_08__005() {
var sum = 0;
ForLabel:
for (var i = 0; i < 10; i++)
{
if (i === 5)
{
break ForLabel;
}
sum += i;
}
assert(sum === 10);
})();
(function tc_12_08__015() {
var o = {p1: 1, p2: 2, p3: 3, p4: 1, p5: 2}, sum = 0;
for (var p in o)
{
if (p === "p3")
{
break;
}
sum += o[p];
}
assert(sum === 3);
})();
(function tc_12_08__017() {
var o = {a: 1, b: 2, c: 3};
ForLabel:
for (var p in o)
{
if (p === "b")
break ForLabel;
o[p] += 4;
}
assert(o.a + o.b + o.c === 10);
})();
(function tc_12_08__003() {
var sum = 0;
for (var i = 0; i < 10; i++)
{
if (i === 5)
{
break;
}
sum += i;
}
assert(sum === 10);
})();
(function tc_12_08__006() {
var sum = 0;
top:
for (var i = 0; i < 10; i++)
{
for (var j = 0; j < 20; j++)
{
if (j > 9 && i % 2)
break top;
sum += 1;
}
sum += 1;
}
assert(sum === 31);
})();
(function tc_12_10__003() {
var o = {prop: "property"};
with (o) {
assert(prop == "property");
}
})();
(function tc_12_10__005() {
with ({})
{
var x = "abc";
}
assert(x === "abc");
})();
(function tc_12_10__004() {
var x;
function test()
{
with (Math)
{
x = abs(-396);
return 1;
}
return 0;
}
var r = test();
assert(r === 1 && x === 396);
})();
(function tc_12_10__002() {
var o = {prop: "property"};
with (o) {
assert(prop == "property");
}
})();
(function tc_12_10__007() {
var x, y;
with
(
Math)
{
x = cos(PI);
}
assert(x == -1);
})();
(function tc_12_10__001() {
var x, y;
with (Math) {
x = cos(PI);
}
assert(x == -1);
})();
(function tc_12_10__006() {
assert(test("hello") == "hello" && typeof test({}) == "object" && test({arg: "hello"}) == "hello")
function test(arg) {
with (arg) {
return arg;
}
}
})();
(function tc_12_11__005() {
switch (1) {
}
})();
(function tc_12_11__002() {
var matchesCount = 0;
switch ("key") {
case "key":
++matchesCount;
break;
case "key":
++matchesCount;
break;
case "another key":
++matchesCount;
break;
default:
++matchesCount;
break;
}
assert (matchesCount === 1);
})();
(function tc_12_11__001() {
switch (1) {
case 0:
assert(false);
case 1:
break;
default:
assert(false);
}
})();
(function tc_12_11__006() {
function fact(n)
{
return n < 2 ? 1 : n * fact(n - 1);
}
switch (fact(5)) {
case 5 * fact(4):
break;
default:
assert(false);
}
})();
(function tc_12_11__004() {
var counter = 0;
switch ("key") {
case "key":
++counter;
case "another key":
++counter;
case "another key2":
++counter;
default:
++counter;
}
assert (counter == 4);
})();
(function tc_12_11__003() {
switch (1) {
case true:
assert(false);
case false:
assert(false);
default:
assert(true);
}
})();
(function tc_12_11__007() {
switch ("key") {
case "another key":
assert(false);
default:
break;
case "another key2":
assert(false);
}
})();
(function tc_12_14__001() {
try {
try {
throw "error";
} catch (e) {
throw e;
}
assert(false);
} catch (e) {
}
})();
(function tc_12_14__003() {
function test ()
{
try {
throw 1;
} catch (e) {
return (e === 1);
}
return false;
}
assert (test ());
})();
(function tc_12_14__004() {
function test ()
{
try {
throw "error";
} catch (e) {
return false;
} finally {
return true;
}
return false;
}
assert (test ());
})();
(function tc_12_14__006() {
function test ()
{
try {
var x = 1;
} finally {
return true;
}
return false;
}
assert (test ());
})();
(function tc_12_14__005() {
function test ()
{
try {
throw "error";
} catch (e) {
return true;
} finally {
}
return false;
}
assert (test ());
})();
(function tc_12_14__002() {
function test ()
{
try {
var x = 1;
} catch (e) {
return false;
}
return true;
}
assert (test ());
})();
(function tc_12_01__005() {
{
{
var a = null;
;
}
{
{
}
}
a = 'null';
}
assert(a === 'null');
})();
(function tc_12_01__004() {
{
var a = null;
;
a = 'null';
}
assert(a === 'null');
})();
(function tc_12_01__002() {
function test ()
{
{
return true;
}
return false;
}
assert (test ());
})();
(function tc_12_01__003() {
{;;}
})();
(function tc_12_01__001() {
{
}
})();
(function tc_12_13__001() {
function test ()
{
try {
if (true) {
throw "error";
}
} catch (e) {
return true;
}
return false;
}
assert (test ());
})();
(function tc_12_13__003() {
function d () {
throw "exception";
}
function c () {
d ();
}
function b () {
c ();
}
function a () {
b ();
}
function test ()
{
try {
a ();
} catch (e) {
return true;
}
return false;
}
assert (test ());
})();
(function tc_12_13__002() {
function test ()
{
try {
while (true) {
throw "error";
}
} catch (e) {
return true;
}
return false;
}
assert (test ());
})();
(function tc_12_07__001() {
var sum = 0;
for (var i = 0; i < 10; i++)
{
if (i === 5)
{
continue;
}
sum += i;
}
assert(sum === 40);
})();
(function tc_12_07__009() {
var sum = 0, i = 0;
WhileLabel:
while (++i < 10)
{
if (i === 5)
{
continue WhileLabel;
}
sum += i;
}
assert(sum === 40);
})();
(function tc_12_07__006() {
var sum = 0;
top:
for (var i = 0; i < 10; i++)
{
for (var j = 0; j < 20; j++)
{
if (j > 9 && i % 2)
continue top;
sum += 1;
}
sum += 1;
}
assert(sum === 155);
})();
(function tc_12_07__002() {
var sum = 0;
for (var i = 0; i < 10; i++)
for (var j = 0; j < 20; j++)
{
if (j > 9)
continue;
sum += 1;
}
assert(sum === 100);
})();
(function tc_12_07__015() {
var o = {p1: 1, p2: 2, p3: 3, p4: 4, p5: 5}, sum = 0;
for (var p in o)
{
if (p == "p3")
{
continue;
}
sum += o[p];
}
assert(sum == 12)
})();
(function tc_12_07__008() {
var i = 10;
var cnt = 0;
while (i-- > 0)
{
if (i % 2)
continue;
var j = 0;
while (j++ < 20)
{
if (j % 2 === 0)
continue;
cnt++;
}
}
assert(cnt === 50);
})();
(function tc_12_07__004() {
var o = {a: 1, b: 2, c: 3};
ForLabel:
for (var p in o)
{
if (p === "b")
continue ForLabel;
o[p] += 4;
}
assert(o.a === 5 && o.b === 2 && o.c === 7);
})();
(function tc_12_07__012() {
var i = 10;
var cnt = 0;
do
{
if (i % 2)
continue;
var j = 0;
do
{
if (j % 2 === 0)
continue;
cnt++;
}
while (j++ < 20)
}
while (i-- > 0);
assert(cnt === 60);
})();
(function tc_12_07__003() {
var o = {p1: 1, p2: 2, p3: {p1: 100, p2: 200, p3: 100}, p4: 4, p5: 5}, sum = 0;
top:
for (var p in o)
{
if (p === "p2")
continue;
if (typeof (o[p]) === "object")
{
for (var pp in o[p])
{
if (pp === "p2")
continue top;
sum += o[p][pp];
}
}
sum += 20;
}
assert(sum === 160);
})();
(function tc_12_07__016() {
var o = {p1: 1, p2: 2, p3: {p1: 100, p2: 200}, p4: 4, p5: 5}, sum = 0;
for (var p in o)
{
if (p === "p2")
continue;
if (typeof (o[p]) === "object")
{
for (var pp in o[p])
{
if (pp === "p2")
continue;
sum += o[p][pp];
}
}
else {
sum += o[p];
}
}
assert(sum === 110);
})();
(function tc_12_07__013() {
var sum = 0, i = 0;
DoWhileLabel:
do
{
if (i === 5)
{
continue DoWhileLabel;
}
sum += i;
}
while (++i < 10);
assert(sum === 40);
})();
(function tc_12_07__010() {
var sum = 0;
var i = 0, j = 0;
top:
while (i++ < 10)
{
j = 0;
while (j++ < 20)
{
if (j > 9 && i % 2)
continue top;
sum += 1;
}
sum += 1;
}
assert(sum === 150);
})();
(function tc_12_07__007() {
var mask = 0xff0f;
var numZeroes = 0;
while (mask)
{
mask >>= 1;
if (mask & 1)
continue;
numZeroes++;
}
assert(numZeroes === 5);
})();
(function tc_12_07__011() {
var mask = 0xff0f;
var numZeroes = 0;
do
{
mask >>= 1;
if (mask & 1)
continue;
numZeroes++;
} while (mask);
assert(numZeroes === 5);
})();
(function tc_12_07__005() {
var sum = 0;
ForLabel:
for (var i = 0; i < 10; i++)
{
if (i === 5)
{
continue ForLabel;
}
sum += i;
}
assert(sum === 40);
})();
(function tc_12_07__014() {
var sum = 0;
var i = 0, j = 0;
top:
do
{
j = 0;
do
{
if (j > 9 && i % 2)
continue top;
sum += 1;
}
while (j++ < 20);
sum += 1;
}
while (i++ < 10);
assert(sum === 182);
})();