gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] /srv/bzr/gnash/trunk r10954: Updated test cases


From: Bob Naugle
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r10954: Updated test cases
Date: Mon, 01 Jun 2009 11:24:36 -0600
User-agent: Bazaar (1.13.1)

------------------------------------------------------------
revno: 10954
committer: Bob Naugle <address@hidden>
branch nick: trunk
timestamp: Mon 2009-06-01 11:24:36 -0600
message:
  Updated test cases
modified:
  testsuite/as3/classes.all/display/BitmapData_as.hx
  testsuite/as3/classes.all/display/Bitmap_as.hx
  testsuite/as3/classes.all/display/DisplayObject_as.hx
  testsuite/as3/classes.all/display/MovieClip_as.hx
  testsuite/as3/classes.all/display/Shape_as.hx
  testsuite/as3/classes.all/display/Sprite_as.hx
  testsuite/as3/classes.all/display/Stage_as.hx
  testsuite/as3/classes.all/geom/Matrix_as.hx
  testsuite/as3/classes.all/geom/Point_as.hx
  testsuite/as3/classes.all/geom/Rectangle_as.hx
  testsuite/as3/classes.all/geom/Transform_as.hx
  testsuite/as3/classes.all/net/SharedObject_as.hx
=== modified file 'testsuite/as3/classes.all/display/BitmapData_as.hx'
--- a/testsuite/as3/classes.all/display/BitmapData_as.hx        2009-05-21 
00:17:43 +0000
+++ b/testsuite/as3/classes.all/display/BitmapData_as.hx        2009-06-01 
17:24:36 +0000
@@ -1,6 +1,6 @@
 // BitmapData_as.hx:  ActionScript 3 "BitmapData" class, for Gnash.
 //
-// Generated by gen-as3.sh on: 20090514 by "rob". Remove this
+// Generated on: 20090528 by "bnaugle". Remove this
 // after any hand editing loosing changes.
 //
 //   Copyright (C) 2009 Free Software Foundation, Inc.
@@ -25,17 +25,21 @@
 
 #if flash9
 import flash.utils.ByteArray;
-import flash.display.BitmapData;
 import flash.display.DisplayObject;
-import flash.geom.Rectangle;
 import flash.display.MovieClip;
-#else
-import flash.BitmapData;
+#end
+#if flash8
 import flash.MovieClip;
