added more inner function checks
authorMatthias Kramm <kramm@quiss.org>
Mon, 16 Mar 2009 21:54:12 +0000 (22:54 +0100)
committerMatthias Kramm <kramm@quiss.org>
Mon, 16 Mar 2009 21:54:12 +0000 (22:54 +0100)
lib/as3/ok/innerfunction.as [new file with mode: 0644]
lib/as3/ok/trycatch.as

diff --git a/lib/as3/ok/innerfunction.as b/lib/as3/ok/innerfunction.as
new file mode 100644 (file)
index 0000000..46572dd
--- /dev/null
@@ -0,0 +1,20 @@
+package {
+    import flash.display.MovieClip
+    import flash.events.Event
+
+    public class Main extends flash.display.MovieClip {
+        public function Main()
+        {
+            var y:uint = 0;
+            var inc_y = function() {
+                y = y + 1;
+            }
+            
+            inc_y();
+            inc_y();
+            
+            if(y!=2) trace("error")
+            else    trace("ok");
+        }
+    }
+}
index 9f8dbc0..3b5fd39 100644 (file)
@@ -5,11 +5,11 @@ package {
     public class MyError {
     }
     public class MyOtherError {
-        var ok5="ok 5/7";
+        var ok5="ok 5/8";
     }
     public class ClassWithStaticFunctions {
         static function ok7() {
-            trace("ok 7/7");
+            trace("ok 7/8");
         }
     }
     public class Main extends flash.display.MovieClip {
@@ -24,7 +24,7 @@ package {
                 flash.net.navigateToURL;
             } catch (e:Error) {
             }
-            trace("ok 6/7");
+            trace("ok 6/8");
 
             with(getClass()) {
                 try {
@@ -34,6 +34,22 @@ package {
                 }
             }
         }
+        public function checkActivation():void
+        {
+            var y:uint = 0;
+            var inc_y = function() {
+                y = y + 1;
+            }
+            
+            try {
+              inc_y();
+              throw new Error;
+            } catch(e:Error) {
+                inc_y();
+            }
+            if(y!=2) trace("error")
+            else    trace("ok 8/8");
+        }
                
 
         function Main() {
@@ -44,7 +60,7 @@ package {
                 // MyError is not of the Error class
                 trace("error");
             } catch(error:MyError) {
-                trace("ok 1/7");
+                trace("ok 1/8");
             } catch(x) {
                 trace("error");
             }
@@ -55,11 +71,11 @@ package {
             } catch(error:MyError) {
                 trace("error");
             } catch(x:*) { // ":*" is the same as ""
-                trace("ok 2/7");
+                trace("ok 2/8");
             }
             
             try {
-                trace("ok 3/7");
+                trace("ok 3/8");
                 // don't throw any error
             } catch(error:MyError) {
                 trace("error");
@@ -69,7 +85,7 @@ package {
                 trace("error");
             }
 
-            trace("ok 4/7");
+            trace("ok 4/8");
 
             try {throw new MyOtherError} 
             catch(x:*) {
@@ -77,6 +93,7 @@ package {
             }
 
             checkScope();
+            checkActivation();
             
             trace("[exit]");
         }