Add automated tests on function-type FSCommand parameter passing.
[gnash.git] / testsuite / misc-mtasc.all / enum.as
blob3d580546b2ebe68b19ab846d8dff9d3171326145
1 #include "check.as"
3 // This movie tests ActionEnum2
5 class Test
8 // constructor
9 function Test()
11 note("Test constructor called");
14 function enumerate(obj, enum)
16 var enumlen = 0;
17 for (var i in obj) {
18 enum[i] = obj[i];
19 ++enumlen;
21 return enumlen;
24 function dump(obj)
26 for (var i in obj) {
27 note("DUMP: obj["+i+"] = "+obj[i]);
31 function test_all()
33 var res;
34 var len;
35 var a = new Object;
36 a.m1 = 20;
38 dump(a);
40 res = new Array;
41 len = enumerate(a, res);
42 check_equals(len, 1);
43 check_equals(res['m1'], 20);
45 res = new Array;
46 len = enumerate(null, res);
47 check_equals(len, 0);
48 check_equals(res.length, 0);
50 res = new Array;
51 len = enumerate(undefined, res);
52 check_equals(len, 0);
53 check_equals(res.length, 0);
55 res = new Array;
56 dump(""); // becomes a string, most likely
57 len = enumerate("", res);
58 check_equals(len, 0);
59 check_equals(res.length, 0);
61 String.prototype.addedMember = 3;
63 res = new Array;
64 len = enumerate(new String, res);
65 check_equals(len, 1);
66 check_equals(res.length, 0);
68 // enum2 doesn't convert the empty string to a String object!
69 res = new Array;
70 len = enumerate("", res);
71 check_equals(len, 0);
72 check_equals(res.length, 0);
75 static function main(mc)
77 var myTest = new Test;
78 myTest.test_all();
80 check_totals(12);
81 Dejagnu.done();