small fix for previous commit
[swftools.git] / lib / as3 / ok / in.as
1 package {
2     import flash.display.MovieClip;
3
4     public class C {
5         public var x;
6         public function y() {};
7         var e1;
8         function e2() {};
9
10         public static var s1;
11         public static function s2() {}
12     }
13     public class Main extends flash.display.MovieClip {
14         function Main() {
15             /* test "in" for arrays */
16             var a:Array = new Array(1,2,3,4);
17             if(3 in a) trace("ok 1/7");
18             if(5 in a) trace("error");
19             else       trace("ok 2/7");
20
21             /* test "in" for normal classes */
22             var c:C = new C;
23             if("x" in c) trace("ok 3/7");
24             if("y" in c) trace("ok 4/7");
25             if("e1" in c) trace("error"); // not public
26             if("e2" in c) trace("error"); // not public
27
28             /* test "in" for static members */
29             if("s1" in C) trace("ok 5/7");
30             if("s2" in C) trace("ok 6/7");
31
32             /* test "in" for dynamic objects */
33             var o:Object = new Object();
34             o["r"] = 1;
35             if("r" in o) trace("ok 7/7");
36             delete o["r"];
37             if("r" in o) trace("error");
38             trace("[exit]");
39         }
40     }
41 }