-import flash.DisplayObject;
+#end
+#if !flash6
+#if !flash7
+import flash.geom.Rectangle;
+import flash.display.BitmapData;
+#end
 #end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -43,10 +47,11 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class BitmapData_as {
     static function main() {
-        var x1:BitmapData = new BitmapData(0, 30, false, 0xFFCC00);
-
+#if !flash6
+#if !flash7
+        var x1:BitmapData = new BitmapData(20, 30, false, 0xeeddee);
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1,BitmapData)) {
             DejaGnu.pass("BitmapData class exists");
         } else {
             DejaGnu.fail("BitmapData lass doesn't exist");
@@ -54,22 +59,31 @@
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.height == 0) {
+       if (Std.is(x1.height, Int)) {
            DejaGnu.pass("BitmapData::height property exists");
        } else {
            DejaGnu.fail("BitmapData::height property doesn't exist");
        }
-       if (x1.rect == Rectangle) {
-           DejaGnu.pass("BitmapData::rect property exists");
-       } else {
-           DejaGnu.fail("BitmapData::rect property doesn't exist");
-       }
-       if (x1.transparent == false) {
+#if flash9
+       if (Std.is(x1.rect, Rectangle)) {
+           DejaGnu.pass("BitmapData::rect property exists");
+       } else {
+           DejaGnu.fail("BitmapData::rect property doesn't exist");
+       }
+#end
+#if flash8
+       if (Std.is(x1.rectangle, Rectangle)) {
+           DejaGnu.pass("BitmapData::rect property exists");
+       } else {
+           DejaGnu.fail("BitmapData::rect property doesn't exist");
+       }
+#end
+       if (Std.is(x1.transparent, Bool)) {
            DejaGnu.pass("BitmapData::transparent property exists");
        } else {
            DejaGnu.fail("BitmapData::transparent property doesn't exist");
        }
-       if (x1.width == 0) {
+       if (Std.is(x1.width, Int)) {
            DejaGnu.pass("BitmapData::width property exists");
        } else {
            DejaGnu.fail("BitmapData::width property doesn't exist");
@@ -78,151 +92,190 @@
 // Tests to see if all the methods exist. All these do is test for
 // existance of a method, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.applyFilter == null) {
+       if (Type.typeof(x1.applyFilter) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::applyFilter() method exists");
        } else {
            DejaGnu.fail("BitmapData::applyFilter() method doesn't exist");
        }
-//     if (x1.clone == BitmapData) {
-//         DejaGnu.pass("BitmapData::clone() method exists");
-//     } else {
-//         DejaGnu.fail("BitmapData::clone() method doesn't exist");
-//     }
-       if (x1.colorTransform == null) {
+       if (Type.typeof(x1.clone) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::clone() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::clone() method doesn't exist");
+       }
+       if (Type.typeof(x1.colorTransform) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::colorTransform() method exists");
        } else {
            DejaGnu.fail("BitmapData::colorTransform() method doesn't exist");
        }
-//     if (x1.compare == DisplayObject) {
-//         DejaGnu.pass("BitmapData::compare() method exists");
-//     } else {
-//         DejaGnu.fail("BitmapData::compare() method doesn't exist");
-//     }
-       if (x1.copyChannel == null) {
+#if flash9
+       if (Type.typeof(x1.compare) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::compare() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::compare() method doesn't exist");
+       }
+#end
+       if (Type.typeof(x1.copyChannel) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::copyChannel() method exists");
        } else {
            DejaGnu.fail("BitmapData::copyChannel() method doesn't exist");
        }
-       if (x1.copyPixels == null) {
+       if (Type.typeof(x1.copyPixels) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::copyPixels() method exists");
        } else {
            DejaGnu.fail("BitmapData::copyPixels() method doesn't exist");
        }
-       if (x1.dispose == null) {
+       if (Type.typeof(x1.dispose) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::dispose() method exists");
        } else {
            DejaGnu.fail("BitmapData::dispose() method doesn't exist");
        }
-       if (x1.draw == null) {
+       if (Type.typeof(x1.draw) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::draw() method exists");
        } else {
            DejaGnu.fail("BitmapData::draw() method doesn't exist");
        }
-       if (x1.fillRect == null) {
+       if (Type.typeof(x1.fillRect) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::fillRect() method exists");
        } else {
            DejaGnu.fail("BitmapData::fillRect() method doesn't exist");
        }
-       if (x1.floodFill == null) {
+       if (Type.typeof(x1.floodFill) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::floodFill() method exists");
        } else {
            DejaGnu.fail("BitmapData::floodFill() method doesn't exist");
        }
-//     if (x1.generateFilterRect == Rectangle) {
-//         DejaGnu.pass("BitmapData::generateFilterRect() method exists");
-//     } else {
-//         DejaGnu.fail("BitmapData::generateFilterRect() method doesn't 
exist");
-//     }
-//     if (x1.getColorBoundsRect == Rectangle) {
-//         DejaGnu.pass("BitmapData::getColorBoundsRect() method exists");
-//     } else {
-//         DejaGnu.fail("BitmapData::getColorBoundsRect() method doesn't 
exist");
-//     }
-       if (x1.getPixel(1,0) == 0) {
+       if (Type.typeof(x1.generateFilterRect) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::generateFilterRect() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::generateFilterRect() method doesn't 
exist");
+       }
+       if (Type.typeof(x1.getColorBoundsRect) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::getColorBoundsRect() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::getColorBoundsRect() method doesn't 
exist");
+       }
+       if (Type.typeof(x1.getPixel) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::getPixel() method exists");
        } else {
            DejaGnu.fail("BitmapData::getPixel() method doesn't exist");
        }
-       if (x1.getPixel32(1,1) == 0) {
+       if (Type.typeof(x1.getPixel32) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::getPixel32() method exists");
        } else {
            DejaGnu.fail("BitmapData::getPixel32() method doesn't exist");
        }
-//     if (x1.getPixels(1,0) == Rectangle) {
-//         DejaGnu.pass("BitmapData::getPixels() method exists");
-//     } else {
-//         DejaGnu.fail("BitmapData::getPixels() method doesn't exist");
-//     }
-//     if (x1.hitTest == false) {
-//         DejaGnu.pass("BitmapData::hitTest() method exists");
-//     } else {
-//         DejaGnu.fail("BitmapData::hitTest() method doesn't exist");
-//     }
-       if (x1.lock == null) {
+#if flash9
+       if (Type.typeof(x1.getPixels) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::getPixels() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::getPixels() method doesn't exist");
+       }
+//FIXME: These method exists in HaXe API Documentation, but is not supported, 
and does not exist in Adobe documentation
+//     if (Type.typeof(x1.getVector) == ValueType.TFunction) {
+//         DejaGnu.pass("BitmapData::getVector() method exists");
+//     } else {
+//         DejaGnu.fail("BitmapData::getVector() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.histogram) == ValueType.TFunction) {
+//         DejaGnu.pass("BitmapData::histogram() method exists");
+//     } else {
+//         DejaGnu.fail("BitmapData::histogram() method doesn't exist");
+//     }
+#end
+       if (Type.typeof(x1.hitTest) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::hitTest() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::hitTest() method doesn't exist");
+       }
+#if flash9
+       if (Type.typeof(x1.lock) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::lock() method exists");
        } else {
            DejaGnu.fail("BitmapData::lock() method doesn't exist");
        }
-       if (x1.merge == null) {
+#end
+       if (Type.typeof(x1.merge) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::merge() method exists");
        } else {
            DejaGnu.fail("BitmapData::merge() method doesn't exist");
        }
-       if (x1.noise == null) {
+       if (Type.typeof(x1.noise) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::noise() method exists");
        } else {
            DejaGnu.fail("BitmapData::noise() method doesn't exist");
        }
-       if (x1.paletteMap == null) {
+       if (Type.typeof(x1.paletteMap) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::paletteMap() method exists");
        } else {
            DejaGnu.fail("BitmapData::paletteMap() method doesn't exist");
        }
-       if (x1.perlinNoise == null) {
+       if (Type.typeof(x1.perlinNoise) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::perlinNoise() method exists");
        } else {
            DejaGnu.fail("BitmapData::perlinNoise() method doesn't exist");
        }
-// FIXME: this needs more arguments
-//     if (x1.pixelDissolve == 0) {
-//         DejaGnu.pass("BitmapData::pixelDissolve() method exists");
-//     } else {
-//         DejaGnu.fail("BitmapData::pixelDissolve() method doesn't exist");
-//     }
-       if (x1.scroll == null) {
+       if (Type.typeof(x1.pixelDissolve) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::pixelDissolve() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::pixelDissolve() method doesn't exist");
+       }
+       if (Type.typeof(x1.scroll) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::scroll() method exists");
        } else {
            DejaGnu.fail("BitmapData::scroll() method doesn't exist");
        }
-       if (x1.setPixel == null) {
+       if (Type.typeof(x1.setPixel) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::setPixel() method exists");
        } else {
            DejaGnu.fail("BitmapData::setPixel() method doesn't exist");
        }
-       if (x1.setPixel32 == null) {
+       if (Type.typeof(x1.setPixel32) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::setPixel32() method exists");
        } else {
            DejaGnu.fail("BitmapData::setPixel32() method doesn't exist");
        }
-       if (x1.setPixels == null) {
+#if flash9
+       if (Type.typeof(x1.setPixels) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::setPixels() method exists");
        } else {
            DejaGnu.fail("BitmapData::setPixels() method doesn't exist");
        }
-// FIXME: this needs more arguments
-//     if (x1.threshold == 0) {
-//         DejaGnu.pass("BitmapData::threshold() method exists");
-//     } else {
-//         DejaGnu.fail("BitmapData::threshold() method doesn't exist");
-//     }
-       if (x1.unlock == null) {
+//FIXME: This method exists in HaXe API Documentation, but is not supported, 
and does not exist in Adobe documentation
+//     if (Type.typeof(x1.setVector) == ValueType.TFunction) {
+//         DejaGnu.pass("BitmapData::setVector() method exists");
+//     } else {
+//         DejaGnu.fail("BitmapData::setVector() method doesn't exist");
+//     }
+#end
+       if (Type.typeof(x1.threshold) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::threshold() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::threshold() method doesn't exist");
+       }
+#if flash9
+       if (Type.typeof(x1.unlock) == ValueType.TFunction) {
            DejaGnu.pass("BitmapData::unlock() method exists");
        } else {
            DejaGnu.fail("BitmapData::unlock() method doesn't exist");
        }
+#else
+       if (Type.typeof(BitmapData.loadBitmap) == ValueType.TFunction) {
+           DejaGnu.pass("BitmapData::loadBitmap() method exists");
+       } else {
+           DejaGnu.fail("BitmapData::loadBitmap() method doesn't exist");
+       }
+#end
 
-        // Call this after finishing all tests. It prints out the totals.
-        DejaGnu.done();
+    // Call this after finishing all tests. It prints out the totals.
+    DejaGnu.done();
+#end
+#end
+#if flash6
+       DejaGnu.note("This class (BitmapData) is not available in Flash6");
+#end
+#if flash7
+       DejaGnu.note("This class (BitmapData) is not available in Flash7");
+#end
     }
 }
 

=== modified file 'testsuite/as3/classes.all/display/Bitmap_as.hx'
--- a/testsuite/as3/classes.all/display/Bitmap_as.hx    2009-05-21 00:17:43 
+0000
+++ b/testsuite/as3/classes.all/display/Bitmap_as.hx    2009-06-01 17:24:36 
+0000
@@ -25,13 +25,15 @@
 
 #if flash9
 import flash.display.Bitmap;
+import flash.display.BitmapData;
 import flash.display.MovieClip;
+import flash.display.PixelSnapping;
 #else
-import flash.Bitmap;
 import flash.MovieClip;
 #end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -39,10 +41,11 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class Bitmap_as {
     static function main() {
+#if flash9
         var x1:Bitmap = new Bitmap();
 
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1, Bitmap)) {
             DejaGnu.pass("Bitmap class exists");
         } else {
             DejaGnu.fail("Bitmap lass doesn't exist");
@@ -50,12 +53,20 @@
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.pixelSnapping == null) {
+       var d1:BitmapData = new BitmapData(20, 30, false, 0xeeddee);
+       x1.bitmapData = d1;
+       if (Std.is(x1.bitmapData, BitmapData)) {
+           DejaGnu.pass("Bitmap::bitmapData property exists");
+       } else {
+           DejaGnu.fail("Bitmap::bitmapData property doesn't exist");
+       }
+       DejaGnu.note(""+Type.typeof(x1.bitmapData));
+       if (Std.is(x1.pixelSnapping, String)) {
            DejaGnu.pass("Bitmap::pixelSnapping property exists");
        } else {
            DejaGnu.fail("Bitmap::pixelSnapping property doesn't exist");
        }
-       if (x1.smoothing == false) {
+       if (Std.is(x1.smoothing, Bool)) {
            DejaGnu.pass("Bitmap::smoothing property exists");
        } else {
            DejaGnu.fail("Bitmap::smoothing property doesn't exist");
@@ -67,6 +78,7 @@
 
         // Call this after finishing all tests. It prints out the totals.
         DejaGnu.done();
+#end
     }
 }
 

=== modified file 'testsuite/as3/classes.all/display/DisplayObject_as.hx'
--- a/testsuite/as3/classes.all/display/DisplayObject_as.hx     2009-05-21 
00:17:43 +0000
+++ b/testsuite/as3/classes.all/display/DisplayObject_as.hx     2009-06-01 
17:24:36 +0000
@@ -1,6 +1,6 @@
 // DisplayObject_as.hx:  ActionScript 3 "DisplayObject" class, for Gnash.
 //
-// Generated by gen-as3.sh on: 20090514 by "rob". Remove this
+// Generated on: 20090529 by "bnaugle". Remove this
 // after any hand editing loosing changes.
 //
 //   Copyright (C) 2009 Free Software Foundation, Inc.
@@ -25,14 +25,21 @@
 
 #if flash9
 import flash.accessibility.AccessibilityProperties;
+import flash.display.Loader;
+import flash.display.DisplayObjectContainer;
 import flash.display.DisplayObject;
 import flash.display.MovieClip;
-#else
-import flash.DisplayObject;
-import flash.MovieClip;
+import flash.display.Shape;
+import flash.display.LoaderInfo;
+import flash.display.Sprite;
+import flash.display.Stage;
+import flash.geom.Rectangle;
+import flash.geom.Transform;
+import flash.net.URLRequest;
 #end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -40,138 +47,163 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class DisplayObject_as {
     static function main() {
-        var x1:DisplayObject = new DisplayObject();
+#if flash9
+        var x1:Shape = new Shape();
+        var l1:DisplayObject = new Loader();
+        var r1:Rectangle = new Rectangle(1,1,1,1);
 
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1, DisplayObject)) {
             DejaGnu.pass("DisplayObject class exists");
         } else {
             DejaGnu.fail("DisplayObject lass doesn't exist");
         }
+        
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-//     if (x1.accessibilityProperties == accessibilityProperties) {
-//         DejaGnu.pass("DisplayObject::accessibilityProperties property 
exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::accessibilityProperties property 
doesn't exist");
-//     }
-       if (x1.alpha == 0) {
+//Determine if the accessibilityProperties property of x1 exists by setting it 
and testing it
+        var accessProps:AccessibilityProperties = new 
AccessibilityProperties();
+               accessProps.name = "Test";
+               x1.accessibilityProperties = accessProps;
+       if (Std.is(x1.accessibilityProperties, AccessibilityProperties)) {
+           DejaGnu.pass("DisplayObject::accessibilityProperties property 
exists");
+       } else {
+           DejaGnu.fail("DisplayObject::accessibilityProperties property 
doesn't exist");
+       }
+       if (Std.is(x1.alpha, Float)) {
            DejaGnu.pass("DisplayObject::alpha property exists");
        } else {
            DejaGnu.fail("DisplayObject::alpha property doesn't exist");
        }
-       if (x1.blendMode == null) {
+       if (Std.is(x1.blendMode, String)) {
            DejaGnu.pass("DisplayObject::blendMode property exists");
        } else {
            DejaGnu.fail("DisplayObject::blendMode property doesn't exist");
        }
-       if (x1.cacheAsBitmap == false) {
+       if (Std.is(x1.cacheAsBitmap, Bool)) {
            DejaGnu.pass("DisplayObject::cacheAsBitmap property exists");
        } else {
            DejaGnu.fail("DisplayObject::cacheAsBitmap property doesn't exist");
        }
-//     if (x1.filters == 0) {
-//         DejaGnu.pass("DisplayObject::filters property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::filters property doesn't exist");
-//     }
-       if (x1.height == 0) {
+       if (Std.is(x1.filters, Array)) {
+           DejaGnu.pass("DisplayObject::filters property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::filters property doesn't exist");
+       }
+       if (Std.is(x1.height, Float)) {
            DejaGnu.pass("DisplayObject::height property exists");
        } else {
            DejaGnu.fail("DisplayObject::height property doesn't exist");
        }
-//     if (x1.loaderInfo == loaderInfo) {
+//Determine if the mask property of x1 exists by setting it and testing it
+               var m1:Sprite = new Sprite();
+               x1.mask = m1;
+       if (Std.is(x1.mask, DisplayObject)) {
+           DejaGnu.pass("DisplayObject::mask property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::mask property doesn't exist");
+       }
+//Determine if the loaderInfo property of x1 exists by setting it and testing 
it
+//     var urlRequest:URLRequest = new URLRequest("../classes.all/TEST.jpg");
+//     loader.load(urlRequest);
+//     if (Std.is(x1.loaderInfo, LoaderInfo)) {
 //         DejaGnu.pass("DisplayObject::loaderInfo property exists");
 //     } else {
 //         DejaGnu.fail("DisplayObject::loaderInfo property doesn't exist");
 //     }
-//     if (x1.mask == mask) {
-//         DejaGnu.pass("DisplayObject::mask property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::mask property doesn't exist");
-//     }
-       if (x1.mouseX == 0) {
+       if (Std.is(x1.mouseX, Float)) {
            DejaGnu.pass("DisplayObject::mouseX property exists");
        } else {
            DejaGnu.fail("DisplayObject::mouseX property doesn't exist");
        }
-       if (x1.mouseY == 0) {
+       if (Std.is(x1.mouseY, Float)) {
            DejaGnu.pass("DisplayObject::mouseY property exists");
        } else {
            DejaGnu.fail("DisplayObject::mouseY property doesn't exist");
        }
-       if (x1.name == null) {
+       if (Std.is(x1.name, String)) {
            DejaGnu.pass("DisplayObject::name property exists");
        } else {
            DejaGnu.fail("DisplayObject::name property doesn't exist");
        }
-//     if (x1.opaqueBackground == Object) {
-//         DejaGnu.pass("DisplayObject::opaqueBackground property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::opaqueBackground property doesn't 
exist");
-//     }
-//     if (x1.parent == parent) {
-//         DejaGnu.pass("DisplayObject::parent property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::parent property doesn't exist");
-//     }
-//     if (x1.root == root) {
-//         DejaGnu.pass("DisplayObject::root property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::root property doesn't exist");
-//     }
-       if (x1.rotation == 0) {
+       if (Type.typeof(x1.opaqueBackground) == ValueType.TNull) {
+           DejaGnu.pass("DisplayObject::opaqueBackground property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::opaqueBackground property doesn't 
exist");
+       }
+//Determine if the parent property of x1 exists by setting it and testing it
+       m1.addChild(x1);
+       if (Std.is(x1.parent, DisplayObjectContainer)) {
+           DejaGnu.pass("DisplayObject::parent property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::parent property doesn't exist");
+       }
+       m1.addChild(l1);
+//Determine if the stage property of x1 exists by setting it and testing it
+       flash.Lib.current.stage.addChild(x1);
+       if (Std.is(x1.stage, Stage)) {
+           DejaGnu.pass("DisplayObject::stage property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::stage property doesn't exist");
+       }
+       if (Std.is(l1.root, DisplayObject)) {
+           DejaGnu.pass("DisplayObject::root property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::root property doesn't exist");
+       }
+       DejaGnu.note("Type of l1.root is "+Type.typeof(l1.root));
+       if (Std.is(x1.rotation, Float)) {
            DejaGnu.pass("DisplayObject::rotation property exists");
        } else {
            DejaGnu.fail("DisplayObject::rotation property doesn't exist");
        }
-//     if (x1.scale9Grid == Rectangle) {
-//         DejaGnu.pass("DisplayObject::scale9Grid property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::scale9Grid property doesn't exist");
-//     }
-       if (x1.scaleX == 0) {
+//Determine if the scale9Grid property of x1 exists by setting it and testing 
it
+       x1.graphics.drawRect(0,0,10,10);
+       x1.scale9Grid = r1;
+       if (Std.is(x1.scale9Grid, Rectangle)) {
+           DejaGnu.pass("DisplayObject::scale9Grid property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::scale9Grid property doesn't exist");
+       }
+       if (Std.is(x1.scaleX, Float)) {
            DejaGnu.pass("DisplayObject::scaleX property exists");
        } else {
            DejaGnu.fail("DisplayObject::scaleX property doesn't exist");
        }
-       if (x1.scaleY == 0) {
+       if (Std.is(x1.scaleY, Float)) {
            DejaGnu.pass("DisplayObject::scaleY property exists");
        } else {
            DejaGnu.fail("DisplayObject::scaleY property doesn't exist");
        }
-//     if (x1.scrollRect == Rectangle) {
-//         DejaGnu.pass("DisplayObject::scrollRect property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::scrollRect property doesn't exist");
-//     }
-//     if (x1.stage == Stage) {
-//         DejaGnu.pass("DisplayObject::stage property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::stage property doesn't exist");
-//     }
-//     if (x1.transform == transform) {
-//         DejaGnu.pass("DisplayObject::transform property exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::transform property doesn't exist");
-//     }
-       if (x1.visible == false) {
+//Determine if the scrollRect property of x1 exists by setting it and testing 
it
+       x1.scrollRect = r1;
+       if (Std.is(x1.scrollRect, Rectangle)) {
+           DejaGnu.pass("DisplayObject::scrollRect property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::scrollRect property doesn't exist"); 
+       }
+       if (Std.is(x1.transform, Transform)) {
+           DejaGnu.pass("DisplayObject::transform property exists");
+       } else {
+           DejaGnu.fail("DisplayObject::transform property doesn't exist");
+       }
+       if (Std.is(x1.visible, Bool)) {
            DejaGnu.pass("DisplayObject::visible property exists");
        } else {
            DejaGnu.fail("DisplayObject::visible property doesn't exist");
        }
-       if (x1.width == 0) {
+       if (Std.is(x1.width, Float)) {
            DejaGnu.pass("DisplayObject::width property exists");
        } else {
            DejaGnu.fail("DisplayObject::width property doesn't exist");
        }
-       if (x1.x == 0) {
+       if (Std.is(x1.x, Float)) {
            DejaGnu.pass("DisplayObject::x property exists");
        } else {
            DejaGnu.fail("DisplayObject::x property doesn't exist");
        }
-       if (x1.y == 0) {
+       if (Std.is(x1.y, Float)) {
            DejaGnu.pass("DisplayObject::y property exists");
        } else {
            DejaGnu.fail("DisplayObject::y property doesn't exist");
@@ -180,39 +212,40 @@
 // Tests to see if all the methods exist. All these do is test for
 // existance of a method, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-//     if (x1.getBounds == Rectangle) {
-//         DejaGnu.pass("DisplayObject::getBounds() method exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::getBounds() method doesn't exist");
-//     }
-//     if (x1.getRect == Rectangle) {
-//         DejaGnu.pass("DisplayObject::getRect() method exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::getRect() method doesn't exist");
-//     }
-//     if (x1.globalToLocal == Point) {
-//         DejaGnu.pass("DisplayObject::globalToLocal() method exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::globalToLocal() method doesn't exist");
-//     }
-//     if (x1.hitTestObject == Point) {
-//         DejaGnu.pass("DisplayObject::hitTestObject() method exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::hitTestObject() method doesn't exist");
-//     }
-//     if (x1.hitTestPoint == Point) {
-//         DejaGnu.pass("DisplayObject::hitTestPoint() method exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::hitTestPoint() method doesn't exist");
-//     }
-//     if (x1.localToGlobal == Point) {
-//         DejaGnu.pass("DisplayObject::localToGlobal() method exists");
-//     } else {
-//         DejaGnu.fail("DisplayObject::localToGlobal() method doesn't exist");
-//     }
+       if (Type.typeof(x1.getBounds) == ValueType.TFunction) {
+           DejaGnu.pass("DisplayObject::getBounds() method exists");
+       } else {
+           DejaGnu.fail("DisplayObject::getBounds() method doesn't exist");
+       }
+       if (Type.typeof(x1.getRect) == ValueType.TFunction) {
+           DejaGnu.pass("DisplayObject::getRect() method exists");
+       } else {
+           DejaGnu.fail("DisplayObject::getRect() method doesn't exist");
+       }
+       if (Type.typeof(x1.globalToLocal) == ValueType.TFunction) {
+           DejaGnu.pass("DisplayObject::globalToLocal() method exists");
+       } else {
+           DejaGnu.fail("DisplayObject::globalToLocal() method doesn't exist");
+       }
+       if (Type.typeof(x1.hitTestObject) == ValueType.TFunction) {
+           DejaGnu.pass("DisplayObject::hitTestObject() method exists");
+       } else {
+           DejaGnu.fail("DisplayObject::hitTestObject() method doesn't exist");
+       }
+       if (Type.typeof(x1.hitTestPoint) == ValueType.TFunction) {
+           DejaGnu.pass("DisplayObject::hitTestPoint() method exists");
+       } else {
+           DejaGnu.fail("DisplayObject::hitTestPoint() method doesn't exist");
+       }
+       if (Type.typeof(x1.localToGlobal) == ValueType.TFunction) {
+           DejaGnu.pass("DisplayObject::localToGlobal() method exists");
+       } else {
+           DejaGnu.fail("DisplayObject::localToGlobal() method doesn't exist");
+       }
 
         // Call this after finishing all tests. It prints out the totals.
         DejaGnu.done();
+#end
     }
 }
 

=== modified file 'testsuite/as3/classes.all/display/MovieClip_as.hx'
--- a/testsuite/as3/classes.all/display/MovieClip_as.hx 2009-05-21 00:17:43 
+0000
+++ b/testsuite/as3/classes.all/display/MovieClip_as.hx 2009-06-01 17:24:36 
+0000
@@ -1,6 +1,6 @@
 // MovieClip_as.hx:  ActionScript 3 "MovieClip" class, for Gnash.
 //
-// Generated by gen-as3.sh on: 20090514 by "rob". Remove this
+// Generated on: 20090529 by "bnaugle". Remove this
 // after any hand editing loosing changes.
 //
 //   Copyright (C) 2009 Free Software Foundation, Inc.
@@ -25,13 +25,17 @@
 
 #if flash9
 import flash.display.MovieClip;
-import flash.display.MovieClip;
+import flash.display.Scene;
 #else
-import flash.MovieClip;
+#if flash8
+import flash.geom.Rectangle;
+import flash.geom.Transform;
+#end
 import flash.MovieClip;
 #end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -39,10 +43,14 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class MovieClip_as {
     static function main() {
+#if flash9
         var x1:MovieClip = new MovieClip();
+#else
+               var x1:MovieClip = flash.Lib._root;
+#end
 
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1,MovieClip)) {
             DejaGnu.pass("MovieClip class exists");
         } else {
             DejaGnu.fail("MovieClip lass doesn't exist");
@@ -50,98 +58,631 @@
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.currentFrame == 0) {
+#if flash9
+       if (Std.is(x1.currentFrame, Int)) {
            DejaGnu.pass("MovieClip::currentFrame property exists");
        } else {
            DejaGnu.fail("MovieClip::currentFrame property doesn't exist");
        }
-       if (x1.currentLabel == null) {
-           DejaGnu.pass("MovieClip::currentLabel property exists");
-       } else {
-           DejaGnu.fail("MovieClip::currentLabel property doesn't exist");
-       }
-// FIXME: needs to be an array
-//     if (x1.currentLabels == 0) {
-//         DejaGnu.pass("MovieClip::currentLabels property exists");
-//     } else {
-//         DejaGnu.fail("MovieClip::currentLabels property doesn't exist");
-//     }
-
-//     if (x1.currentScene == currentScene) {
-//         DejaGnu.pass("MovieClip::currentScene property exists");
-//     } else {
-//         DejaGnu.fail("MovieClip::currentScene property doesn't exist");
-//     }
-       if (x1.enabled == false) {
-           DejaGnu.pass("MovieClip::enabled property exists");
-       } else {
-           DejaGnu.fail("MovieClip::enabled property doesn't exist");
-       }
-       if (x1.framesLoaded == 0) {
+//FIXME: This property exists only in the HaXe documentation
+//     if (Type.typeof(x1.getCurrentFrame) == String) {
+//         DejaGnu.pass("MovieClip::currentFrame property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::currentFrame property doesn't exist");
+//     }
+//FIXME: currentLabel is shown as type TNull but it should be a String. haXe 
bug?
+//     if (Std.is(x1.currentLabel, String)) {
+//         DejaGnu.pass("MovieClip::currentLabel property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::currentLabel property doesn't exist");
+//     }
+//     DejaGnu.note("Type of currentLabel is "+Type.typeof(x1.currentLabel));
+       if (Std.is(x1.currentLabels,Array)) {
+           DejaGnu.pass("MovieClip::currentLabels property exists");
+       } else {
+           DejaGnu.fail("MovieClip::currentLabels property doesn't exist");
+       }
+       if (Std.is(x1.currentScene,Scene)) {
+           DejaGnu.pass("MovieClip::currentScene property exists");
+       } else {
+           DejaGnu.fail("MovieClip::currentScene property doesn't exist");
+       }
+       if (Std.is(x1.framesLoaded, Int)) {
            DejaGnu.pass("MovieClip::framesLoaded property exists");
        } else {
            DejaGnu.fail("MovieClip::framesLoaded property doesn't exist");
        }
-// FIXME: needs to be an array
-//     if (x1.scenes == 0) {
-//         DejaGnu.pass("MovieClip::scenes property exists");
-//     } else {
-//         DejaGnu.fail("MovieClip::scenes property doesn't exist");
-//     }
-       if (x1.totalFrames == 0) {
+       if (Std.is(x1.scenes, Array)) {
+           DejaGnu.pass("MovieClip::scenes property exists");
+       } else {
+           DejaGnu.fail("MovieClip::scenes property doesn't exist");
+       }
+       if (Std.is(x1.totalFrames, Int)) {
            DejaGnu.pass("MovieClip::totalFrames property exists");
        } else {
            DejaGnu.fail("MovieClip::totalFrames property doesn't exist");
        }
-       if (x1.trackAsMenu == false) {
+       if (Std.is(x1.trackAsMenu, Bool)) {
            DejaGnu.pass("MovieClip::trackAsMenu property exists");
        } else {
            DejaGnu.fail("MovieClip::trackAsMenu property doesn't exist");
        }
-
+#else
+       if (Std.is(x1._alpha, Float)) {
+           DejaGnu.pass("MovieClip::_alpha property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_alpha property doesn't exist");
+       }
+       if (Std.is(x1._currentframe, Int)) {
+           DejaGnu.pass("MovieClip::_currentframe property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_currentframe property doesn't exist");
+       }
+       if (Std.is(x1._droptarget,String)) {
+           DejaGnu.pass("MovieClip::_droptarget property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_droptarget property doesn't exist");
+       }
+       if (Std.is(x1._focusrect, Bool)) {
+           DejaGnu.pass("MovieClip::_focusrect property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_focusrect property doesn't exist");
+       }
+       if (Std.is(x1._framesLoaded, Int)) {
+           DejaGnu.pass("MovieClip::_framesloaded property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_framesloaded property doesn't exist");
+       }
+       if (Std.is(x1._height, Float)) {
+           DejaGnu.pass("MovieClip::_height property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_height property doesn't exist");
+       }
+       if (Std.is(x1._lockroot, Bool)) {
+           DejaGnu.pass("MovieClip::_lockroot property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_lockroot property doesn't exist");
+       }
+       if (Std.is(x1._name, String)) {
+           DejaGnu.pass("MovieClip::_name property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_name property doesn't exist");
+       }
+//FIXME: This property is defined but not implemented  
+//     if (Std.is(x1._parent, MovieClip)) {
+//         DejaGnu.pass("MovieClip::_parent property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::_parent property doesn't exist");
+//     }
+       if (Std.is(x1._quality, String)) {
+           DejaGnu.pass("MovieClip::_quality property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_quality property doesn't exist");
+       }
+       if (Std.is(x1._rotation, Float)) {
+           DejaGnu.pass("MovieClip::_rotation property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_rotation property doesn't exist");
+       }
+       if (Std.is(x1._soundbuftime, Float)) {
+           DejaGnu.pass("MovieClip::_soundbuftime property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_soundbuftime property doesn't exist");
+       }
+       if (Std.is(x1._target, String)) {
+           DejaGnu.pass("MovieClip::_target property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_target property doesn't exist");
+       }
+       if (Std.is(x1._totalframes, Int)) {
+           DejaGnu.pass("MovieClip::_totalframes property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_totalframes property doesn't exist");
+       }
+       if (Std.is(x1._url, String)) {
+           DejaGnu.pass("MovieClip::_url property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_url property doesn't exist");
+       }
+       if (Std.is(x1._visible, Bool)) {
+           DejaGnu.pass("MovieClip::_visible property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_visible property doesn't exist");
+       }
+       if (Std.is(x1._width, Float)) {
+           DejaGnu.pass("MovieClip::_width property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_width property doesn't exist");
+       }
+       if (Std.is(x1._x, Float)) {
+           DejaGnu.pass("MovieClip::_x property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_x property doesn't exist");
+       }
+       if (Std.is(x1._xmouse, Float)) {
+           DejaGnu.pass("MovieClip::_xmouse property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_xmouse property doesn't exist");
+       }
+       if (Std.is(x1._xscale, Float)) {
+           DejaGnu.pass("MovieClip::_xscale property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_xscale property doesn't exist");
+       }
+       if (Std.is(x1._y, Float)) {
+           DejaGnu.pass("MovieClip::_y property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_y property doesn't exist");
+       }
+       if (Std.is(x1._ymouse, Float)) {
+           DejaGnu.pass("MovieClip::_ymouse property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_ymouse property doesn't exist");
+       }
+       if (Std.is(x1._yscale, Float)) {
+           DejaGnu.pass("MovieClip::_yscale property exists");
+       } else {
+           DejaGnu.fail("MovieClip::_yscale property doesn't exist");
+       }
+       if (Std.is(x1.blendMode, Dynamic)) {
+           DejaGnu.pass("MovieClip::blendMode property exists");
+       } else {
+           DejaGnu.fail("MovieClip::blendMode property doesn't exist");
+       }
+//FIXME: This property is defined but not implemented
+//     if (Std.is(x1.cacheAsBitmap, Bool)) {
+//         DejaGnu.pass("MovieClip::cacheAsBitmap property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::cacheAsBitmap property doesn't exist");
+//     }
+//FIXME: This property is defined but not implemented
+//     if (Std.is(x1.filters, Array)) {
+//         DejaGnu.pass("MovieClip::filters property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::filters property doesn't exist");
+//     }
+//FIXME: This property is defined but not implemented
+//     if (Std.is(x1.focusEnabled, Bool)) {
+//         DejaGnu.pass("MovieClip::focusEnabled property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::focusEnabled property doesn't exist");
+//     }
+//FIXME: Not sure about which version of Flash implements this property.
+//     if (Std.is(x1.forceSmoothing, Bool)) {
+//         DejaGnu.pass("MovieClip::forceSmoothing property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::forceSmoothing property doesn't exist");
+//     }
+//FIXME: This property is defined but not implemented
+//     if (Std.is(x1.hitArea, MovieClip)) {
+//         DejaGnu.pass("MovieClip::hitArea property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::hitArea property doesn't exist");
+//     }
+       if (Std.is(x1.opaqueBackground, Int)) {
+           DejaGnu.pass("MovieClip::opaqueBackground property exists");
+       } else {
+           DejaGnu.fail("MovieClip::opaqueBackground property doesn't exist");
+       }
+#if flash8
+//FIXME: This property is defined but not implemented
+//     if (Std.is(x1.scale9Grid, Rectangle)) {
+//         DejaGnu.pass("MovieClip::scale9Grid property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::scale9Grid property doesn't exist");
+//     }
+#end
+       if (Std.is(x1.scrollRect, Dynamic)) {
+           DejaGnu.pass("MovieClip::scrollRect property exists");
+       } else {
+           DejaGnu.fail("MovieClip::scrollRect property doesn't exist");
+       }
+//FIXME: This property is defined but not implemented
+//     if (Std.is(x1.tabChildren, Bool)) {
+//         DejaGnu.pass("MovieClip::tabChildren property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::tabChildren property doesn't exist");
+//     }
+//FIXME: This property is defined but not implemented
+//     if (Std.is(x1.tabEnabled, Bool)) {
+//         DejaGnu.pass("MovieClip::tabEnabled property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::tabEnabled property doesn't exist");
+//     }
+       if (Std.is(x1.tabIndex, Int)) {
+           DejaGnu.pass("MovieClip::tabIndex property exists");
+       } else {
+           DejaGnu.fail("MovieClip::tabIndex property doesn't exist");
+       }
+//FIXME: This property is defined but not implemented
+//     if (Std.is(x1.trackAsMenu, Bool)) {
+//         DejaGnu.pass("MovieClip::trackAsMenu property exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::trackAsMenu property doesn't exist");
+//     }
+#if flash8
+       if (Std.is(x1.transform, Transform)) {
+           DejaGnu.pass("MovieClip::transform property exists");
+       } else {
+           DejaGnu.fail("MovieClip::transform property doesn't exist");
+       }
+#end
+       if (Std.is(x1.useHandCursor, Bool)) {
+           DejaGnu.pass("MovieClip::useHandCursor property exists");
+       } else {
+           DejaGnu.fail("MovieClip::useHandCursor property doesn't exist");
+       }
+#end
+       //This method exists in both AS2 and AS3
+       if (Std.is(x1.enabled, Bool)) {
+           DejaGnu.pass("MovieClip::enabled property exists");
+       } else {
+           DejaGnu.fail("MovieClip::enabled property doesn't exist");
+       }
 // Tests to see if all the methods exist. All these do is test for
 // existance of a method, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.gotoAndPlay == null) {
+#if flash9
+       if (Type.typeof(x1.addFrameScript) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::addFrameScript method exists");
+       } else {
+           DejaGnu.fail("MovieClip::addFrameScript method doesn't exist");
+       }
+       if (Type.typeof(x1.gotoAndPlay) == ValueType.TFunction) {
            DejaGnu.pass("MovieClip::gotoAndPlay() method exists");
        } else {
            DejaGnu.fail("MovieClip::gotoAndPlay() method doesn't exist");
        }
-       if (x1.gotoAndStop == null) {
+       if (Type.typeof(x1.gotoAndStop) == ValueType.TFunction) {
            DejaGnu.pass("MovieClip::gotoAndStop() method exists");
        } else {
            DejaGnu.fail("MovieClip::gotoAndStop() method doesn't exist");
        }
-       if (x1.nextFrame == null) {
+       if (Type.typeof(x1.nextFrame) == ValueType.TFunction) {
            DejaGnu.pass("MovieClip::nextFrame() method exists");
        } else {
            DejaGnu.fail("MovieClip::nextFrame() method doesn't exist");
        }
-       if (x1.nextScene == null) {
+       if (Type.typeof(x1.nextScene) == ValueType.TFunction) {
            DejaGnu.pass("MovieClip::nextScene() method exists");
        } else {
            DejaGnu.fail("MovieClip::nextScene() method doesn't exist");
        }
-       if (x1.play == null) {
+       if (Type.typeof(x1.play) == ValueType.TFunction) {
            DejaGnu.pass("MovieClip::play() method exists");
        } else {
            DejaGnu.fail("MovieClip::play() method doesn't exist");
        }
-       if (x1.prevFrame == null) {
+       if (Type.typeof(x1.prevFrame) == ValueType.TFunction) {
            DejaGnu.pass("MovieClip::prevFrame() method exists");
        } else {
            DejaGnu.fail("MovieClip::prevFrame() method doesn't exist");
        }
-       if (x1.prevScene == null) {
+       if (Type.typeof(x1.prevScene) == ValueType.TFunction) {
            DejaGnu.pass("MovieClip::prevScene() method exists");
        } else {
            DejaGnu.fail("MovieClip::prevScene() method doesn't exist");
        }
-       if (x1.stop == null) {
-           DejaGnu.pass("MovieClip::stop() method exists");
-       } else {
-           DejaGnu.fail("MovieClip::stop() method doesn't exist");
-       }
+       if (Type.typeof(x1.stop) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::stop() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::stop() method doesn't exist");
+       }
+#else
+       if (Type.typeof(x1.attachAudio) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::attachAudio method exists");
+       } else {
+           DejaGnu.fail("MovieClip::attachAudio method doesn't exist");
+       }
+       if (Type.typeof(x1.attachBitmap) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::attachBitmap() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::attachBitmap() method doesn't exist");
+       }
+       if (Type.typeof(x1.attachMovie) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::attachMovie() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::attachMovie() method doesn't exist");
+       }
+       if (Type.typeof(x1.attachVideo) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::attachVideo() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::attachVideo() method doesn't exist");
+       }
+       if (Type.typeof(x1.beginBitmapFill) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::beginBitmapFill() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::beginBitmapFill() method doesn't exist");
+       }
+       if (Type.typeof(x1.beginFill) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::beginFill() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::beginFill() method doesn't exist");
+       }
+       if (Type.typeof(x1.beginGradientFill) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::beginGradientFill() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::beginGradientFill() method doesn't exist");
+       }
+       if (Type.typeof(x1.clear) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::clear() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::clear() method doesn't exist");
+       }
+       if (Type.typeof(x1.createEmptyMovieClip) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::createEmptyMovieClip() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::createEmptyMovieClip() method doesn't 
exist");
+       }
+       if (Type.typeof(x1.createTextField) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::createTextField method exists");
+       } else {
+           DejaGnu.fail("MovieClip::createTextField method doesn't exist");
+       }
+       if (Type.typeof(x1.curveTo) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::curveTo() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::curveTo() method doesn't exist");
+       }
+       if (Type.typeof(x1.duplicateMovieClip) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::duplicateMovieClip() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::duplicateMovieClip() method doesn't 
exist");
+       }
+       if (Type.typeof(x1.endFill) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::endFill() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::endFill() method doesn't exist");
+       }
+       if (Type.typeof(x1.getBounds) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getBounds() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getBounds() method doesn't exist");
+       }
+       if (Type.typeof(x1.getBytesLoaded) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getBytesLoaded() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getBytesLoaded() method doesn't exist");
+       }
+       if (Type.typeof(x1.getBytesTotal) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getBytesTotal() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getBytesTotal() method doesn't exist");
+       }
+       if (Type.typeof(x1.getDepth) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getDepth() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getDepth() method doesn't exist");
+       }
+#if !flash6
+       if (Type.typeof(x1.getInstanceAtDepth) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getInstanceAtDepth() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getInstanceAtDepth() method doesn't 
exist");
+       }
+       if (Type.typeof(x1.getNextHighestDepth) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getNextHighestDepth method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getNextHighestDepth method doesn't exist");
+       }
+#end
+       if (Type.typeof(x1.getRect) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getRect() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getRect() method doesn't exist");
+       }
+       if (Type.typeof(x1.getSWFVersion) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getSWFVersion() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getSWFVersion() method doesn't exist");
+       }
+       if (Type.typeof(x1.getTextSnapshot) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getTextSnapshot() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getTextSnapshot() method doesn't exist");
+       }
+       if (Type.typeof(x1.getURL) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::getURL() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::getURL() method doesn't exist");
+       }
+       if (Type.typeof(x1.globalToLocal) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::globalToLocal() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::globalToLocal() method doesn't exist");
+       }
+       if (Type.typeof(x1.gotoAndPlay) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::gotoAndPlay() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::gotoAndPlay() method doesn't exist");
+       }
+       if (Type.typeof(x1.gotoAndStop) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::gotoAndStop() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::gotoAndStop() method doesn't exist");
+       }
+       if (Type.typeof(x1.hitTest) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::hitTest() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::hitTest() method doesn't exist");
+       }
+       if (Type.typeof(x1.lineGradientStyle) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::lineGradientStyle method exists");
+       } else {
+           DejaGnu.fail("MovieClip::lineGradientStyle method doesn't exist");
+       }
+       if (Type.typeof(x1.lineStyle) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::lineStyle() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::lineStyle() method doesn't exist");
+       }
+       if (Type.typeof(x1.lineTo) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::lineTo() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::lineTo() method doesn't exist");
+       }
+       if (Type.typeof(x1.loadMovie) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::loadMovie() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::loadMovie() method doesn't exist");
+       }
+       if (Type.typeof(x1.loadVariables) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::loadVariables() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::loadVariables() method doesn't exist");
+       }
+       if (Type.typeof(x1.localToGlobal) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::localToGlobal() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::localToGlobal() method doesn't exist");
+       }
+       if (Type.typeof(x1.moveTo) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::moveTo() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::moveTo() method doesn't exist");
+       }
+       if (Type.typeof(x1.nextFrame) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::nextFrame() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::nextFrame() method doesn't exist");
+       }
+//FIXME: These dynamic functions return a null type value.
+//     if (Type.typeof(x1.onData) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onData() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onData() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onDragOut) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onDragOut() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onDragOut() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onDragOver) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onDragOver() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onDragOver() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onEnterFrame) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onEnterFrame() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onEnterFrame() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onKeyDown) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onKeyDown() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onKeyDown() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onKeyUp) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onKeyUp method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onKeyUp method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onKillFocus) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onKillFocus() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onKillFocus() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onLoad) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onLoad() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onLoad() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onMouseDown) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onMouseDown() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onMouseDown() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onMouseMove) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onMouseMove() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onMouseMove() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onMouseUp) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onMouseUp() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onMouseUp() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onPress) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onPress() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onPress() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onRelease) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onRelease() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onRelease() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onReleaseOutside) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onReleaseOutside() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onReleaseOutside() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onRollOut) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onRollOut method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onRollOut method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onRollOver) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onRollOver() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onRollOver() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onSetFocus) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onSetFocus() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onSetFocus() method doesn't exist");
+//     }
+//     if (Type.typeof(x1.onUnload) == ValueType.TFunction) {
+//         DejaGnu.pass("MovieClip::onUnload() method exists");
+//     } else {
+//         DejaGnu.fail("MovieClip::onUnload() method doesn't exist");
+//     }
+       if (Type.typeof(x1.play) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::play() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::play() method doesn't exist");
+       }
+       if (Type.typeof(x1.prevFrame) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::prevFrame() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::prevFrame() method doesn't exist");
+       }
+       if (Type.typeof(x1.removeMovieClip) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::removeMovieClip() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::removeMovieClip() method doesn't exist");
+       }
+       if (Type.typeof(x1.setMask) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::setMask() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::setMask() method doesn't exist");
+       }
+       if (Type.typeof(x1.startDrag) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::startDrag() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::startDrag() method doesn't exist");
+       }
+       if (Type.typeof(x1.stop) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::stop() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::stop() method doesn't exist");
+       }
+       if (Type.typeof(x1.stopDrag) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::stopDrag() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::stopDrag() method doesn't exist");
+       }
+       if (Type.typeof(x1.swapDepths) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::swapDepths() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::swapDepths() method doesn't exist");
+       }
+       if (Type.typeof(x1.unloadMovie) == ValueType.TFunction) {
+           DejaGnu.pass("MovieClip::unloadMovie() method exists");
+       } else {
+           DejaGnu.fail("MovieClip::unloadMovie() method doesn't exist");
+       }
+#end
 
         // Call this after finishing all tests. It prints out the totals.
         DejaGnu.done();

=== modified file 'testsuite/as3/classes.all/display/Shape_as.hx'
--- a/testsuite/as3/classes.all/display/Shape_as.hx     2009-05-21 00:17:43 
+0000
+++ b/testsuite/as3/classes.all/display/Shape_as.hx     2009-06-01 17:24:36 
+0000
@@ -26,12 +26,11 @@
 #if flash9
 import flash.display.Shape;
 import flash.display.MovieClip;
-#else
-import flash.Shape;
-import flash.MovieClip;
+import flash.display.Graphics;
 #end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -39,10 +38,11 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class Shape_as {
     static function main() {
+#if flash9
         var x1:Shape = new Shape();
 
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1, Shape)) {
             DejaGnu.pass("Shape class exists");
         } else {
             DejaGnu.fail("Shape lass doesn't exist");
@@ -50,14 +50,15 @@
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-//     if (x1.graphics == graphics) {
-//         DejaGnu.pass("Shape::graphics property exists");
-//     } else {
-//         DejaGnu.fail("Shape::graphics property doesn't exist");
-//     }
+       if (Std.is(x1.graphics, Graphics)) {
+           DejaGnu.pass("Shape::graphics property exists");
+       } else {
+           DejaGnu.fail("Shape::graphics property doesn't exist");
+       }
 
         // Call this after finishing all tests. It prints out the totals.
         DejaGnu.done();
+#end
     }
 }
 

=== modified file 'testsuite/as3/classes.all/display/Sprite_as.hx'
--- a/testsuite/as3/classes.all/display/Sprite_as.hx    2009-05-21 00:17:43 
+0000
+++ b/testsuite/as3/classes.all/display/Sprite_as.hx    2009-06-01 17:24:36 
+0000
@@ -26,12 +26,14 @@
 #if flash9
 import flash.display.Sprite;
 import flash.display.MovieClip;
-#else
-import flash.Sprite;
-import flash.MovieClip;
+import flash.display.DisplayObject;
+import flash.display.Graphics;
+import flash.media.SoundTransform;
+import flash.geom.Rectangle;
 #end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -39,10 +41,12 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class Sprite_as {
     static function main() {
+#if flash9
         var x1:Sprite = new Sprite();
+        var x2:Sprite = new Sprite();
 
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1, Sprite)) {
             DejaGnu.pass("Sprite class exists");
         } else {
             DejaGnu.fail("Sprite lass doesn't exist");
@@ -50,32 +54,36 @@
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.buttonMode == false) {
+       if (Std.is(x1.buttonMode, Bool)) {
            DejaGnu.pass("Sprite::buttonMode property exists");
        } else {
            DejaGnu.fail("Sprite::buttonMode property doesn't exist");
        }
-//     if (x1.dropTarget == dropTarget) {
+//FIXME:dropTarget will be tested more extensively later.
+//     var r1:Rectangle = new Rectangle(0,0,10,10);
+//     x1.dropTarget = r1;
+//     if (Std.is(x1.dropTarget, DisplayObject)) {
 //         DejaGnu.pass("Sprite::dropTarget property exists");
 //     } else {
 //         DejaGnu.fail("Sprite::dropTarget property doesn't exist");
 //     }
-//     if (x1.graphics == graphics) {
-//         DejaGnu.pass("Sprite::graphics property exists");
-//     } else {
-//         DejaGnu.fail("Sprite::graphics property doesn't exist");
-//     }
-//     if (x1.hitArea == hitArea) {
-//         DejaGnu.pass("Sprite::hitArea property exists");
-//     } else {
-//         DejaGnu.fail("Sprite::hitArea property doesn't exist");
-//     }
-//     if (x1.soundTransform == SoundTransform) {
-//         DejaGnu.pass("Sprite::soundTransform property exists");
-//     } else {
-//         DejaGnu.fail("Sprite::soundTransform property doesn't exist");
-//     }
-       if (x1.useHandCursor == false) {
+       if (Std.is(x1.graphics, Graphics)) {
+           DejaGnu.pass("Sprite::graphics property exists");
+       } else {
+           DejaGnu.fail("Sprite::graphics property doesn't exist");
+       }
+       x1.hitArea = x2;
+       if (Std.is(x1.hitArea, Sprite)) {
+           DejaGnu.pass("Sprite::hitArea property exists");
+       } else {
+           DejaGnu.fail("Sprite::hitArea property doesn't exist");
+       }
+       if (Std.is(x1.soundTransform, SoundTransform)) {
+           DejaGnu.pass("Sprite::soundTransform property exists");
+       } else {
+           DejaGnu.fail("Sprite::soundTransform property doesn't exist");
+       }
+       if (Std.is(x1.useHandCursor, Bool)) {
            DejaGnu.pass("Sprite::useHandCursor property exists");
        } else {
            DejaGnu.fail("Sprite::useHandCursor property doesn't exist");
@@ -84,12 +92,12 @@
 // Tests to see if all the methods exist. All these do is test for
 // existance of a method, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.startDrag == null) {
+       if (Type.typeof(x1.startDrag) == ValueType.TFunction) {
            DejaGnu.pass("Sprite::startDrag() method exists");
        } else {
            DejaGnu.fail("Sprite::startDrag() method doesn't exist");
        }
-       if (x1.stopDrag == null) {
+       if (Type.typeof(x1.stopDrag) == ValueType.TFunction) {
            DejaGnu.pass("Sprite::stopDrag() method exists");
        } else {
            DejaGnu.fail("Sprite::stopDrag() method doesn't exist");
@@ -97,6 +105,7 @@
 
         // Call this after finishing all tests. It prints out the totals.
         DejaGnu.done();
+#end
     }
 }
 

=== modified file 'testsuite/as3/classes.all/display/Stage_as.hx'
--- a/testsuite/as3/classes.all/display/Stage_as.hx     2009-05-21 00:17:43 
+0000
+++ b/testsuite/as3/classes.all/display/Stage_as.hx     2009-06-01 17:24:36 
+0000
@@ -1,6 +1,6 @@
 // Stage_as.hx:  ActionScript 3 "Stage" class, for Gnash.
 //
-// Generated by gen-as3.sh on: 20090514 by "rob". Remove this
+// Generated on: 20090601 by "bnaugle". Remove this
 // after any hand editing loosing changes.
 //
 //   Copyright (C) 2009 Free Software Foundation, Inc.
@@ -25,13 +25,23 @@
 
 #if flash9
 import flash.display.Stage;
+import flash.display.StageDisplayState;
 import flash.display.MovieClip;
+import flash.display.InteractiveObject;
+import flash.geom.Rectangle;
+//import flash.display.NativeWindow; FIXME: This class does not exist in haXe
+import flash.text.TextSnapshot;
+import flash.text.TextField;
 #else
+#if flash8
+import flash.geom.Rectangle;
+#end
 import flash.Stage;
 import flash.MovieClip;
 #end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -39,181 +49,270 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class Stage_as {
     static function main() {
-        var x1:Stage = new Stage();
+#if !(flash8 || flash7 || flash6)
+        var x1:Stage = flash.Lib.current.stage;
 
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1, Stage)) {
             DejaGnu.pass("Stage class exists");
         } else {
-            DejaGnu.fail("Stage lass doesn't exist");
-        }
+            DejaGnu.fail("Stage class doesn't exist");
+        }
+#else
+               if(Type.typeof(Stage) == ValueType.TObject) {
+                   DejaGnu.pass("Stage class exists");
+        } else {
+            DejaGnu.fail("Stage class doesn't exist");
+        }
+#end
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.align == null) {
+#if flash10
+       if (Std.is(x1.enableColorCorrection, Bool)) {
+           DejaGnu.pass("Stage::enableColorCorrection() method exists");
+       } else {
+           DejaGnu.fail("Stage::enableColorCorrection() method doesn't exist");
+       }
+#end
+#if flash9
+       if (Std.is(x1.align, String)) {
            DejaGnu.pass("Stage::align property exists");
        } else {
            DejaGnu.fail("Stage::align property doesn't exist");
        }
-       if (x1.displayState == null) {
+//FIXME: I can't get this to work. displayState type is always TNull
+       x1.displayState = StageDisplayState.NORMAL;
+       if (Std.is(x1.displayState, String)) {
            DejaGnu.pass("Stage::displayState property exists");
        } else {
            DejaGnu.fail("Stage::displayState property doesn't exist");
        }
-//     if (x1.focus == focus) {
-//         DejaGnu.pass("Stage::focus property exists");
-//     } else {
-//         DejaGnu.fail("Stage::focus property doesn't exist");
-//     }
-       if (x1.frameRate == 0) {
+       DejaGnu.note("x1.displaystate type is "+Type.typeof(x1.displayState));
+//Determine if the focus property exists by setting and testing it
+       var t1:TextField = new TextField();
+       x1.focus = t1;
+       if (Std.is(x1.focus, InteractiveObject)) {
+           DejaGnu.pass("Stage::focus property exists");
+       } else {
+           DejaGnu.fail("Stage::focus property doesn't exist");
+       }
+       if (Std.is(x1.frameRate, Int)) {
            DejaGnu.pass("Stage::frameRate property exists");
        } else {
            DejaGnu.fail("Stage::frameRate property doesn't exist");
        }
-       if (x1.fullScreenHeight == 0) {
-           DejaGnu.pass("Stage::fullScreenHeight property exists");
-       } else {
-           DejaGnu.fail("Stage::fullScreenHeight property doesn't exist");
-       }
-//     if (x1.fullScreenSourceRect == Rectangle) {
+//FIXME: These probably need to be set somehow before testing
+//     DejaGnu.note("x1.fullScreenHeight type is 
"+Type.typeof(x1.fullScreenHeight));
+//     if (Std.is(x1.fullScreenHeight, Int)) {
+//         DejaGnu.pass("Stage::fullScreenHeight property exists");
+//     } else {
+//         DejaGnu.fail("Stage::fullScreenHeight property doesn't exist");
+//     }
+//     if (Std.is(x1.fullScreenSourceRect, Rectangle)) {
 //         DejaGnu.pass("Stage::fullScreenSourceRect property exists");
 //     } else {
 //         DejaGnu.fail("Stage::fullScreenSourceRect property doesn't exist");
 //     }
-       if (x1.fullScreenWidth == 0) {
-           DejaGnu.pass("Stage::fullScreenWidth property exists");
-       } else {
-           DejaGnu.fail("Stage::fullScreenWidth property doesn't exist");
-       }
-       if (x1.height == 0) {
-           DejaGnu.pass("Stage::height property exists");
-       } else {
-           DejaGnu.fail("Stage::height property doesn't exist");
-       }
-       if (x1.mouseChildren == false) {
-           DejaGnu.pass("Stage::mouseChildren property exists");
-       } else {
-           DejaGnu.fail("Stage::mouseChildren property doesn't exist");
-       }
-//     if (x1.nativeWindow == NativeWindow) {
+//     if (Std.is(x1.fullScreenWidth, Int)) {
+//         DejaGnu.pass("Stage::fullScreenWidth property exists");
+//     } else {
+//         DejaGnu.fail("Stage::fullScreenWidth property doesn't exist");
+//     }
+//FIXME: This property does not exist in haXe
+//     if (Std.is(x1.height, Int)) {
+//         DejaGnu.pass("Stage::height property exists");
+//     } else {
+//         DejaGnu.fail("Stage::height property doesn't exist");
+//     }
+//FIXME: This property does not exist in haXe
+//     if (Std.is(x1.mouseChildren, Bool)) {
+//         DejaGnu.pass("Stage::mouseChildren property exists");
+//     } else {
+//         DejaGnu.fail("Stage::mouseChildren property doesn't exist");
+//     }
+//FIXME: This property does not exist in haXe
+//     if (Std.is(x1.nativeWindow, NativeWindow)) {
 //         DejaGnu.pass("Stage::nativeWindow property exists");
 //     } else {
 //         DejaGnu.fail("Stage::nativeWindow property doesn't exist");
 //     }
-       if (x1.numChildren == 0) {
-           DejaGnu.pass("Stage::numChildren property exists");
-       } else {
-           DejaGnu.fail("Stage::numChildren property doesn't exist");
-       }
-       if (x1.quality == null) {
+//FIXME: This property does not exist in haXe
+//     if (Std.is(x1.numChildren, Int)) {
+//         DejaGnu.pass("Stage::numChildren property exists");
+//     } else {
+//         DejaGnu.fail("Stage::numChildren property doesn't exist");
+//     }
+       if (Std.is(x1.quality, String)) {
            DejaGnu.pass("Stage::quality property exists");
        } else {
            DejaGnu.fail("Stage::quality property doesn't exist");
        }
-       if (x1.scaleMode == null) {
+       if (Std.is(x1.scaleMode, String)) {
            DejaGnu.pass("Stage::scaleMode property exists");
        } else {
            DejaGnu.fail("Stage::scaleMode property doesn't exist");
        }
-       if (x1.showDefaultContextMenu == false) {
+       if (Std.is(x1.showDefaultContextMenu, Bool)) {
            DejaGnu.pass("Stage::showDefaultContextMenu property exists");
        } else {
            DejaGnu.fail("Stage::showDefaultContextMenu property doesn't 
exist");
        }
-       if (x1.stageFocusRect == false) {
+       if (Std.is(x1.stageFocusRect, Bool)) {
            DejaGnu.pass("Stage::stageFocusRect property exists");
        } else {
            DejaGnu.fail("Stage::stageFocusRect property doesn't exist");
        }
-       if (x1.stageHeight == 0) {
+       if (Std.is(x1.stageHeight, Int)) {
            DejaGnu.pass("Stage::stageHeight property exists");
        } else {
            DejaGnu.fail("Stage::stageHeight property doesn't exist");
        }
-       if (x1.stageWidth == 0) {
+       if (Std.is(x1.stageWidth, Int)) {
            DejaGnu.pass("Stage::stageWidth property exists");
        } else {
            DejaGnu.fail("Stage::stageWidth property doesn't exist");
        }
-       if (x1.tabChildren == false) {
-           DejaGnu.pass("Stage::tabChildren property exists");
-       } else {
-           DejaGnu.fail("Stage::tabChildren property doesn't exist");
-       }
-//     if (x1.textSnapshot == textSnapshot) {
+//FIXME: This property does not exist in haXe
+//     if (Std.is(x1.tabChildren, Bool)) {
+//         DejaGnu.pass("Stage::tabChildren property exists");
+//     } else {
+//         DejaGnu.fail("Stage::tabChildren property doesn't exist");
+//     }
+//FIXME: This property does not exist in haXe
+//     if (Std.is(x1.textSnapshot, TextSnapshot)) {
 //         DejaGnu.pass("Stage::textSnapshot property exists");
 //     } else {
 //         DejaGnu.fail("Stage::textSnapshot property doesn't exist");
 //     }
-       if (x1.width == 0) {
+//FIXME: This property does not exist in haXe
+//     if (Std.is(x1.width, Int)) {
+//         DejaGnu.pass("Stage::width property exists");
+//     } else {
+//         DejaGnu.fail("Stage::width property doesn't exist");
+//     }
+#else
+       if (Std.is(Stage.width, Float)) {
            DejaGnu.pass("Stage::width property exists");
        } else {
            DejaGnu.fail("Stage::width property doesn't exist");
        }
-
+       if (Std.is(Stage.height, Float)) {
+           DejaGnu.pass("Stage::height property exists");
+       } else {
+           DejaGnu.fail("Stage::height property doesn't exist");
+       }
+       if (Std.is(Stage.scaleMode, String)) {
+           DejaGnu.pass("Stage::scaleMode property exists");
+       } else {
+           DejaGnu.fail("Stage::scaleMode property doesn't exist");
+       }
+       if (Std.is(Stage.align, String)) {
+           DejaGnu.pass("Stage::align property exists");
+       } else {
+           DejaGnu.fail("Stage::align property doesn't exist");
+       }
+//FIXME: This property has not been implemented yet
+       if (Std.is(Stage.showMenu, Bool)) {
+           DejaGnu.pass("Stage::showMenu property exists");
+       } else {
+           DejaGnu.fail("Stage::showMenu property doesn't exist");
+       }
+#if flash8
+       if (Std.is(Stage.displayState, String)) {
+           DejaGnu.pass("Stage::displayState property exists");
+       } else {
+           DejaGnu.fail("Stage::displayState property doesn't exist");
+       }
+//Test to see if the Stage.fullScreenSourceRect property exists by setting and 
testing it
+       var r1:Rectangle<Int> = new Rectangle(0,0,10,10);
+       Stage.fullScreenSourceRect = r1;
+       if (Std.is(Stage.fullScreenSourceRect, Rectangle)) {
+           DejaGnu.pass("Stage::fullScreenSourceRect property exists");
+       } else {
+           DejaGnu.fail("Stage::fullScreenSourceRect property doesn't exist");
+       }
+#end
+#end
 // Tests to see if all the methods exist. All these do is test for
 // existance of a method, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-//     if (x1.addChild == DisplayObject) {
-//         DejaGnu.pass("Stage::addChild() method exists");
-//     } else {
-//         DejaGnu.fail("Stage::addChild() method doesn't exist");
-//     }
-//     if (x1.addChildAt == DisplayObject) {
-//         DejaGnu.pass("Stage::addChildAt() method exists");
-//     } else {
-//         DejaGnu.fail("Stage::addChildAt() method doesn't exist");
-//     }
-       if (x1.addEventListener == null) {
+#if !flash
+       if (Type.typeof(x1.assignFocus) == ValueType.TFunction) {
+           DejaGnu.pass("Stage::assignFocus() method exists");
+       } else {
+           DejaGnu.fail("Stage::assignFocus() method doesn't exist");
+       }
+#end
+#if !flash9
+       if (Type.typeof(Stage.addListener) == ValueType.TFunction) {
+           DejaGnu.pass("Stage::addChild() method exists");
+       } else {
+           DejaGnu.fail("Stage::addChild() method doesn't exist");
+       }
+       if (Type.typeof(Stage.removeListener) == ValueType.TFunction) {
+           DejaGnu.pass("Stage::addChildAt() method exists");
+       } else {
+           DejaGnu.fail("Stage::addChildAt() method doesn't exist");
+       }
+#end
+#if flash9
+       if (Type.typeof(x1.addChild) == ValueType.TFunction) {
+           DejaGnu.pass("Stage::addChild() method exists");
+       } else {
+           DejaGnu.fail("Stage::addChild() method doesn't exist");
+       }
+       if (Type.typeof(x1.addChildAt) == ValueType.TFunction) {
+           DejaGnu.pass("Stage::addChildAt() method exists");
+       } else {
+           DejaGnu.fail("Stage::addChildAt() method doesn't exist");
+       }
+       if (Type.typeof(x1.addEventListener) == ValueType.TFunction) {
            DejaGnu.pass("Stage::addEventListener() method exists");
        } else {
            DejaGnu.fail("Stage::addEventListener() method doesn't exist");
        }
-//     if (x1.assignFocus == Event) {
-//         DejaGnu.pass("Stage::assignFocus() method exists");
-//     } else {
-//         DejaGnu.fail("Stage::assignFocus() method doesn't exist");
-//     }
-//     if (x1.dispatchEvent == Event) {
-//         DejaGnu.pass("Stage::dispatchEvent() method exists");
-//     } else {
-//         DejaGnu.fail("Stage::dispatchEvent() method doesn't exist");
-//     }
-       if (x1.hasEventListener != null) {
+       if (Type.typeof(x1.dispatchEvent) == ValueType.TFunction) {
+           DejaGnu.pass("Stage::dispatchEvent() method exists");
+       } else {
+           DejaGnu.fail("Stage::dispatchEvent() method doesn't exist");
+       }
+       if (Type.typeof(x1.hasEventListener) == ValueType.TFunction) {
            DejaGnu.pass("Stage::hasEventListener() method exists");
        } else {
            DejaGnu.fail("Stage::hasEventListener() method doesn't exist");
        }
-       if (x1.invalidate == null) {
+       if (Type.typeof(x1.invalidate) == ValueType.TFunction) {
            DejaGnu.pass("Stage::invalidate() method exists");
        } else {
            DejaGnu.fail("Stage::invalidate() method doesn't exist");
        }
-       if (x1.isFocusInaccessible != null) {
+       if (Type.typeof(x1.isFocusInaccessible) == ValueType.TFunction) {
            DejaGnu.pass("Stage::isFocusInaccessible() method exists");
        } else {
            DejaGnu.fail("Stage::isFocusInaccessible() method doesn't exist");
        }
-//     if (x1.removeChildAt == DisplayObject) {
-//         DejaGnu.pass("Stage::removeChildAt() method exists");
-//     } else {
-//         DejaGnu.fail("Stage::removeChildAt() method doesn't exist");
-//     }
-       if (x1.setChildIndex == null) {
+       if (Type.typeof(x1.removeChild) == ValueType.TFunction) {
+           DejaGnu.pass("Stage::removeChildAt() method exists");
+       } else {
+           DejaGnu.fail("Stage::removeChildAt() method doesn't exist");
+       }
+       if (Type.typeof(x1.setChildIndex) == ValueType.TFunction) {
            DejaGnu.pass("Stage::setChildIndex() method exists");
        } else {
            DejaGnu.fail("Stage::setChildIndex() method doesn't exist");
        }
-       if (x1.swapChildrenAt == null) {
+       if (Type.typeof(x1.swapChildrenAt) == ValueType.TFunction) {
            DejaGnu.pass("Stage::swapChildrenAt() method exists");
        } else {
            DejaGnu.fail("Stage::swapChildrenAt() method doesn't exist");
        }
-       if (x1.willTrigger != null) {
+       if (Type.typeof(x1.willTrigger) == ValueType.TFunction) {
            DejaGnu.pass("Stage::willTrigger() method exists");
        } else {
            DejaGnu.fail("Stage::willTrigger() method doesn't exist");
        }
+#end
 
         // Call this after finishing all tests. It prints out the totals.
         DejaGnu.done();

=== modified file 'testsuite/as3/classes.all/geom/Matrix_as.hx'
--- a/testsuite/as3/classes.all/geom/Matrix_as.hx       2009-05-21 00:17:43 
+0000
+++ b/testsuite/as3/classes.all/geom/Matrix_as.hx       2009-06-01 17:24:36 
+0000
@@ -24,14 +24,14 @@
 //  DejaGnu.hx header file for the testing framework support.
 
 #if flash9
-import flash.geom.Matrix;
 import flash.display.MovieClip;
 #else
-import flash.Matrix;
 import flash.MovieClip;
 #end
+import flash.geom.Matrix;
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -42,7 +42,7 @@
         var x1:Matrix = new Matrix();
 
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1, Matrix)) {
             DejaGnu.pass("Matrix class exists");
         } else {
             DejaGnu.fail("Matrix class doesn't exist");
@@ -50,32 +50,32 @@
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (x1.a == 0) {
+       if (Std.is(x1.a, Float)) {
            DejaGnu.pass("Matrix.a property exists");
        } else {
            DejaGnu.fail("Matrix.a property doesn't exist");
        }
-       if (x1.b == 0) {
+       if (Std.is(x1.b, Float)) {
            DejaGnu.pass("Matrix.b property exists");
        } else {
            DejaGnu.fail("Matrix.b property doesn't exist");
        }
-       if (x1.c == 0) {
+       if (Std.is(x1.c, Float)) {
            DejaGnu.pass("Matrix.c property exists");
        } else {
            DejaGnu.fail("Matrix.c property doesn't exist");
        }
-       if (x1.d == 0) {
+       if (Std.is(x1.d, Float)) {
            DejaGnu.pass("Matrix.d property exists");
        } else {
            DejaGnu.fail("Matrix.d property doesn't exist");
        }
-       if (x1.tx == 0) {
+       if (Std.is(x1.tx, Float)) {
            DejaGnu.pass("Matrix.tx property exists");
        } else {
            DejaGnu.fail("Matrix.tx property doesn't exist");
        }
-       if (x1.ty == 0) {
+       if (Std.is(x1.ty, Float)) {
            DejaGnu.pass("Matrix.ty property exists");
        } else {
            DejaGnu.fail("Matrix.ty property doesn't exist");
@@ -89,57 +89,57 @@
 //     } else {
 //         DejaGnu.fail("Matrix::clone() method doesn't exist");
 //     }
-       if (x1.concat == null) {
+       if (Type.typeof(x1.concat) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::concat() method exists");
        } else {
            DejaGnu.fail("Matrix::concat() method doesn't exist");
        }
-       if (x1.createBox == null) {
+       if (Type.typeof(x1.createBox) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::createBox() method exists");
        } else {
            DejaGnu.fail("Matrix::createBox() method doesn't exist");
        }
-       if (x1.createGradientBox == null) {
+       if (Type.typeof(x1.createGradientBox) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::createGradientBox() method exists");
        } else {
            DejaGnu.fail("Matrix::createGradientBox() method doesn't exist");
        }
-//     if (x1.deltaTransformPoint == Point) {
-//         DejaGnu.pass("Matrix::deltaTransformPoint() method exists");
-//     } else {
-//         DejaGnu.fail("Matrix::deltaTransformPoint() method doesn't exist");
-//     }
-       if (x1.identity == null) {
+       if (Type.typeof(x1.deltaTransformPoint) == ValueType.TFunction) {
+           DejaGnu.pass("Matrix::deltaTransformPoint() method exists");
+       } else {
+           DejaGnu.fail("Matrix::deltaTransformPoint() method doesn't exist");
+       }
+       if (Type.typeof(x1.identity) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::identity() method exists");
        } else {
            DejaGnu.fail("Matrix::identity() method doesn't exist");
        }
-       if (x1.invert == null) {
+       if (Type.typeof(x1.invert) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::invert() method exists");
        } else {
            DejaGnu.fail("Matrix::invert() method doesn't exist");
        }
-       if (x1.rotate == null) {
+       if (Type.typeof(x1.rotate) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::rotate() method exists");
        } else {
            DejaGnu.fail("Matrix::rotate() method doesn't exist");
        }
-       if (x1.scale == null) {
+       if (Type.typeof(x1.scale) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::scale() method exists");
        } else {
            DejaGnu.fail("Matrix::scale() method doesn't exist");
        }
-       if (x1.toString == null) {
+       if (Type.typeof(x1.toString) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::toString() method exists");
        } else {
            DejaGnu.fail("Matrix::toString() method doesn't exist");
        }
-//     if (x1.transformPoint == Point) {
-//         DejaGnu.pass("Matrix::transformPoint() method exists");
-//     } else {
-//         DejaGnu.fail("Matrix::transformPoint() method doesn't exist");
-//     }
-       if (x1.translate == null) {
+       if (Type.typeof(x1.transformPoint) == ValueType.TFunction) {
+           DejaGnu.pass("Matrix::transformPoint() method exists");
+       } else {
+           DejaGnu.fail("Matrix::transformPoint() method doesn't exist");
+       }
+       if (Type.typeof(x1.translate) == ValueType.TFunction) {
            DejaGnu.pass("Matrix::translate() method exists");
        } else {
            DejaGnu.fail("Matrix::translate() method doesn't exist");

=== modified file 'testsuite/as3/classes.all/geom/Point_as.hx'
--- a/testsuite/as3/classes.all/geom/Point_as.hx        2009-05-28 16:25:59 
+0000
+++ b/testsuite/as3/classes.all/geom/Point_as.hx        2009-06-01 17:24:36 
+0000
@@ -31,6 +31,7 @@
 import flash.geom.Point;
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -40,33 +41,28 @@
     static function main() {
 #if flash9
        var x1:Point = new Point();
-    if (x1 != null) {
-               DejaGnu.pass("Point class exists");
-       } else {
-               DejaGnu.fail("Point class doesn't exist");
-       }
 #else
        var x1:Point<Int> = new Point(0,0);
-    if (Type.typeof(x1) == ValueType.TObject) {
+#end
+       if (Std.is(x1, Point)) {
                DejaGnu.pass("Point class exists");
        } else {
                DejaGnu.fail("Point class doesn't exist");
        }
-#end
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-       if (Type.typeof(x1.length) == ValueType.TInt) {
+       if (Std.is(x1.length, Int)) {
            DejaGnu.pass("Point.length property exists");
        } else {
            DejaGnu.fail("Point.length property doesn't exist");
        }
-       if (Type.typeof(x1.x) == ValueType.TInt) {
+       if (Std.is(x1.x, Int)) {
            DejaGnu.pass("Point.x property exists");
        } else {
            DejaGnu.fail("Point.x property doesn't exist");
        }
-       if (Type.typeof(x1.y) == ValueType.TInt) {
+       if (Std.is(x1.y, Int)) {
            DejaGnu.pass("Point.y property exists");
        } else {
            DejaGnu.fail("Point.y property doesn't exist");

=== modified file 'testsuite/as3/classes.all/geom/Rectangle_as.hx'
--- a/testsuite/as3/classes.all/geom/Rectangle_as.hx    2009-05-28 16:25:59 
+0000
+++ b/testsuite/as3/classes.all/geom/Rectangle_as.hx    2009-06-01 17:24:36 
+0000
@@ -25,13 +25,19 @@
 
 #if flash9
 import flash.display.MovieClip;
-#else
+#end
+#if flash8
 import flash.MovieClip;
 #end
+#if !flash6
+#if !flash7
 import flash.geom.Rectangle;
 import flash.geom.Point;
+#end
+#end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -39,16 +45,15 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class Rectangle_as {
     static function main() {
+#if !flash6
+#if !flash7
 #if flash9
         var x1:Rectangle = new Rectangle();
-               var p1:Point = new Point();
 #else
-               var i:Int=7;
-               var x1:Rectangle<Int> = new Rectangle(i,i,i,i);
-               var p1:Point<Int> = new Point(i,i);
+               var x1:Rectangle<Int> = new Rectangle(1,1,1,1);
 #end
         // Make sure we actually get a valid class        
-        if (x1 != null) {
+        if (Std.is(x1, Rectangle)) {
             DejaGnu.pass("Rectangle class exists");
         } else {
             DejaGnu.fail("Rectangle class doesn't exist");
@@ -56,63 +61,57 @@
        // Tests to see if all the properties exist. All these do is test for
        // existance of a property, and don't test the functionality at all. 
This
        // is primarily useful only to test completeness of the API 
implementation.
-               if (Type.typeof(x1.bottom) == ValueType.TInt) {
+               if (Std.is(x1.bottom, Int)) {
                        DejaGnu.pass("Rectangle.bottom property exists");
                } else {
                        DejaGnu.fail("Rectangle.bottom property doesn't exist");
                }
-//FIXME: TClass([class Point]) != TClass([class Point])
-//             if (Type.typeof(x1.bottomRight) == Type.typeof(p1)) {
-//                 DejaGnu.pass("Rectangle.bottomRight property exists");
-//             } else {
-//                 DejaGnu.fail("Rectangle.bottomRight property doesn't 
exist");
-//             }
-               DejaGnu.note("Type of x1.bottomRight = 
"+Type.typeof(x1.bottomRight));
-               DejaGnu.note("Type of p1 = "+Type.typeof(p1));
-               DejaGnu.note("These types are not equal");
-               if (Type.typeof(x1.height) == ValueType.TInt) {
+               if (Std.is(x1.bottomRight, Point)) {
+                   DejaGnu.pass("Rectangle.bottomRight property exists");
+               } else {
+                   DejaGnu.fail("Rectangle.bottomRight property doesn't 
exist");
+               }
+               if (Std.is(x1.height, Int)) {
                        DejaGnu.pass("Rectangle.height property exists");
                } else {
                        DejaGnu.fail("Rectangle.height property doesn't exist");
                }
-               if (Type.typeof(x1.left) == ValueType.TInt) {
+               if (Std.is(x1.left, Int)) {
                        DejaGnu.pass("Rectangle.left property exists");
                } else {
                        DejaGnu.fail("Rectangle.left property doesn't exist");
                }
-               if (Type.typeof(x1.right) == ValueType.TInt) {
+               if (Std.is(x1.right, Int)) {
                        DejaGnu.pass("Rectangle.right property exists");
                } else {
                        DejaGnu.fail("Rectangle.right property doesn't exist");
                }
-//FIXME: TClass([class Point]) != TClass([class Point])
-//             if (Type.typeof(x1.size) == Type.typeof(p1)) {
-//                 DejaGnu.pass("Rectangle.size property exists");
-//             } else {
-//                 DejaGnu.fail("Rectangle.size property doesn't exist");
-//             }
-               if (Type.typeof(x1.top) == ValueType.TInt) {
+               if (Std.is(x1.size, Point)) {
+                   DejaGnu.pass("Rectangle.size property exists");
+               } else {
+                   DejaGnu.fail("Rectangle.size property doesn't exist");
+               }
+               if (Std.is(x1.top, Int)) {
                        DejaGnu.pass("Rectangle.top property exists");
                } else {
                        DejaGnu.fail("Rectangle.top property doesn't exist");
                }
-//FIXME: TClass([class Point]) != TClass([class Point])
-//             if (Type.typeof(x1.topLeft) == Type.typeof(p1)) {
-//                 DejaGnu.pass("Rectangle.topLeft property exists");
-//             } else {
-//                 DejaGnu.fail("Rectangle.topLeft property doesn't exist");
-//             }
-               if (Type.typeof(x1.width) == ValueType.TInt) {
+               if (Std.is(x1.topLeft, Point)) {
+                   DejaGnu.pass("Rectangle.topLeft property exists");
+               } else {
+                   DejaGnu.fail("Rectangle.topLeft property doesn't exist");
+               }
+               if (Std.is(x1.width, Int)) {
                        DejaGnu.pass("Rectangle.width property exists");
                } else {
                        DejaGnu.fail("Rectangle.width property doesn't exist");
                }
-               if (Type.typeof(x1.x) == ValueType.TInt) {
+               if (Std.is(x1.x, Int)) {
                        DejaGnu.pass("Rectangle.x property exists");
                } else {
                        DejaGnu.fail("Rectangle.x property doesn't exist");
                }
-               if (Type.typeof(x1.y) == ValueType.TInt) {
+               if (Std.is(x1.y, Int)) {
                        DejaGnu.pass("Rectangle.y property exists");
                } else {
                        DejaGnu.fail("Rectangle.y property doesn't exist");
@@ -121,7 +120,6 @@
        // Tests to see if all the methods exist. All these do is test for
        // existance of a method, and don't test the functionality at all. This
        // is primarily useful only to test completeness of the API 
implementation.
-               //Test constructor existance
                if (Type.typeof(x1.clone) == ValueType.TFunction) {
                    DejaGnu.pass("Rectangle::clone() method exists");
                } else {
@@ -209,6 +207,14 @@
 
            // Call this after finishing all tests. It prints out the totals.
            DejaGnu.done();
+#end
+#end
+#if flash6
+       DejaGnu.note("This class (Rectangle) is not available in Flash6");
+#end
+#if flash7
+       DejaGnu.note("This class (Rectangle) is not available in Flash7");
+#end
     }
 }
 

=== modified file 'testsuite/as3/classes.all/geom/Transform_as.hx'
--- a/testsuite/as3/classes.all/geom/Transform_as.hx    2009-05-21 00:17:43 
+0000
+++ b/testsuite/as3/classes.all/geom/Transform_as.hx    2009-06-01 17:24:36 
+0000
@@ -1,6 +1,6 @@
 // Transform_as.hx:  ActionScript 3 "Transform" class, for Gnash.
 //
-// Generated by gen-as3.sh on: 20090515 by "rob". Remove this
+// Generated on: 20090529 by "bnaugle". Remove this
 // after any hand editing loosing changes.
 //
 //   Copyright (C) 2009 Free Software Foundation, Inc.
@@ -22,17 +22,25 @@
 
 // This test case must be processed by CPP before compiling to include the
 //  DejaGnu.hx header file for the testing framework support.
-
 #if flash9
+import flash.display.MovieClip;
+import flash.geom.Matrix3D;
+import flash.geom.PerspectiveProjection;
+#end
+#if flash8
+import flash.MovieClip;
+#end
+#if !flash6
+#if !flash7
 import flash.geom.ColorTransform;
+import flash.geom.Rectangle;
 import flash.geom.Transform;
-import flash.display.MovieClip;
-#else
-import flash.Transform;
-import flash.MovieClip;
+import flash.geom.Matrix;
+#end
 #end
 import flash.Lib;
 import Type;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -40,45 +48,92 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class Transform_as {
     static function main() {
-//         var x1:Transform = new Transform();
+#if !flash6
+#if !flash7
+#if flash9
+       var m1:MovieClip = new MovieClip();
+        var x1:Transform = new Transform(m1);
+#end
+#if flash8
+               var m1:MovieClip = flash.Lib._root;
+               var x1:Transform = new Transform(m1);
+#end
 
-//         // Make sure we actually get a valid class        
-//         if (x1 != null) {
-//             DejaGnu.pass("Transform class exists");
-//         } else {
-//             DejaGnu.fail("Transform class doesn't exist");
-//         }
+         // Make sure we actually get a valid class        
+         if (Std.is(x1, Transform)) {
+             DejaGnu.pass("Transform class exists");
+         } else {
+             DejaGnu.fail("Transform class doesn't exist");
+         }
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
-//     if (x1.colorTransform == colorTransform) {
-//         DejaGnu.pass("Transform.colorTransform property exists");
-//     } else {
-//         DejaGnu.fail("Transform.colorTransform property doesn't exist");
-//     }
-//     if (x1.concatenatedColorTransform == concatenatedColorTransform) {
-//         DejaGnu.pass("Transform.concatenatedColorTransform property 
exists");
-//     } else {
-//         DejaGnu.fail("Transform.concatenatedColorTransform property doesn't 
exist");
-//     }
-//     if (x1.concatenatedMatrix == Matrix) {
-//         DejaGnu.pass("Transform.concatenatedMatrix property exists");
-//     } else {
-//         DejaGnu.fail("Transform.concatenatedMatrix property doesn't exist");
-//     }
-//     if (x1.matrix == Matrix) {
-//         DejaGnu.pass("Transform.matrix property exists");
-//     } else {
-//         DejaGnu.fail("Transform.matrix property doesn't exist");
-//     }
-//     if (x1.pixelBounds == Rectangle) {
-//         DejaGnu.pass("Transform.pixelBounds property exists");
-//     } else {
-//         DejaGnu.fail("Transform.pixelBounds property doesn't exist");
-//     }
-
+       var c1:ColorTransform = new ColorTransform();
+       x1.colorTransform = c1;
+       if (Std.is(x1.colorTransform, ColorTransform)) {
+           DejaGnu.pass("Transform.colorTransform property exists");
+       } else {
+           DejaGnu.fail("Transform.colorTransform property doesn't exist");
+       }
+//FIXME: This property is unimplemented for flash8
+       if (Std.is(x1.concatenatedColorTransform, ColorTransform)) {
+           DejaGnu.pass("Transform.concatenatedColorTransform property 
exists");
+       } else {
+           DejaGnu.fail("Transform.concatenatedColorTransform property doesn't 
exist");
+       }
+//FIXME: This property is unimplemented for flash8
+       if (Std.is(x1.concatenatedMatrix, Matrix)) {
+           DejaGnu.pass("Transform.concatenatedMatrix property exists");
+       } else {
+           DejaGnu.fail("Transform.concatenatedMatrix property doesn't exist");
+       }
+#if flash10
+       if (Std.is(x1.matrix3D, Matrix3D)) {
+           DejaGnu.pass("Transform.matrix3D property exists");
+       } else {
+           DejaGnu.fail("Transform.matrix3D property doesn't exist");
+       }
+       if (Std.is(x1.perspectiveProjection, PerspectiveProjection)) {
+           DejaGnu.pass("Transform.perspectiveProjection property exists");
+       } else {
+           DejaGnu.fail("Transform.perspectiveProjection property doesn't 
exist");
+       }
+       if (Type.typeof(x1.getRelativeMatrix3D) == ValueType.TFunction) {
+           DejaGnu.pass("Transform.getRelativeMatrix3D method exists");
+       } else {
+           DejaGnu.fail("Transform.getRelativeMatrix3D method doesn't exist");
+       }
+#end
+       if (Std.is(x1.matrix, Matrix)) {
+           DejaGnu.pass("Transform.matrix property exists");
+       } else {
+           DejaGnu.fail("Transform.matrix property doesn't exist");
+       }
+//FIXME: This property is unimplemented for flash8
+       if (Std.is(x1.pixelBounds, Rectangle)) {
+           DejaGnu.pass("Transform.pixelBounds property exists");
+       } else {
+           DejaGnu.fail("Transform.pixelBounds property doesn't exist");
+       }
+       DejaGnu.note("pixelBounds... is "+Type.typeof(x1.pixelBounds));
+#if flash9
+//FIXME: This class is not implemented in Haxe or ActionScript, but exists in 
Haxe API documentation
+//     if (Type.typeof(x1.getRelativeMatrix3D) == ValueType.TFunction) {
+//         DejaGnu.pass("Transform.getRelativeMatrix3D() method exists");
+//     } else {
+//         DejaGnu.fail("Transform.getRelativeMatrix3D() method doesn't 
exist");
+//     }
+#end
         // Call this after finishing all tests. It prints out the totals.
         DejaGnu.done();
+#end
+#end
+#if flash6
+       DejaGnu.note("This class (Transform) is not available in Flash6");
+#end
+#if flash7
+       DejaGnu.note("This class (Transform) is not available in Flash7");
+#end
     }
 }
 

=== modified file 'testsuite/as3/classes.all/net/SharedObject_as.hx'
--- a/testsuite/as3/classes.all/net/SharedObject_as.hx  2009-05-29 06:11:27 
+0000
+++ b/testsuite/as3/classes.all/net/SharedObject_as.hx  2009-06-01 17:24:36 
+0000
@@ -23,19 +23,17 @@
 // This test case must be processed by CPP before compiling to include the
 //  DejaGnu.hx header file for the testing framework support.
 
-//#error
-//FIXME: This test produces a Segmentation Fault
 
 #if flash9
 import flash.net.SharedObject;
 import flash.display.MovieClip;
 #else
+import flash.MovieClip;
 import flash.SharedObject;
-import flash.MovieClip;
 #end
 import flash.Lib;
 import Type;
-import StdTypes;
+import Std;
 
 // import our testing API
 import DejaGnu;
@@ -43,52 +41,53 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class SharedObject_as {
     static function main() {
-        var x1:SharedObject = new SharedObject();
-//             var c:Dynamic = ;
-        // Make sure we actually get a valid class        
-        if (x1 != null) {
+#if flash9
+        var x1:SharedObject = SharedObject.getLocal("sharedobjecttest");
+#else
+               var x1:SharedObject = 
SharedObject.getLocal("sharedobjecttest"); 
+#end         
+        if (Std.is(x1, SharedObject)) {
             DejaGnu.pass("SharedObject class exists");
         } else {
             DejaGnu.fail("SharedObject class doesn't exist");
         }
+        DejaGnu.note("SharedObject type is "+Type.typeof(x1));
 // Tests to see if all the properties exist. All these do is test for
 // existance of a property, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
 #if flash9
-//FIXME: TClass not understood by test programmer
-//     if (Type.typeof(x1.client) == ValueType.TClass(c)) {
-//         DejaGnu.pass("SharedObject.client property exists");
-//     } else {
-//         DejaGnu.fail("SharedObject.client property doesn't exist");
-//     }
+       if (Std.is(x1.client, Dynamic)) {
+           DejaGnu.pass("SharedObject.client property exists");
+       } else {
+           DejaGnu.fail("SharedObject.client property doesn't exist");
+       }
 //FIXME:  Field fps cannot be accessed for reading
 //     if (Type.typeof(x1.fps) == ValueType.TFloat) {
 //         DejaGnu.pass("SharedObject.fps property exists");
 //     } else {
 //         DejaGnu.fail("SharedObject.fps property doesn't exist");
 //     }
-       if (Type.typeof(x1.objectEncoding) == ValueType.TInt) {
+       if (Std.is(x1.objectEncoding, Int)) {
            DejaGnu.pass("SharedObject.objectEncoding property exists");
        } else {
            DejaGnu.fail("SharedObject.objectEncoding property doesn't exist");
        }
-       if (Type.typeof(x1.size) == ValueType.TInt) {
+       if (Std.is(x1.size, Int)) {
            DejaGnu.pass("SharedObject.size property exists");
        } else {
            DejaGnu.fail("SharedObject.size property doesn't exist");
        }
-       if (Type.typeof(SharedObject.defaultObjectEncoding) == ValueType.TInt) {
+       if (Std.is(SharedObject.defaultObjectEncoding, Int)) {
            DejaGnu.pass("SharedObject.defaultObjectEncoding property exists");
        } else {
            DejaGnu.fail("SharedObject.defaultObjectEncoding property doesn't 
exist");
        }
 #end
-//FIXME
-//     if (Type.typeof(x1.data) == ValueType.TClass(c)) {
-//         DejaGnu.pass("SharedObject.data property exists");
-//     } else {
-//         DejaGnu.fail("SharedObject.data property doesn't exist");
-//     }
+       if (Std.is(x1.data, Dynamic)) {
+           DejaGnu.pass("SharedObject.data property exists");
+       } else {
+           DejaGnu.fail("SharedObject.data property doesn't exist");
+       }
 // Tests to see if all the methods exist. All these do is test for
 // existance of a method, and don't test the functionality at all. This
 // is primarily useful only to test completeness of the API implementation.
@@ -117,6 +116,7 @@
        } else {
            DejaGnu.fail("SharedObject::send() method doesn't exist");
        }
+#if flash9
        if (Type.typeof(x1.setDirty) == ValueType.TFunction) {
            DejaGnu.pass("SharedObject::setDirty() method exists");
        } else {
@@ -127,6 +127,7 @@
        } else {
            DejaGnu.fail("SharedObject::setProperty() method doesn't exist");
        }
+#end
        if (Type.typeof(SharedObject.getLocal) == ValueType.TFunction) {
            DejaGnu.pass("SharedObject::getLocal() method exists");
        } else {


reply via email to

[Prev in Thread] Current Thread [Next in Thread]