X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fok%2Freconcile.as;h=8a28dd33ae7ac63a4598b9f50c30dd8668cc7e2d;hb=6d87a7d85f89d5b6a22fe6f1e8891ec73ed682f6;hp=fd06ffc75f2dac638fb78a7e29577616902af638;hpb=a02b6b3166cc27457b99dee241fb3658e30d5ea1;p=swftools.git diff --git a/lib/as3/ok/reconcile.as b/lib/as3/ok/reconcile.as index fd06ffc..8a28dd3 100644 --- a/lib/as3/ok/reconcile.as +++ b/lib/as3/ok/reconcile.as @@ -13,7 +13,7 @@ if(dataBuffer) break; } - trace("ok 1/5"); + trace("ok 1/8"); } public function test2() { @@ -21,7 +21,7 @@ while(output.length<1) { output += "abc".charAt(0); } - trace("ok 2/5"); + trace("ok 2/8"); } public function test3() { @@ -32,27 +32,64 @@ } break; } - trace("ok 3/5"); + trace("ok 3/8"); } + public var b:Boolean = false; + public function test4() { var x:int; var y:uint; - if(escape("")) { + if(b) { x = x+y; y = y+x; } - trace("ok 4/5"); + trace("ok 4/8"); } public function test5() { var x:int; var y:uint; var z:int; - if(escape("")) { + if(b) { x = x*y; z = x*z; } - trace("ok 5/5"); + trace("ok 5/8"); + } + public function test6() { + var i:int = b?3.0:3; + var j:uint = b?3:"abc"; + trace("ok 6/8"); + } + public function test7() { + var j:Number = 0; + if(b) { + j += 8; + } + trace("ok 7/8"); + } + public function s():String { + return "x"; + } + public function test8() { + var x:String = "abcd"; + + var i:String = "test"; + // test return types of system libraries + if(!b) { + i = x.charAt(0); + } + var a = "test"; + // test return types of system libraries + if(!b) { + a = x.charAt(0); + } + + // ...and local functions + if(!b) { + i = s(); + } + trace("ok 8/8"); } public function Main() { @@ -61,6 +98,11 @@ test3(); test4(); test5(); + test6(); + test7(); + test8(); + + trace("[exit]"); } } }