added test for ?: statement
[swftools.git] / lib / as3 / ok / reconcile.as
1 package {
2         import flash.display.MovieClip;
3         import flash.utils.ByteArray;
4
5         public class Main extends flash.display.MovieClip {
6
7             // test whether local variables with default value "null"
8             // will be coerced to their object
9             public function test1() {
10                 var dataBuffer:Array;
11                 while(true) {
12                     dataBuffer = new Array();
13                     if(dataBuffer)
14                         break;
15                 }
16                 trace("ok 1/6");
17             }
18
19             public function test2() {
20                 var output:String = "";
21                 while(output.length<1) {
22                     output += "abc".charAt(0);
23                 }
24                 trace("ok 2/6");
25             }
26
27             public function test3() {
28                 var k:uint;
29
30                 while(true) {
31                     for (var k:uint = 0; k < 4; k++) {
32                     }
33                     break;
34                 }
35                 trace("ok 3/6");
36             }
37
38             public var b:Boolean = false;
39
40             public function test4() {
41                 var x:int;
42                 var y:uint;
43                 if(b) {
44                     x = x+y;
45                     y = y+x;
46                 }
47                 trace("ok 4/6");
48             }
49             public function test5() {
50                 var x:int;
51                 var y:uint;
52                 var z:int;
53                 if(b) {
54                     x = x*y;
55                     z = x*z;
56                 }
57                 trace("ok 5/6");
58             }
59             public function test6() {
60                 var i:int = b?3.0:3;
61                 var j:uint = b?3:"abc";
62                 trace("ok 6/6");
63             }
64
65             public function Main() {
66                 test1();
67                 test2();
68                 test3();
69                 test4();
70                 test5();
71                 test6();
72             }
73         }
74 }