pjs/js/tests/ecma_2/Statements/dowhile-005.js

69 строки
1.4 KiB
JavaScript
Исходник Обычный вид История

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
1999-05-27 01:22:57 +04:00
/**
* File Name: dowhile-005
* ECMA Section:
* Description: do...while statements
*
* Test a labeled do...while. Break out of the loop with no label
* should break out of the loop, but not out of the label.
*
* Currently causes an infinite loop in the monkey. Uncomment the
* print statement below and it works OK.
*
* Author: christine@netscape.com
* Date: 26 August 1998
*/
var SECTION = "dowhile-005";
var VERSION = "ECMA_2";
var TITLE = "do...while with a labeled continue statement";
var BUGNUMBER = "316293";
1999-05-27 01:22:57 +04:00
startTest();
writeHeaderToLog( SECTION + " "+ TITLE);
1999-05-27 01:22:57 +04:00
NestedLabel();
1999-05-27 01:22:57 +04:00
test();
1999-05-27 01:22:57 +04:00
function NestedLabel() {
i = 0;
result1 = "pass";
result2 = "fail: did not hit code after inner loop";
result3 = "pass";
1999-05-27 01:22:57 +04:00
outer: {
do {
inner: {
1999-05-27 01:22:57 +04:00
// print( i );
break inner;
result1 = "fail: did break out of inner label";
}
result2 = "pass";
break outer;
writeLineToLog(i);
} while ( i++ < 100 );
1999-05-27 01:22:57 +04:00
}
1999-05-27 01:22:57 +04:00
result3 = "fail: did not break out of outer label";
1999-05-27 01:22:57 +04:00
new TestCase(
SECTION,
"number of loop iterations",
0,
i );
1999-05-27 01:22:57 +04:00
new TestCase(
SECTION,
"break out of inner loop",
"pass",
result1 );
1999-05-27 01:22:57 +04:00
new TestCase(
SECTION,
"break out of outer loop",
"pass",
result2 );
}