4
* Description: while statement
6
* The while expression evaluates to true, Statement returns abrupt completion.
8
* Author: christine@netscape.com
11
var SECTION = "while-003";
12
var VERSION = "ECMA_2";
13
var TITLE = "while statement";
16
writeHeaderToLog( SECTION + " "+ TITLE);
19
var testcases = new Array();
21
DoWhile( new DoWhileObject(
22
"while expression is true",
24
"result = \"pass\";" ));
26
DoWhile( new DoWhileObject(
27
"while expression is 1",
29
"result = \"pass\";" ));
31
DoWhile( new DoWhileObject(
32
"while expression is new Boolean(false)",
34
"result = \"pass\";" ));
36
DoWhile( new DoWhileObject(
37
"while expression is new Object()",
39
"result = \"pass\";" ));
41
DoWhile( new DoWhileObject(
42
"while expression is \"hi\"",
44
"result = \"pass\";" ));
46
DoWhile( new DoWhileObject(
47
"while expression has a continue in it",
49
"if ( i == void 0 ) i = 0; result=\"pass\"; if ( ++i == 1 ) {continue;} else {break;} result=\"fail\";"
54
function DoWhileObject( d, e, s ) {
56
this.whileExpression = e;
60
function DoWhile( object ) {
61
result = "fail: statements in while block were not evaluated";
63
while ( expression = object.whileExpression ) {
64
eval( object.statements );
68
// verify that the while expression was evaluated
70
testcases[tc++] = new TestCase(
72
"verify that while expression was evaluated (should be "+
73
object.whileExpression +")",
75
(object.whileExpression == expression ||
76
( isNaN(object.whileExpression) && isNaN(expression) )
77
) ? "pass" : "fail" );
79
testcases[tc++] = new TestCase(
b'\\ No newline at end of file'