]>
Commit | Line | Data |
---|---|---|
b37bf2e1 A |
1 | /** |
2 | * File Name: dowhile-003 | |
3 | * ECMA Section: | |
4 | * Description: do...while statements | |
5 | * | |
6 | * Test do while, when the while expression is a JavaScript Number object. | |
7 | * | |
8 | * | |
9 | * Author: christine@netscape.com | |
10 | * Date: 11 August 1998 | |
11 | */ | |
12 | var SECTION = "dowhile-003"; | |
13 | var VERSION = "ECMA_2"; | |
14 | var TITLE = "do...while with a labeled continue statement"; | |
15 | ||
16 | startTest(); | |
17 | writeHeaderToLog( SECTION + " "+ TITLE); | |
18 | ||
19 | var tc = 0; | |
20 | var testcases = new Array(); | |
21 | ||
22 | DoWhile( new DoWhileObject( 1, 1, 0 )); | |
23 | DoWhile( new DoWhileObject( 1000, 1000, 0 )); | |
24 | DoWhile( new DoWhileObject( 1001, 1001, 0 )); | |
25 | DoWhile( new DoWhileObject( 1002, 1001, 1 )); | |
26 | DoWhile( new DoWhileObject( -1, 1001, -1002 )); | |
27 | ||
28 | test(); | |
29 | ||
30 | function DoWhileObject( value, iterations, endvalue ) { | |
31 | this.value = value; | |
32 | this.iterations = iterations; | |
33 | this.endvalue = endvalue; | |
34 | } | |
35 | ||
36 | function DoWhile( object ) { | |
37 | var i = 0; | |
38 | ||
39 | do { | |
40 | object.value = --object.value; | |
41 | i++; | |
42 | if ( i > 1000 ) | |
43 | break; | |
44 | } while( object.value ); | |
45 | ||
46 | testcases[tc++] = new TestCase( | |
47 | SECTION, | |
48 | "loop iterations", | |
49 | object.iterations, | |
50 | i | |
51 | ); | |
52 | ||
53 | testcases[tc++] = new TestCase( | |
54 | SECTION, | |
55 | "object.value", | |
56 | object.endvalue, | |
57 | Number( object.value ) | |
58 | ); | |
59 | ||
60 | } |