86574a5ccfc6a40e64e6178a931acac03e857ad9
[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/7");
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/7");
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/7");
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/7");
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/7");
58             }
59             public function test6() {
60                 var i:int = b?3.0:3;
61                 var j:uint = b?3:"abc";
62                 trace("ok 6/7");
63             }
64             public function test7() {
65                 var j:Number = 0;
66                 if(b) {
67                     j += 8;
68                 }
69                 trace("ok 7/7");
70             }
71
72             public function Main() {
73                 test1();
74                 test2();
75                 test3();
76                 test4();
77                 test5();
78                 test6();
79                 test7();
80             
81                 trace("[exit]");
82             }
83         }
84 }