gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/trunk r11118: haXe tests no longer use Std


From: Bob Naugle
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r11118: haXe tests no longer use Std.is() as this was not behaving as expected. Any type failures are XFAIL.
Date: Mon, 15 Jun 2009 12:15:59 -0600
User-agent: Bazaar (1.13.1)

------------------------------------------------------------
revno: 11118
committer: Bob Naugle <address@hidden>
branch nick: trunk
timestamp: Mon 2009-06-15 12:15:59 -0600
message:
  haXe tests no longer use Std.is() as this was not behaving as expected. Any 
type failures are XFAIL.
modified:
  testsuite/as3/classes.all/display/BitmapData_as.hx
  testsuite/as3/classes.all/display/Bitmap_as.hx
  testsuite/as3/classes.all/display/InteractiveObject_as.hx
  testsuite/as3/classes.all/display/MovieClip_as.hx
  testsuite/as3/classes.all/display/SWFVersion_as.hx
  testsuite/as3/classes.all/display/Sprite_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/net/FileReference_as.hx
  testsuite/as3/classes.all/net/NetStream_as.hx
  testsuite/as3/classes.all/net/SharedObject_as.hx
  testsuite/as3/classes.all/net/Socket_as.hx
  testsuite/as3/classes.all/text/TextFormat_as.hx
  testsuite/as3/classes.all/text/TextLineMetrics_as.hx
  testsuite/as3/classes.all/text/TextRenderer_as.hx
  testsuite/as3/classes.all/text/TextSnapshot_as.hx
  testsuite/as3/classes.all/ui/KeyLocation_as.hx
  testsuite/as3/classes.all/utils/Timer_as.hx
=== modified file 'testsuite/as3/classes.all/display/BitmapData_as.hx'
--- a/testsuite/as3/classes.all/display/BitmapData_as.hx        2009-06-01 
17:24:36 +0000
+++ b/testsuite/as3/classes.all/display/BitmapData_as.hx        2009-06-15 
18:15:59 +0000
@@ -31,12 +31,10 @@
 #if flash8
 import flash.MovieClip;
 #end
-#if !flash6
-#if !flash7
+#if (flash8 || flash9)
 import flash.geom.Rectangle;
 import flash.display.BitmapData;
 #end
-#end
 import flash.Lib;
 import Type;
 import Std;
@@ -47,129 +45,607 @@
 // Class must be named with the _as suffix, as that's the same name as the 
file.
 class BitmapData_as {
     static function main() {
-#if !flash6
-#if !flash7
+#if !(flash6 || flash7)
+               //check_equals(typeof(Bitmap), 'function');
+               if(Type.typeof(untyped BitmapData) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData is a function");
+               } else {
+                       DejaGnu.fail("BitmapData is not a function");
+               }
+               //check_equals(typeof(BitmapData.prototype), 'object');
+               if(Type.typeof(untyped BitmapData.prototype) == 
ValueType.TObject) {
+                       DejaGnu.pass("BitmapData prototype is an object");
+               } else {
+                       DejaGnu.fail("BitmapData prototype is not an object");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('applyFilter'));
+               if(untyped BitmapData.prototype.hasOwnProperty('applyFilter')) {
+                       DejaGnu.pass("BitmapData prototype has 'applyFilter' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'applyFilter' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('clone'));
+               if(untyped BitmapData.prototype.hasOwnProperty('clone')) {
+                       DejaGnu.pass("BitmapData prototype has 'clone' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'clone' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('colorTransform'));
+               if(untyped 
BitmapData.prototype.hasOwnProperty('colorTransform')) {
+                       DejaGnu.pass("BitmapData prototype has 'colorTransform' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'colorTransform' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('copyChannel'));
+               if(untyped BitmapData.prototype.hasOwnProperty('copyChannel')) {
+                       DejaGnu.pass("BitmapData prototype has 'copyChannel' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'copyChannel' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('copyPixels'));
+               if(untyped BitmapData.prototype.hasOwnProperty('copyPixels')) {
+                       DejaGnu.pass("BitmapData prototype has 'copyPixels' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'copyPixels' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('dispose'));
+               if(untyped BitmapData.prototype.hasOwnProperty('dispose')) {
+                       DejaGnu.pass("BitmapData prototype has 'dispose' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'dispose' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('draw'));
+               if(untyped BitmapData.prototype.hasOwnProperty('draw')) {
+                       DejaGnu.pass("BitmapData prototype has 'draw' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 'draw' 
property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('fillRect'));
+               if(untyped BitmapData.prototype.hasOwnProperty('fillRect')) {
+                       DejaGnu.pass("BitmapData prototype has 'fillRect' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'fillRect' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('floodFill'));
+               if(untyped BitmapData.prototype.hasOwnProperty('floodFill')) {
+                       DejaGnu.pass("BitmapData prototype has 'floodFill' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'floodFill' property");
+               }
+               
//check(BitmapData.prototype.hasOwnProperty('generateFilterRect'));
+               if(untyped 
BitmapData.prototype.hasOwnProperty('generateFilterRect')) {
+                       DejaGnu.pass("BitmapData prototype has 
'generateFilterRect' property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'generateFilterRect' property");
+               }
+               
//check(BitmapData.prototype.hasOwnProperty('getColorBoundsRect'));
+               if(untyped 
BitmapData.prototype.hasOwnProperty('getColorBoundsRect')) {
+                       DejaGnu.pass("BitmapData prototype has 
'getColorBoundsRect' property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'getColorBoundsRect' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('getPixel'));
+               if(untyped BitmapData.prototype.hasOwnProperty('getPixel')) {
+                       DejaGnu.pass("BitmapData prototype has 'getPixel' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'getPixel' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('getPixel32'));
+               if(untyped BitmapData.prototype.hasOwnProperty('getPixel32')) {
+                       DejaGnu.pass("BitmapData prototype has 'getPixel32' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'getPixel32' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('hitTest'));
+               if(untyped BitmapData.prototype.hasOwnProperty('hitTest')) {
+                       DejaGnu.pass("BitmapData prototype has 'hitTest' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'hitTest' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('merge'));
+               if(untyped BitmapData.prototype.hasOwnProperty('merge')) {
+                       DejaGnu.pass("BitmapData prototype has 'merge' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'merge' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('noise'));
+               if(untyped BitmapData.prototype.hasOwnProperty('noise')) {
+                       DejaGnu.pass("BitmapData prototype has 'noise' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'noise' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('paletteMap'));
+               if(untyped BitmapData.prototype.hasOwnProperty('paletteMap')) {
+                       DejaGnu.pass("BitmapData prototype has 'paletteMap' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'paletteMap' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('perlinNoise'));
+               if(untyped BitmapData.prototype.hasOwnProperty('perlinNoise')) {
+                       DejaGnu.pass("BitmapData prototype has 'perlinNoise' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'perlinNoise' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('pixelDissolve'));
+               if(untyped 
BitmapData.prototype.hasOwnProperty('pixelDissolve')) {
+                       DejaGnu.pass("BitmapData prototype has 'pixelDissolve' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'pixelDissolve' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('scroll'));
+               if(untyped BitmapData.prototype.hasOwnProperty('scroll')) {
+                       DejaGnu.pass("BitmapData prototype has 'scroll' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'scroll' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('setPixel'));
+               if(untyped BitmapData.prototype.hasOwnProperty('setPixel')) {
+                       DejaGnu.pass("BitmapData prototype has 'setPixel' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'setPixel' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('setPixel32'));
+               if(untyped BitmapData.prototype.hasOwnProperty('setPixel32')) {
+                       DejaGnu.pass("BitmapData prototype has 'setPixel32' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'setPixel32' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty('threshold'));
+               if(untyped BitmapData.prototype.hasOwnProperty('threshold')) {
+                       DejaGnu.pass("BitmapData prototype has 'threshold' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'threshold' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty("height"));
+               if(untyped BitmapData.prototype.hasOwnProperty("height")) {
+                       DejaGnu.pass("BitmapData prototype has 'height' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'height' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty("width"));
+               if(untyped BitmapData.prototype.hasOwnProperty("width")) {
+                       DejaGnu.pass("BitmapData prototype has 'width' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'width' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty("rectangle"));
+               if(untyped BitmapData.prototype.hasOwnProperty("rectangle")) {
+                       DejaGnu.pass("BitmapData prototype has 'rectangle' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'rectangle' property");
+               }
+               //check(BitmapData.prototype.hasOwnProperty("transparent"));
+               if(untyped BitmapData.prototype.hasOwnProperty("transparent")) {
+                       DejaGnu.pass("BitmapData prototype has 'transparent' 
property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype does not have 
'transparent' property");
+               }
+
+               //check(!BitmapData.prototype.hasOwnProperty('loadBitmap'));
+               if(!(untyped 
BitmapData.prototype.hasOwnProperty('loadBitmap'))) {
+                       DejaGnu.pass("BitmapData prototype does not have 
'loadBitmap' property");
+               } else {
+                       DejaGnu.fail("BitmapData prototype has 'loadBitmap' 
property");
+               }
+               //check(BitmapData.hasOwnProperty('loadBitmap'));
+               if(untyped BitmapData.hasOwnProperty("loadBitmap")) {
+                       DejaGnu.pass("BitmapData has 'loadBitmap' property");
+               } else {
+                       DejaGnu.fail("BitmapData does not have 'loadBitmap' 
property");
+               }
+
+               //-------------------------------------------------------------
+               // Test constructor
+               //-------------------------------------------------------------
+
         var x1:BitmapData = new BitmapData(20, 30, false, 0xeeddee);
-        // Make sure we actually get a valid class        
+        
+        // check(x1 instanceof Bitmap);      
         if (Std.is(x1,BitmapData)) {
             DejaGnu.pass("BitmapData class exists");
         } else {
             DejaGnu.fail("BitmapData 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 (Std.is(x1.height, Int)) {
-           DejaGnu.pass("BitmapData::height property exists");
-       } else {
-           DejaGnu.fail("BitmapData::height property doesn't exist");
-       }
+
+               //check_equals(x1.height, 10);
+               if (Type.typeof(x1.height) == ValueType.TInt) {
+                       DejaGnu.pass("BitmapData::height property exists");
+                       if (x1.height == 30) {
+                               DejaGnu.pass("BitmapData.height property is 
correct int (30)");
+                       } else {
+                               DejaGnu.fail("BitmapData.height property is 
incorrect int (should be 30, is "+x1.height+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::height property doesn't 
exist");
+               }
+               //check_equals(x1.width, 10);
+               if (Type.typeof(x1.width) == ValueType.TInt) {
+                       DejaGnu.pass("BitmapData::width property exists");
+                       if (x1.width == 20) {
+                               DejaGnu.pass("BitmapData.width property is 
correct int (20)");
+                       } else {
+                               DejaGnu.fail("BitmapData.width property is 
incorrect int (should be 20, is "+x1.width+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::width property doesn't 
exist");
+               }
+               //check_equals(x1.transparent, true);
+               if (Type.typeof(x1.transparent) == ValueType.TBool) {
+                       DejaGnu.pass("BitmapData::transparent property exists");
+                       if (x1.transparent == false) {
+                               DejaGnu.pass("BitmapData.transparent property 
is correct bool (false)");
+                       } else {
+                               DejaGnu.fail("BitmapData.transparent property 
is incorrect bool (should be false, is "+x1.transparent+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::transparent property doesn't 
exist");
+               }
 #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 (Std.is(x1.width, Int)) {
-           DejaGnu.pass("BitmapData::width property exists");
-       } else {
-           DejaGnu.fail("BitmapData::width property doesn't exist");
-       }
+               //check_equals(x1.rect.toString(), "(x=0, y=0, w=10, h=10)");
+               if (Std.is(x1.rect, Rectangle)) {
+                       DejaGnu.pass("BitmapData::rect property exists");
+                       if (x1.rect.toString() == "(x=0, y=0, w=20, h=30)") {
+                               DejaGnu.pass("BitmapData.rect property is 
correct rectangle (x=0, y=0, w=20, h=30)");
+                       } else {
+                               DejaGnu.fail("BitmapData.rect property is 
incorrect rectangle (should be (x=0, y=0, w=20, h=30), is 
"+x1.rect.toString()+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::rect property doesn't exist");
+               }
+#else
+               //check_equals(x1.rectangle.toString(), "(x=0, y=0, w=10, 
h=10)");
+               if (Std.is(x1.rectangle, Rectangle)) {
+                       DejaGnu.pass("BitmapData::rectangle property exists");
+                       if (x1.rectangle.toString() == "(x=0, y=0, w=20, 
h=30)") {
+                               DejaGnu.pass("BitmapData.rectangle property is 
correct rectangle (x=0, y=0, w=20, h=30)");
+                       } else {
+                               DejaGnu.fail(
+                               "BitmapData.rectangle property is incorrect 
rectangle (should be (x=0, y=0, w=20, h=30), is "+x1.rectangle.toString()+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::rectangle property doesn't 
exist");
+               }
+#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 (Type.typeof(x1.applyFilter) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::applyFilter() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::applyFilter() method doesn't exist");
-       }
-       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 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 (Type.typeof(x1.copyPixels) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::copyPixels() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::copyPixels() method doesn't exist");
-       }
-       if (Type.typeof(x1.dispose) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::dispose() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::dispose() method doesn't exist");
-       }
-       if (Type.typeof(x1.draw) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::draw() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::draw() method doesn't exist");
-       }
-       if (Type.typeof(x1.fillRect) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::fillRect() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::fillRect() method doesn't exist");
-       }
-       if (Type.typeof(x1.floodFill) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::floodFill() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::floodFill() method doesn't exist");
-       }
-       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 (Type.typeof(x1.getPixel32) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::getPixel32() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::getPixel32() method doesn't exist");
-       }
-#if flash9
-       if (Type.typeof(x1.getPixels) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::getPixels() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::getPixels() method doesn't exist");
-       }
+
+               //check_equals(bmp.getPixel(1, 1), 0xeeddee);
+               if (Type.typeof(x1.getPixel) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::getPixel() method exists");
+                       if (Type.typeof(x1.getPixel(1,1)) == ValueType.TInt) {
+                               DejaGnu.pass("BitmapData::getPixel() method 
returns correct type (number)");
+                               if (x1.getPixel(1,1) == 0xeeddee) {
+                                       DejaGnu.pass("BitmapData::getPixel(1,1) 
method returns correct number (0xeeddee)");
+                               } else {
+                                       DejaGnu.fail("BitmapData::getPixel(1,1) 
method returns incorrect number (should be 0xeeddee, is "+x1.getPixel(1,1)+")");
+                               }
+                               //check_equals(bmp.getPixel(50, 1), 0);
+                               if (x1.getPixel(50,1) == 0) {
+                                       
DejaGnu.pass("BitmapData::getPixel(50,1) returns correct value (0)");
+                               } else {
+                                       
DejaGnu.fail("BitmapData::getPixel(50,1) returns incorrect value (should be 0, 
is "+x1.getPixel(50,1)+")");
+                               }
+                               //check_equals(bmp.getPixel(0, 0), 15654382);
+                               if (x1.getPixel(0,0) == 0xeeddee) {
+                                       DejaGnu.pass("BitmapData::getPixel(0,0) 
returns correct value (0xeeddee)");
+                               } else {
+                                       DejaGnu.fail("BitmapData::getPixel(0,0) 
returns incorrect value (should be 0xeeddee, is "+x1.getPixel(0,0)+")");
+                               }
+                               //check_equals(bmp.getPixel(-2, -5), 0);
+                               if (x1.getPixel(-2,-5) == 0) {
+                                       
DejaGnu.pass("BitmapData::getPixel(-2,-5) returns correct value (0)");
+                               } else {
+                                       
DejaGnu.fail("BitmapData::getPixel(-2,-5) returns incorrect value (should be 0, 
is "+x1.getPixel(-2,-5)+")");
+                               }
+                               //check_equals(bmp.getPixel(20, 30), 0);
+                               if (x1.getPixel(20,30) == 0) {
+                                       
DejaGnu.pass("BitmapData::getPixel(20,30) returns correct value (0)");
+                               } else {
+                                       
DejaGnu.fail("BitmapData::getPixel(20,30) returns incorrect value (should be 0, 
is "+x1.getPixel(20,30)+")");
+                               }
+                       } else {
+                               DejaGnu.fail("BitmapData::getPixel() method 
returns incorrect type (should be number, is 
"+Type.typeof(x1.getPixel(1,1))+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::getPixel() method doesn't 
exist");
+               }
+               //check_equals(bmp.getPixel32(1, 1), -1122834);
+               if (Type.typeof(x1.getPixel32) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::getPixel32() method exists");
+                       if (Type.typeof(x1.getPixel32(1,1)) == ValueType.TInt) {
+                               DejaGnu.pass("BitmapData::getPixel32() method 
returns correct type (number)");
+#if flash9
+#else
+                               if (x1.getPixel32(1,1) == -1122834) {
+                                       DejaGnu.pass("BitmapData::getPixel32() 
method returns correct number (-01122834)");
+                               } else {
+                                       DejaGnu.fail("BitmapData::getPixel32() 
method returns incorrect number (should be -01122834, is 
"+x1.getPixel32(1,1)+")");
+                               }
+#end
+                       } else {
+                               DejaGnu.fail("BitmapData::getPixel32() method 
returns incorrect type (should be number, is 
"+Type.typeof(x1.getPixel32(1,1))+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::getPixel32() method doesn't 
exist");
+               }
+               
+               // --------------------
+               // setPixel, setPixel32
+               // --------------------
+               
+               if (Type.typeof(x1.setPixel) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::setPixel() method exists");
+                       //x1.setPixel32(2, 2, 0x44);
+                       if (Type.typeof(x1.setPixel(2,2,0x44)) == 
ValueType.TNull) {
+                               DejaGnu.pass("BitmapData::getPixel() method 
returns correct type (Void)");
+                               //xcheck_equals(x1.getPixel(2, 2), 0x00);
+                               if (!(x1.getPixel(2,2) == 0x00)) {
+                                       
DejaGnu.pass("BitmapData::setPixel(2,2,0x44) has not set an incorrect value 
(should not be 0x00, is "+x1.getPixel(2,2)+")");
+                               } else {
+                                       
DejaGnu.fail("BitmapData::setPixel(2,2,0x44) has set an incorrect value 
(0x00)");
+                               }
+                               //xcheck_equals(x1.getPixel32(2, 2), 0);
+                               if (!(x1.getPixel32(2,2) == 0)) {
+                                       
DejaGnu.pass("BitmapData::setPixel(2,2,0x44) has not set an incorrect value 
(should not be 0, is "+x1.getPixel32(2,2)+")");
+                               } else {
+                                       
DejaGnu.fail("BitmapData::setPixel(2,2,0x44) has set an incorrect value (0)");
+                               }
+                               x1.setPixel(3, 3, 0xff);
+                               //check_equals(tr.getPixel(3, 3), 0xff);
+                               if (x1.getPixel(3,3) == 0xff) {
+                                       
DejaGnu.pass("BitmapData::setPixel(3,3,0xff) has set the correct value (0xff)");
+                               } else {
+                                       
DejaGnu.fail("BitmapData::setPixel(3,3,0xff) has set an incorrect value (should 
be 0xff, is "+x1.getPixel(2,2)+")");
+                               }
+                               //check_equals(tr.getPixel32(3, 3), -16776961);
+                               if ((x1.getPixel32(3,3) == -16776961)) {
+                                       
DejaGnu.pass("BitmapData::setPixel(3,3,0xff) has set the correct value 
(-16776961)");
+                               } else {
+                                       
DejaGnu.fail("BitmapData::setPixel(3,3,0xff) has set an incorrect value (should 
be -16776961, is "+x1.getPixel32(2,2)+")");
+                               }
+                       } else {
+                               DejaGnu.fail("BitmapData::setPixel() method 
returns incorrect type (should be Void, is 
"+Type.typeof(x1.setPixel(2,2,0x44))+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::setPixel() method doesn't 
exist");
+               }
+               if (Type.typeof(x1.setPixel32) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::setPixel32() method exists");
+                       //x1.setPixel32(6, 6, 0x44444444);
+                       if (Type.typeof(x1.setPixel32(6,6,0x44444444)) == 
ValueType.TNull) {
+                               DejaGnu.pass("BitmapData::setPixel32() method 
returns correct type (Void)");
+                               //check_equals(ntr.getPixel(6, 6), 0x444444);
+                               if ((x1.getPixel(6,6) == 0x444444)) {
+                                       
DejaGnu.pass("BitmapData::setPixel32(6,6,0x44444444) has set a correct value 
(0x444444)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::setPixel32(6,6,0x44444444) 
has set an incorrect value (should be 0x444444, is "+x1.getPixel(6,6)+")");
+                               }
+                               //check_equals(ntr.getPixel32(6, 6), -12303292);
+                               if ((x1.getPixel32(6,6) == -12303292)) {
+                                       
DejaGnu.pass("BitmapData::setPixel32(6,6,0x44444444) has set a correct value 
(-12303292)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::setPixel32(6,6,0x44444444) 
has set an incorrect value (should be -12303292, is "+x1.getPixel32(6,6)+")");
+                               }
+                       } else {
+                               DejaGnu.fail("BitmapData::setPixel32() method 
returns incorrect type (should be Void, is 
"+Type.typeof(x1.setPixel(2,2,0x44))+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::setPixel32() method doesn't 
exist");
+               }
+               
+               // ---------
+               // floodFill
+               // ---------
+               
+               //bmp.floodFill(10, 10, 0x0000ff00);
+               if (Type.typeof(x1.floodFill) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::floodFill() method exists");
+                       if (Type.typeof(x1.floodFill(10,10,0x0000ff00)) == 
ValueType.TNull) {
+                               DejaGnu.pass("BitmapData::floodFill() method 
returns correct type (Void)");
+                               //xcheck_equals(bmp.getPixel(10, 10), 
0x0000ff00);
+                               if (!(x1.getPixel(10,10) == 0x0000ff00)) {
+                                       DejaGnu.pass(
+                                       
"BitmapData::floodFill(10,10,0x0000ff00) has not set an incorrect value (should 
not be 0x0000ff00, is "+x1.getPixel(10,10)+")");
+                               } else {
+                                       DejaGnu.fail(
+                                       
"BitmapData::floodFill(10,10,0x0000ff00) has set an incorrect value 
(0x0000ff00)");
+                               }
+                               x1.floodFill(5,5,0x000000ff);
+                               //xcheck_equals(bmp.getPixel(10, 0), 
0x000000ff);
+                               if (!(x1.getPixel(10,10) == 0x000000ff)) {
+                                       DejaGnu.pass(
+                                       "BitmapData::floodFill(5,5,0x000000ff) 
has not set an incorrect value (should not be 0x000000ff, is 
"+x1.getPixel(6,6)+")");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::floodFill(5,5,0x000000ff) 
has set an incorrect value (0x000000ff)");
+                               }
+                       } else {
+                               DejaGnu.fail(
+                               "BitmapData::floodFill() method returns 
incorrect type (should be Void, is 
"+Type.typeof(x1.floodFill(10,10,0x0000ff00))+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::floodFill() method doesn't 
exist");
+               }
+               #if flash9
+               var r:Rectangle = new Rectangle(2, 2, 5, 5);
+#else
+               var r:Rectangle<Int> = new Rectangle(2, 2, 5, 5);
+#end
+               if (Type.typeof(x1.fillRect) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::fillRect() method exists");
+                       if (Type.typeof(x1.fillRect(r, 0xff1100)) == 
ValueType.TNull) {
+                               DejaGnu.pass("BitmapData::fillRect() method 
returns correct type (Void)");
+                               //check_equals(bmp.getPixel(1, 1), 0xffffff);
+                               if (x1.getPixel(1,1) == 0xeeddee) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
not set an incorrect value @ (1,1) (0xff1100)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set an incorrect value @ (1,1) (should be 0xeeddee, is "+x1.getPixel(1,1)+")");
+                               }
+                               //check_equals(bmp.getPixel(2, 2), 0xff1100);
+                               if (x1.getPixel(2,2) == 0xff1100) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set a correct value @ (2,2) (0xff1100)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set an incorrect value @ (2,2) (should be 0xff1100, is "+x1.getPixel(2,2)+")");
+                               }
+                               //check_equals(bmp.getPixel(2, 5), 0xff1100);
+                               if (x1.getPixel(2,5) == 0xff1100) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set a correct value @ (2,5) (0xff1100)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set an incorrect value @ (2,5) (should be 0xff1100, is "+x1.getPixel(2,5)+")");
+                               }
+                               //check_equals(bmp.getPixel(5, 2), 0xff1100);
+                               if (x1.getPixel(5,2) == 0xff1100) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set a correct value @ (5,2) (0xff1100)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set an incorrect value @ (5,2) (should be 0xff1100, is "+x1.getPixel(5,2)+")");
+                               }
+                               //check_equals(bmp.getPixel(2, 6), 0xff1100);
+                               if (x1.getPixel(2,6) == 0xff1100) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set a correct value @ (2,6) (0xff1100)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set an incorrect value @ (2,6) (should be 0xff1100, is "+x1.getPixel(2,6)+")");
+                               }
+                               //check_equals(bmp.getPixel(6, 6), 0xff1100);
+                               if (x1.getPixel(6,6) == 0xff1100) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set a correct value @ (6,6) (0xff1100)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set an incorrect value @ (6,6) (should be 0xff1100, is "+x1.getPixel(6,6)+")");
+                               }
+                               //check_equals(bmp.getPixel(6, 7), 0xffffff);
+                               if (x1.getPixel(6,7) == 0xeeddee) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
not set an incorrect value @ (6,7) (0xff1100)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set an incorrect value @ (6,7) (should be 0xeeddee, is "+x1.getPixel(1,1)+")");
+                               }
+                               //check_equals(bmp.getPixel(7, 6), 0xffffff);
+                               if (x1.getPixel(7,6) == 0xeeddee) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
not set an incorrect value @ (7,6) (0xff1100)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0xff1100) has 
set an incorrect value @ (7,6) (should be 0xeeddee, is "+x1.getPixel(1,1)+")");
+                               }
+                               r = new Rectangle(-2, -2, 8, 8);
+                               x1.fillRect(r, 0x00ff00);
+                               //check_equals(bmp.getPixel(1, 1), 0x00ff00);
+                               if (x1.getPixel(1,1) == 0x00ff00) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0x00ff00) has 
set a correct value @ (1,1) (0x00ff00)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0x00ff00) has 
set an incorrect value @ (1,1) (should be 0x00ff00, is "+x1.getPixel(1,1)+")");
+                               }
+                               r = new Rectangle(18, 18, -4, -4);
+                               x1.fillRect(r, 0x0000ff);
+                               //check_equals(bmp.getPixel(7, 6), 0xeeddee);
+                               if (x1.getPixel(7,6) == 0xeeddee) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0x0000ff) has 
not set an incorrect value @ (7,6) (0x0000ff)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0x0000ff) has 
set an incorrect value @ (7,6) (should be 0xeeddee, is "+x1.getPixel(7,6)+")");
+                               }
+                               r = new Rectangle(18, 18, 200, 200);
+                               x1.fillRect(r, 0x0000ff);
+                               //check_equals(bmp.getPixel(19,19), 0x0000ff);
+                               if (x1.getPixel(19,19) == 0x0000ff) {
+                                       DejaGnu.pass(
+                                       "BitmapData::fillRect(r, 0x0000ff) has 
set a correct value @ (19,19) (0x0000ff)");
+                               } else {
+                                       DejaGnu.fail(
+                                       "BitmapData::fillRect(r, 0x0000ff) has 
set an incorrect value @ (19,19) (should be 0x0000ff, is 
"+x1.getPixel(19,19)+")");
+                               }
+                               // Doesn't have to be a rectangle
+                               //var g = {x: 15, y: 15, width: 2, height: 2};
+                               //bmp.fillRect(g, 0xff00ff);
+                               //check_equals(bmp.getPixel(16, 16), 0xff00ff);
+                       } else {
+                               DejaGnu.fail(
+                               "BitmapData::fillRect() method returns 
incorrect type (should be Void, is 
"+Type.typeof(x1.floodFill(10,10,0x0000ff00))+")");
+                       }
+               } else {
+                       DejaGnu.fail("BitmapData::fillRect() method doesn't 
exist");
+               }
+               if (Type.typeof(x1.applyFilter) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::applyFilter() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::applyFilter() method doesn't 
exist");
+               }
+               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 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 (Type.typeof(x1.copyPixels) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::copyPixels() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::copyPixels() method doesn't 
exist");
+               }
+               if (Type.typeof(x1.dispose) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::dispose() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::dispose() method doesn't 
exist");
+               }
+               if (Type.typeof(x1.draw) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::draw() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::draw() method doesn't exist");
+               }
+               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 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");
@@ -182,64 +658,54 @@
 //         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 (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 (Type.typeof(x1.lock) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::lock() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::lock() method doesn't exist");
+               }
 #end
-       if (Type.typeof(x1.merge) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::merge() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::merge() method doesn't exist");
-       }
-       if (Type.typeof(x1.noise) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::noise() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::noise() method doesn't exist");
-       }
-       if (Type.typeof(x1.paletteMap) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::paletteMap() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::paletteMap() method doesn't exist");
-       }
-       if (Type.typeof(x1.perlinNoise) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::perlinNoise() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::perlinNoise() method doesn't exist");
-       }
-       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 (Type.typeof(x1.setPixel) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::setPixel() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::setPixel() method doesn't exist");
-       }
-       if (Type.typeof(x1.setPixel32) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::setPixel32() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::setPixel32() method doesn't exist");
-       }
+               if (Type.typeof(x1.merge) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::merge() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::merge() method doesn't 
exist");
+               }
+               if (Type.typeof(x1.noise) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::noise() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::noise() method doesn't 
exist");
+               }
+               if (Type.typeof(x1.paletteMap) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::paletteMap() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::paletteMap() method doesn't 
exist");
+               }
+               if (Type.typeof(x1.perlinNoise) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::perlinNoise() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::perlinNoise() method doesn't 
exist");
+               }
+               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 flash9
-       if (Type.typeof(x1.setPixels) == ValueType.TFunction) {
-           DejaGnu.pass("BitmapData::setPixels() method exists");
-       } else {
-           DejaGnu.fail("BitmapData::setPixels() method doesn't exist");
-       }
+               if (Type.typeof(x1.setPixels) == ValueType.TFunction) {
+                       DejaGnu.pass("BitmapData::setPixels() method exists");
+               } else {
+                       DejaGnu.fail("BitmapData::setPixels() method doesn't 
exist");
+               }
 //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");
@@ -247,34 +713,33 @@
 //         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 (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();
-#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");
+               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
+
+               //-------------------------------------------------------------
+               // END OF TEST
+               //-------------------------------------------------------------
+
+               // Call this after finishing all tests. It prints out the 
totals.
+               DejaGnu.done();
+#else
+               DejaGnu.note("This class (BitmapData) is only available in 
flash8 and flash9");
 #end
     }
 }

=== modified file 'testsuite/as3/classes.all/display/Bitmap_as.hx'
--- a/testsuite/as3/classes.all/display/Bitmap_as.hx    2009-06-01 17:24:36 
+0000
+++ b/testsuite/as3/classes.all/display/Bitmap_as.hx    2009-06-15 18:15:59 
+0000
@@ -66,7 +66,7 @@
        } else {
            DejaGnu.fail("Bitmap::pixelSnapping property doesn't exist");
        }
-       if (Std.is(x1.smoothing, Bool)) {
+       if (Type.typeof(x1.smoothing) == ValueType.TBool) {
            DejaGnu.pass("Bitmap::smoothing property exists");
        } else {
            DejaGnu.fail("Bitmap::smoothing property doesn't exist");

=== modified file 'testsuite/as3/classes.all/display/InteractiveObject_as.hx'
--- a/testsuite/as3/classes.all/display/InteractiveObject_as.hx 2009-06-01 
22:01:49 +0000
+++ b/testsuite/as3/classes.all/display/InteractiveObject_as.hx 2009-06-15 
18:15:59 +0000
@@ -66,7 +66,7 @@
        } else {
            DejaGnu.fail("InteractiveObject::contextMenu property doesn't 
exist");
        }
-       if (Std.is(x1.doubleClickEnabled, Bool)) {
+       if (Type.typeof(x1.doubleClickEnabled) == ValueType.TBool) {
            DejaGnu.pass("InteractiveObject::doubleClickEnabled property 
exists");
        } else {
            DejaGnu.fail("InteractiveObject::doubleClickEnabled property 
doesn't exist");
@@ -76,17 +76,17 @@
        } else {
            DejaGnu.fail("InteractiveObject::focusRect property doesn't exist");
        }
-       if (Std.is(x1.mouseEnabled, Bool)) {
+       if (Type.typeof(x1.mouseEnabled) == ValueType.TBool) {
            DejaGnu.pass("InteractiveObject::mouseEnabled property exists");
        } else {
            DejaGnu.fail("InteractiveObject::mouseEnabled property doesn't 
exist");
        }
-       if (Std.is(x1.tabEnabled, Bool)) {
+       if (Type.typeof(x1.tabEnabled) == ValueType.TBool) {
            DejaGnu.pass("InteractiveObject::tabEnabled property exists");
        } else {
            DejaGnu.fail("InteractiveObject::tabEnabled property doesn't 
exist");
        }
-       if (Std.is(x1.tabIndex, Int)) {
+       if (Type.typeof(x1.tabIndex) == ValueType.TInt) {
            DejaGnu.pass("InteractiveObject::tabIndex property exists");
        } else {
            DejaGnu.fail("InteractiveObject::tabIndex property doesn't exist");

=== modified file 'testsuite/as3/classes.all/display/MovieClip_as.hx'
--- a/testsuite/as3/classes.all/display/MovieClip_as.hx 2009-06-01 17:24:36 
+0000
+++ b/testsuite/as3/classes.all/display/MovieClip_as.hx 2009-06-15 18:15:59 
+0000
@@ -59,7 +59,7 @@
 // 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
-       if (Std.is(x1.currentFrame, Int)) {
+       if (Type.typeof(x1.currentFrame) == ValueType.TInt) {
            DejaGnu.pass("MovieClip::currentFrame property exists");
        } else {
            DejaGnu.fail("MovieClip::currentFrame property doesn't exist");
@@ -87,7 +87,7 @@
        } else {
            DejaGnu.fail("MovieClip::currentScene property doesn't exist");
        }
-       if (Std.is(x1.framesLoaded, Int)) {
+       if (Type.typeof(x1.framesLoaded) == ValueType.TInt) {
            DejaGnu.pass("MovieClip::framesLoaded property exists");
        } else {
            DejaGnu.fail("MovieClip::framesLoaded property doesn't exist");
@@ -97,48 +97,50 @@
        } else {
            DejaGnu.fail("MovieClip::scenes property doesn't exist");
        }
-       if (Std.is(x1.totalFrames, Int)) {
+       if (Type.typeof(x1.totalFrames) == ValueType.TInt) {
            DejaGnu.pass("MovieClip::totalFrames property exists");
        } else {
            DejaGnu.fail("MovieClip::totalFrames property doesn't exist");
        }
-       if (Std.is(x1.trackAsMenu, Bool)) {
+       if (Type.typeof(x1.currentFrame) == ValueType.TInt) {
            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");
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._alpha) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_alpha property exists");
        } else {
-           DejaGnu.fail("MovieClip::_alpha property doesn't exist");
+           DejaGnu.xfail("MovieClip::_alpha property should be float, returns 
type "+Type.typeof(x1._alpha));
        }
-       if (Std.is(x1._currentframe, Int)) {
+       if (Type.typeof(x1._currentframe) == ValueType.TInt) {
            DejaGnu.pass("MovieClip::_currentframe property exists");
        } else {
-           DejaGnu.fail("MovieClip::_currentframe property doesn't exist");
+           DejaGnu.fail("MovieClip::_currentframe property should be int, 
returns type "+Type.typeof(x1._currentframe));
        }
        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)) {
+       if (Type.typeof(x1._focusrect) == ValueType.TBool) {
            DejaGnu.pass("MovieClip::_focusrect property exists");
        } else {
            DejaGnu.fail("MovieClip::_focusrect property doesn't exist");
        }
-       if (Std.is(x1._framesLoaded, Int)) {
+       if (Type.typeof(x1._framesloaded) == ValueType.TInt) {
            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");
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._height) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_height property exists");
        } else {
-           DejaGnu.fail("MovieClip::_height property doesn't exist");
+           DejaGnu.xfail("MovieClip::_height property should be float, returns 
type "+Type.typeof(x1._height));
        }
-       if (Std.is(x1._lockroot, Bool)) {
+       if (Type.typeof(x1._lockroot) == ValueType.TBool) {
            DejaGnu.pass("MovieClip::_lockroot property exists");
        } else {
            DejaGnu.fail("MovieClip::_lockroot property doesn't exist");
@@ -159,22 +161,24 @@
        } else {
            DejaGnu.fail("MovieClip::_quality property doesn't exist");
        }
-       if (Std.is(x1._rotation, Float)) {
-           DejaGnu.pass("MovieClip::_rotation property exists");
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._rotation) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_rotation property exists");
        } else {
-           DejaGnu.fail("MovieClip::_rotation property doesn't exist");
+           DejaGnu.xfail("MovieClip::_rotation property should be float, 
returns type "+Type.typeof(x1._rotation));
        }
-       if (Std.is(x1._soundbuftime, Float)) {
-           DejaGnu.pass("MovieClip::_soundbuftime property exists");
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._soundbuftime) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_soundbuftime property exists");
        } else {
-           DejaGnu.fail("MovieClip::_soundbuftime property doesn't exist");
+           DejaGnu.xfail("MovieClip::_soundbuftime property should be float, 
returns type "+Type.typeof(x1._soundbuftime));
        }
        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)) {
+       if (Type.typeof(x1._totalframes) == ValueType.TInt) {
            DejaGnu.pass("MovieClip::_totalframes property exists");
        } else {
            DejaGnu.fail("MovieClip::_totalframes property doesn't exist");
@@ -184,50 +188,57 @@
        } else {
            DejaGnu.fail("MovieClip::_url property doesn't exist");
        }
-       if (Std.is(x1._visible, Bool)) {
+       if (Type.typeof(x1._visible) == ValueType.TBool) {
            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");
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._width) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_width property exists");
+       } else {
+           DejaGnu.xfail("MovieClip::_width property should be float, returns 
type "+Type.typeof(x1._width));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._x) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_x property exists");
+       } else {
+           DejaGnu.xfail("MovieClip::_x property should be float, returns type 
"+Type.typeof(x1._x));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._xmouse) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_xmouse property exists");
+       } else {
+           DejaGnu.xfail("MovieClip::_xmouse property should be float, returns 
type "+Type.typeof(x1._xmouse));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._xscale) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_xscale property exists");
+       } else {
+           DejaGnu.xfail("MovieClip::_xscale property should be float, returns 
type "+Type.typeof(x1._xscale));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._y) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_y property exists");
+       } else {
+           DejaGnu.xfail("MovieClip::_y property should be float, returns type 
"+Type.typeof(x1._y));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._ymouse) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_ymouse property exists");
+       } else {
+           DejaGnu.xfail("MovieClip::_ymouse property should be float, returns 
type "+Type.typeof(x1._ymouse));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1._yscale) == ValueType.TFloat) {
+           DejaGnu.xpass("MovieClip::_yscale property exists");
+       } else {
+           DejaGnu.xfail("MovieClip::_yscale property should be float, returns 
type "+Type.typeof(x1._yscale));
        }
        if (Std.is(x1.blendMode, Dynamic)) {
-           DejaGnu.pass("MovieClip::blendMode property exists");
+           DejaGnu.xpass("MovieClip::blendMode property exists");
        } else {
-           DejaGnu.fail("MovieClip::blendMode property doesn't exist");
+           DejaGnu.xfail("MovieClip::blendMode property should be object, 
returns type "+Type.typeof(x1.blendMode));
        }
 //FIXME: This property is defined but not implemented
 //     if (Std.is(x1.cacheAsBitmap, Bool)) {
@@ -259,10 +270,10 @@
 //     } else {
 //         DejaGnu.fail("MovieClip::hitArea property doesn't exist");
 //     }
-       if (Std.is(x1.opaqueBackground, Int)) {
-           DejaGnu.pass("MovieClip::opaqueBackground property exists");
+       if (Type.typeof(x1.opaqueBackground) == ValueType.TInt) {
+           DejaGnu.xpass("MovieClip::opaqueBackground property exists");
        } else {
-           DejaGnu.fail("MovieClip::opaqueBackground property doesn't exist");
+           DejaGnu.xfail("MovieClip::opaqueBackground property doesn't exist");
        }
 #if flash8
 //FIXME: This property is defined but not implemented
@@ -273,9 +284,9 @@
 //     }
 #end
        if (Std.is(x1.scrollRect, Dynamic)) {
-           DejaGnu.pass("MovieClip::scrollRect property exists");
+           DejaGnu.xpass("MovieClip::scrollRect property exists");
        } else {
-           DejaGnu.fail("MovieClip::scrollRect property doesn't exist");
+           DejaGnu.xfail("MovieClip::scrollRect property doesn't exist");
        }
 //FIXME: This property is defined but not implemented
 //     if (Std.is(x1.tabChildren, Bool)) {
@@ -289,10 +300,10 @@
 //     } else {
 //         DejaGnu.fail("MovieClip::tabEnabled property doesn't exist");
 //     }
-       if (Std.is(x1.tabIndex, Int)) {
-           DejaGnu.pass("MovieClip::tabIndex property exists");
+       if (Type.typeof(x1.tabIndex) == ValueType.TInt) {
+           DejaGnu.xpass("MovieClip::tabIndex property exists");
        } else {
-           DejaGnu.fail("MovieClip::tabIndex property doesn't exist");
+           DejaGnu.xfail("MovieClip::tabIndex property doesn't exist");
        }
 //FIXME: This property is defined but not implemented
 //     if (Std.is(x1.trackAsMenu, Bool)) {
@@ -307,14 +318,14 @@
            DejaGnu.fail("MovieClip::transform property doesn't exist");
        }
 #end
-       if (Std.is(x1.useHandCursor, Bool)) {
+       if (Type.typeof(x1.useHandCursor) == ValueType.TBool) {
            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)) {
+       if (Type.typeof(x1.enabled) == ValueType.TBool) {
            DejaGnu.pass("MovieClip::enabled property exists");
        } else {
            DejaGnu.fail("MovieClip::enabled property doesn't exist");

=== modified file 'testsuite/as3/classes.all/display/SWFVersion_as.hx'
--- a/testsuite/as3/classes.all/display/SWFVersion_as.hx        2009-06-01 
22:01:49 +0000
+++ b/testsuite/as3/classes.all/display/SWFVersion_as.hx        2009-06-15 
18:15:59 +0000
@@ -39,7 +39,7 @@
 #if flash9
         // Make sure we actually get a valid class             
 
-               if (Std.is(SWFVersion.FLASH1, Int)) {
+               if (Type.typeof(SWFVersion.FLASH1) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH1 is an int");
                if (Std.string(SWFVersion.FLASH1) == "1") {
                        DejaGnu.pass("SWFVersion.FLASH1 is the correct int 
(1)");
@@ -49,7 +49,7 @@
                } else {
                        DejaGnu.fail("SWFVersion.FLASH1 is not an int. Instead, 
it is a "+Type.typeof(SWFVersion.FLASH1));
                }
-               if (Std.is(SWFVersion.FLASH2, Int)) {
+               if (Type.typeof(SWFVersion.FLASH2) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH2 is an int");
                if (Std.string(SWFVersion.FLASH2) == "2") {
                        DejaGnu.pass("SWFVersion.FLASH2 is the correct int 
(2)");
@@ -59,7 +59,7 @@
                } else {
                        DejaGnu.fail("SWFVersion.FLASH2 is not an int. Instead, 
it is a "+Type.typeof(SWFVersion.FLASH2));
                }
-               if (Std.is(SWFVersion.FLASH3, Int)) {
+               if (Type.typeof(SWFVersion.FLASH3) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH3 is an int");
                if (Std.string(SWFVersion.FLASH3) == "3") {
                        DejaGnu.pass("SWFVersion.FLASH3 is the correct int 
(3)");
@@ -69,7 +69,7 @@
                } else {
                        DejaGnu.fail("SWFVersion.FLASH3 is not an int. Instead, 
it is a "+Type.typeof(SWFVersion.FLASH3));
                }
-               if (Std.is(SWFVersion.FLASH4, Int)) {
+               if (Type.typeof(SWFVersion.FLASH4) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH4 is an int");
                if (Std.string(SWFVersion.FLASH4) == "4") {
                        DejaGnu.pass("SWFVersion.FLASH4 is the correct int 
(4)");
@@ -79,7 +79,7 @@
                } else {
                        DejaGnu.fail("SWFVersion.FLASH4 is not an int. Instead, 
it is a "+Type.typeof(SWFVersion.FLASH4));
                }
-               if (Std.is(SWFVersion.FLASH5, Int)) {
+               if (Type.typeof(SWFVersion.FLASH5) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH5 is an int");
                if (Std.string(SWFVersion.FLASH5) == "5") {
                        DejaGnu.pass("SWFVersion.FLASH5 is the correct int 
(5)");
@@ -90,7 +90,7 @@
                        DejaGnu.fail("SWFVersion.FLASH5 is not an int. Instead, 
it is a "+Type.typeof(SWFVersion.FLASH5));
                }
                
-               if (Std.is(SWFVersion.FLASH6, Int)) {
+               if (Type.typeof(SWFVersion.FLASH6) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH6 is an int");
                if (Std.string(SWFVersion.FLASH6) == "6") {
                        DejaGnu.pass("SWFVersion.FLASH6 is the correct int 
(6)");
@@ -101,7 +101,7 @@
                        DejaGnu.fail("SWFVersion.FLASH6 is not an int. Instead, 
it is a "+Type.typeof(SWFVersion.FLASH6));
                }
                
-               if (Std.is(SWFVersion.FLASH7, Int)) {
+               if (Type.typeof(SWFVersion.FLASH7) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH7 is an int");
                if (Std.string(SWFVersion.FLASH7) == "7") {
                        DejaGnu.pass("SWFVersion.FLASH7 is the correct int 
(7)");
@@ -112,7 +112,7 @@
                        DejaGnu.fail("SWFVersion.FLASH7 is not an int. Instead, 
it is a "+Type.typeof(SWFVersion.FLASH7));
                }
                
-               if (Std.is(SWFVersion.FLASH8, Int)) {
+               if (Type.typeof(SWFVersion.FLASH8) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH8 is an int");
                if (Std.string(SWFVersion.FLASH8) == "8") {
                        DejaGnu.pass("SWFVersion.FLASH8 is the correct int 
(8)");
@@ -123,7 +123,7 @@
                        DejaGnu.fail("SWFVersion.FLASH8 is not an int. Instead, 
it is a "+Type.typeof(SWFVersion.FLASH8));
                }
                
-               if (Std.is(SWFVersion.FLASH9, Int)) {
+               if (Type.typeof(SWFVersion.FLASH9) == ValueType.TInt) {
                DejaGnu.pass("SWFVersion.FLASH9 is an int");
                if (Std.string(SWFVersion.FLASH9) == "9") {
                        DejaGnu.pass("SWFVersion.FLASH9 is the correct int 
(9)");

=== modified file 'testsuite/as3/classes.all/display/Sprite_as.hx'
--- a/testsuite/as3/classes.all/display/Sprite_as.hx    2009-06-01 17:24:36 
+0000
+++ b/testsuite/as3/classes.all/display/Sprite_as.hx    2009-06-15 18:15:59 
+0000
@@ -54,7 +54,7 @@
 // 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 (Std.is(x1.buttonMode, Bool)) {
+       if (Type.typeof(x1.buttonMode) == ValueType.TBool) {
            DejaGnu.pass("Sprite::buttonMode property exists");
        } else {
            DejaGnu.fail("Sprite::buttonMode property doesn't exist");
@@ -83,7 +83,7 @@
        } else {
            DejaGnu.fail("Sprite::soundTransform property doesn't exist");
        }
-       if (Std.is(x1.useHandCursor, Bool)) {
+       if (Type.typeof(x1.useHandCursor) == ValueType.TBool) {
            DejaGnu.pass("Sprite::useHandCursor property exists");
        } else {
            DejaGnu.fail("Sprite::useHandCursor property doesn't exist");

=== modified file 'testsuite/as3/classes.all/geom/Matrix_as.hx'
--- a/testsuite/as3/classes.all/geom/Matrix_as.hx       2009-06-02 18:16:55 
+0000
+++ b/testsuite/as3/classes.all/geom/Matrix_as.hx       2009-06-15 18:15:59 
+0000
@@ -54,35 +54,41 @@
 // 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 (Std.is(x1.a, Float)) {
-           DejaGnu.pass("Matrix.a property exists");
-       } else {
-           DejaGnu.fail("Matrix.a property doesn't exist");
-       }
-       if (Std.is(x1.b, Float)) {
-           DejaGnu.pass("Matrix.b property exists");
-       } else {
-           DejaGnu.fail("Matrix.b property doesn't exist");
-       }
-       if (Std.is(x1.c, Float)) {
-           DejaGnu.pass("Matrix.c property exists");
-       } else {
-           DejaGnu.fail("Matrix.c property doesn't exist");
-       }
-       if (Std.is(x1.d, Float)) {
-           DejaGnu.pass("Matrix.d property exists");
-       } else {
-           DejaGnu.fail("Matrix.d property doesn't exist");
-       }
-       if (Std.is(x1.tx, Float)) {
-           DejaGnu.pass("Matrix.tx property exists");
-       } else {
-           DejaGnu.fail("Matrix.tx property doesn't exist");
-       }
-       if (Std.is(x1.ty, Float)) {
-           DejaGnu.pass("Matrix.ty property exists");
-       } else {
-           DejaGnu.fail("Matrix.ty property doesn't exist");
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.a) == ValueType.TFloat) {
+           DejaGnu.xpass("Matrix.a property exists");
+       } else {
+           DejaGnu.xfail("Matrix.a property should be float, returns type 
"+Type.typeof(x1.a));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.b) == ValueType.TFloat) {
+           DejaGnu.xpass("Matrix.b property exists");
+       } else {
+           DejaGnu.xfail("Matrix.b property should be float, returns type 
"+Type.typeof(x1.b));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.c) == ValueType.TFloat) {
+           DejaGnu.xpass("Matrix.c property exists");
+       } else {
+           DejaGnu.xfail("Matrix.c property should be float, returns type 
"+Type.typeof(x1.c));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.d) == ValueType.TFloat) {
+           DejaGnu.xpass("Matrix.d property exists");
+       } else {
+           DejaGnu.xfail("Matrix.d property should be float, returns type 
"+Type.typeof(x1.d));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.tx) == ValueType.TFloat) {
+           DejaGnu.xpass("Matrix.tx property exists");
+       } else {
+           DejaGnu.xfail("Matrix.tx property should be float, returns type 
"+Type.typeof(x1.tx));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.ty) == ValueType.TFloat) {
+           DejaGnu.xpass("Matrix.ty property exists");
+       } else {
+           DejaGnu.xfail("Matrix.ty property should be float, returns type 
"+Type.typeof(x1.ty));
        }
 
 // Tests to see if all the methods exist. All these do is test for

=== modified file 'testsuite/as3/classes.all/geom/Point_as.hx'
--- a/testsuite/as3/classes.all/geom/Point_as.hx        2009-06-02 18:16:55 
+0000
+++ b/testsuite/as3/classes.all/geom/Point_as.hx        2009-06-15 18:15:59 
+0000
@@ -56,17 +56,17 @@
 // 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 (Std.is(x1.length, Int)) {
+       if (Type.typeof(x1.length) == ValueType.TInt) {
            DejaGnu.pass("Point.length property exists");
        } else {
            DejaGnu.fail("Point.length property doesn't exist");
        }
-       if (Std.is(x1.x, Int)) {
+       if (Type.typeof(x1.x) == ValueType.TInt) {
            DejaGnu.pass("Point.x property exists");
        } else {
            DejaGnu.fail("Point.x property doesn't exist");
        }
-       if (Std.is(x1.y, Int)) {
+       if (Type.typeof(x1.y) == ValueType.TInt) {
            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-06-01 17:24:36 
+0000
+++ b/testsuite/as3/classes.all/geom/Rectangle_as.hx    2009-06-15 18:15:59 
+0000
@@ -29,12 +29,10 @@
 #if flash8
 import flash.MovieClip;
 #end
-#if !flash6
-#if !flash7
+#if (flash8 || flash9)
 import flash.geom.Rectangle;
 import flash.geom.Point;
 #end
-#end
 import flash.Lib;
 import Type;
 import Std;
@@ -45,97 +43,571 @@
 // 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 (flash8 || flash9)
+               //check_equals(typeof(Rectangle), 'function');
+               if(Type.typeof(untyped Rectangle) == ValueType.TFunction) {
+                       DejaGnu.pass("Rectangle is a function");
+               } else {
+                       DejaGnu.fail("Rectangle is not a function");
+               }
+               //check_equals(typeof(Rectangle.prototype), 'object');
+               if(Type.typeof(untyped Rectangle.prototype) == 
ValueType.TObject) {
+                       DejaGnu.pass("Rectangle prototype is an object");
+               } else {
+                       DejaGnu.fail("Rectangle prototype is not an object");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('bottom'));
+               if(untyped Rectangle.prototype.hasOwnProperty('bottom')) {
+                       DejaGnu.pass("Rectangle prototype has 'bottom' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'bottom' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('bottomRight'));
+               if(untyped Rectangle.prototype.hasOwnProperty('bottomRight')) {
+                       DejaGnu.pass("Rectangle prototype has 'bottomRight' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'bottomRight' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('left'));
+               if(untyped Rectangle.prototype.hasOwnProperty('left')) {
+                       DejaGnu.pass("Rectangle prototype has 'left' property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'left' 
property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('right'));
+               if(untyped Rectangle.prototype.hasOwnProperty('right')) {
+                       DejaGnu.pass("Rectangle prototype has 'right' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'right' 
property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('size'));
+               if(untyped Rectangle.prototype.hasOwnProperty('size')) {
+                       DejaGnu.pass("Rectangle prototype has 'size' property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'size' 
property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('top'));
+               if(untyped Rectangle.prototype.hasOwnProperty('top')) {
+                       DejaGnu.pass("Rectangle prototype has 'top' property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'top' 
property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('topLeft'));
+               if(untyped Rectangle.prototype.hasOwnProperty('topLeft')) {
+                       DejaGnu.pass("Rectangle prototype has 'topLeft' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'topLeft' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('clone'));
+               if(untyped Rectangle.prototype.hasOwnProperty('clone')) {
+                       DejaGnu.pass("Rectangle prototype has 'clone' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'clone' 
property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('contains'));
+               if(untyped Rectangle.prototype.hasOwnProperty('contains')) {
+                       DejaGnu.pass("Rectangle prototype has 'contains' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'contains' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('containsPoint'));
+               if(untyped Rectangle.prototype.hasOwnProperty('containsPoint')) 
{
+                       DejaGnu.pass("Rectangle prototype has 'containsPoint' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'containsPoint' property");
+               }
+               
//check(Rectangle.prototype.hasOwnProperty('containsRectangle'));
+               if(untyped 
Rectangle.prototype.hasOwnProperty('containsRectangle')) {
+                       DejaGnu.pass("Rectangle prototype has 
'containsRectangle' property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'containsRectangle' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('equals'));
+               if(untyped Rectangle.prototype.hasOwnProperty('equals')) {
+                       DejaGnu.pass("Rectangle prototype has 'equals' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'equals' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('inflate'));
+               if(untyped Rectangle.prototype.hasOwnProperty('inflate')) {
+                       DejaGnu.pass("Rectangle prototype has 'inflate' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'inflate' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('inflatePoint'));
+               if(untyped Rectangle.prototype.hasOwnProperty('inflatePoint')) {
+                       DejaGnu.pass("Rectangle prototype has 'inflatePoint' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'inflatePoint' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('intersection'));
+               if(untyped Rectangle.prototype.hasOwnProperty('intersection')) {
+                       DejaGnu.pass("Rectangle prototype has 'intersection' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'intersection' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('intersects'));
+               if(untyped Rectangle.prototype.hasOwnProperty('intersects')) {
+                       DejaGnu.pass("Rectangle prototype has 'intersects' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'intersects' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('isEmpty'));
+               if(untyped Rectangle.prototype.hasOwnProperty('isEmpty')) {
+                       DejaGnu.pass("Rectangle prototype has 'isEmpty' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'isEmpty' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('offset'));
+               if(untyped Rectangle.prototype.hasOwnProperty('offset')) {
+                       DejaGnu.pass("Rectangle prototype has 'offset' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'offset' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('offsetPoint'));
+               if(untyped Rectangle.prototype.hasOwnProperty('offsetPoint')) {
+                       DejaGnu.pass("Rectangle prototype has 'offsetPoint' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'offsetPoint' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('setEmpty'));
+               if(untyped Rectangle.prototype.hasOwnProperty('setEmpty')) {
+                       DejaGnu.pass("Rectangle prototype has 'setEmpty' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'setEmpty' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('toString'));
+               if(untyped Rectangle.prototype.hasOwnProperty('toString')) {
+                       DejaGnu.pass("Rectangle prototype has 'toString' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'toString' property");
+               }
+               //check(Rectangle.prototype.hasOwnProperty('union'));
+               if(untyped Rectangle.prototype.hasOwnProperty('union')) {
+                       DejaGnu.pass("Rectangle prototype has 'union' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'union' 
property");
+               }
+               //check(!Rectangle.prototype.hasOwnProperty('height'));
+               if(!(untyped Rectangle.prototype.hasOwnProperty('height'))) {
+                       DejaGnu.pass("Rectangle prototype has 'height' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 
'height' property");
+               }
+               //check(!Rectangle.prototype.hasOwnProperty('width'));
+               if(!(untyped Rectangle.prototype.hasOwnProperty('width'))) {
+                       DejaGnu.pass("Rectangle prototype has 'width' 
property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'width' 
property");
+               }
+               //check(!Rectangle.prototype.hasOwnProperty('x'));
+               if(!(untyped Rectangle.prototype.hasOwnProperty('x'))) {
+                       DejaGnu.pass("Rectangle prototype has 'x' property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'x' 
property");
+               }
+               //check(!Rectangle.prototype.hasOwnProperty('y'));
+               if(!(untyped Rectangle.prototype.hasOwnProperty('y'))) {
+                       DejaGnu.pass("Rectangle prototype has 'y' property");
+               } else {
+                       DejaGnu.fail("Rectangle prototype does not have 'y' 
property");
+               }
+
+               //-------------------------------------------------------------
+               // Test constructor (and width, height, x, y)
+               //-------------------------------------------------------------
+
 #if flash9
         var x1:Rectangle = new Rectangle();
+        DejaGnu.note("var x1:Rectangle = new Rectangle();");
 #else
-               var x1:Rectangle<Int> = new Rectangle(1,1,1,1);
+               var x1:Rectangle<Int> = new Rectangle();
+               DejaGnu.note("var x1:Rectangle<Int> = new Rectangle();");
 #end
-        // Make sure we actually get a valid class        
-        if (Std.is(x1, Rectangle)) {
-            DejaGnu.pass("Rectangle class exists");
+               //check_equals(typeof(x1), 'object');
+               if (Type.typeof(x1) == ValueType.TObject) {
+                       DejaGnu.pass("new Rectangle() returns an object");
+               } else {
+                       DejaGnu.fail("new Rectangle() does not return an 
object");
+               }
+               //check(x1 instanceof Rectangle);
+               if (Std.is(x1, Rectangle)) {
+            DejaGnu.pass("new Rectangle() returns a Rectangle object");
         } else {
-            DejaGnu.fail("Rectangle class doesn't exist");
+            DejaGnu.fail("new Rectangle() does not return a Rectangle object");
         }
-       // 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 (Std.is(x1.bottom, Int)) {
-                       DejaGnu.pass("Rectangle.bottom property exists");
-               } else {
-                       DejaGnu.fail("Rectangle.bottom property doesn't exist");
-               }
-               if (Std.is(x1.bottomRight, Point)) {
+               //check(x1.hasOwnProperty('height'));
+               if(untyped x1.hasOwnProperty('height')) {
+                       DejaGnu.pass("Rectangle object has 'height' property");
+               } else {
+                       DejaGnu.fail("Rectangle object does not have 'height' 
property");
+               }
+               //check(x1.hasOwnProperty('width'));
+               if(untyped x1.hasOwnProperty('width')) {
+                       DejaGnu.pass("Rectangle object has 'width' property");
+               } else {
+                       DejaGnu.fail("Rectangle object does not have 'width' 
property");
+               }
+               //check(x1.hasOwnProperty('x'));
+               if(untyped x1.hasOwnProperty('x')) {
+                       DejaGnu.pass("Rectangle object has 'x' property");
+               } else {
+                       DejaGnu.fail("Rectangle object does not have 'x' 
property");
+               }
+               //check(x1.hasOwnProperty('y'));
+               if(untyped x1.hasOwnProperty('y')) {
+                       DejaGnu.pass("Rectangle object has 'y' property");
+               } else {
+                       DejaGnu.fail("Rectangle object does not have 'y' 
property");
+               }
+               //check_equals(''+x1, '(x=0, y=0, w=0, h=0)');
+               if (x1.toString() == "(x=0, y=0, w=0, h=0)") {
+                       DejaGnu.pass("Rectangle object is correct rectangle 
(x=0, y=0, w=0, h=0)");
+               } else {
+                       DejaGnu.fail(
+                       "Rectangle property is incorrect rectangle (should be 
(x=0, y=0, w=0, h=0), is "+x1.toString()+")");
+               }
+               //check(x1.isEmpty());
+               if (x1.isEmpty()) {
+                       DejaGnu.pass("Rectangle object is empty");
+               } else {
+                       DejaGnu.fail("Rectangle object is not empty");
+               }
+               if(Type.typeof(x1.x) == ValueType.TInt) {
+                       DejaGnu.pass("Rectangle object .x is a number");
+               } else {
+                       DejaGnu.fail("Rectangle object .x is not a number");
+               }
+               if(Type.typeof(x1.y) == ValueType.TInt) {
+                       DejaGnu.pass("Rectangle object .y is a number");
+               } else {
+                       DejaGnu.fail("Rectangle object .y is not a number");
+               }
+               if(Type.typeof(x1.width) == ValueType.TInt) {
+                       DejaGnu.pass("Rectangle object .width is a number");
+               } else {
+                       DejaGnu.fail("Rectangle object .width is not a number");
+               }
+               if(Type.typeof(x1.height) == ValueType.TInt) {
+                       DejaGnu.pass("Rectangle object .height is a number");
+               } else {
+                       DejaGnu.fail("Rectangle object .height is not a 
number");
+               }
+               x1 = new Rectangle(1);
+               DejaGnu.note("x1 = new Rectangle(1);");
+               if(untyped x1.hasOwnProperty('height')) {
+                       DejaGnu.pass("Rectangle object has 'height' property");
+               } else {
+                       DejaGnu.fail("Rectangle object does not have 'height' 
property");
+               }
+               if(untyped x1.hasOwnProperty('width')) {
+                       DejaGnu.pass("Rectangle object has 'width' property");
+               } else {
+                       DejaGnu.fail("Rectangle object does not have 'width' 
property");
+               }
+               if(untyped x1.hasOwnProperty('x')) {
+                       DejaGnu.pass("Rectangle object has 'x' property");
+               } else {
+                       DejaGnu.fail("Rectangle object does not have 'x' 
property");
+               }
+               if(untyped x1.hasOwnProperty('y')) {
+                       DejaGnu.pass("Rectangle object has 'y' property");
+               } else {
+                       DejaGnu.fail("Rectangle object does not have 'y' 
property");
+               }
+               if (x1.toString() == "(x=1, y=undefined, w=undefined, 
h=undefined)") {
+                       DejaGnu.pass("Rectangle object is correct rectangle 
(x=1, y=undefined, w=undefined, h=undefined)");
+               } else {
+                       DejaGnu.fail(
+                       "Rectangle property is incorrect rectangle (should be 
(x=1, y=undefined, w=undefined, h=undefined), is "+x1.toString()+")");
+               }
+               if (x1.isEmpty()) {
+                       DejaGnu.pass("Rectangle object is empty");
+               } else {
+                       DejaGnu.fail("Rectangle object is not empty");
+               }
+               //x1 = new Rectangle(1, 1, 1, "string");
+               //DejaGnu.note("x1 = new Rectangle(1, 1, 1, "string");");
+               //check_equals(''+x1, '(x=1, y=1, w=1, h=string)');
+               //if (x1.toString() == "(x=1, y=1, w=1, h=string)") {
+               //      DejaGnu.pass("Rectangle object is correct rectangle 
(x=1, y=1, w=1, h=string)");
+               //} else {
+               //      DejaGnu.fail(
+               //      "Rectangle property is incorrect rectangle (should be 
(x=1, y=1, w=1, h=string), is "+x1.toString()+")");
+               //}
+               //check(x1.isEmpty());
+               //if (x1.isEmpty()) {
+               //      DejaGnu.pass("Rectangle object is empty");
+               //} else {
+               //      DejaGnu.fail("Rectangle object is not empty");
+               //}
+               //r0 = new Rectangle(['a',3], 1, -30, 'string');
+               //check_equals(''+r0, '(x=a,3, y=1, w=-30, h=string)');
+               //check(r0.isEmpty());
+               //check_equals(typeof(r0.width), 'number');
+               //check_equals(typeof(r0.height), 'string');
+        
+               //-------------------------------------------------------------
+               // Test bottom, right, left top
+               //-------------------------------------------------------------
+               
+               x1 = new Rectangle(untyped 'x', untyped 'y', untyped 'w', 
untyped 'h');
+               DejaGnu.note("x1 = new Rectangle(untyped 'x', untyped 'y', 
untyped 'w', untyped 'h');");
+               //check_equals(r0.left, 'x');
+               //check_equals(r0.top, 'y');
+               //check_equals(r0.right, 'xw');
+               //check_equals(r0.bottom, 'yh');
+               if(x1.left == untyped 'x') {
+                       DejaGnu.pass("x1.left == 'x'");
+               } else {
+                       DejaGnu.fail("x1.left != 'x'");
+               }
+               if(x1.top == untyped 'y') {
+                       DejaGnu.pass("x1.top == 'y'");
+               } else {
+                       DejaGnu.fail("x1.top != 'y'");
+               }
+               if(x1.right == untyped 'xw') {
+                       DejaGnu.pass("x1.right == 'xw'");
+               } else {
+                       DejaGnu.fail("x1.right != 'xw'");
+               }
+               if(x1.bottom == untyped 'yh') {
+                       DejaGnu.pass("x1.bottom == 'yh'");
+               } else {
+                       DejaGnu.fail("x1.bottom != 'yh'");
+               }
+
+               x1.left = 10;
+               DejaGnu.note("x1.left = 10;");
+               if(x1.x == 10) {
+                       DejaGnu.pass("x1.x == 10");
+               } else {
+                       DejaGnu.fail("x1.x != 10");
+               }
+               if(x1.left == 10) {
+                       DejaGnu.pass("x1.left == 10");
+               } else {
+                       DejaGnu.fail("x1.left != 10");
+               }
+               if(x1.width == untyped 'wNaN') { // w + old_x-10 ?
+                       DejaGnu.pass("x1.width == 'wNaN'");
+               } else {
+                       DejaGnu.fail("x1.width != 'wNaN'");
+               }
+               if(x1.right == untyped '10wNaN') {
+                       DejaGnu.pass("x1.right == '10wNaN'");
+               } else {
+                       DejaGnu.fail("x1.right != '10wNaN'");
+               }
+
+               x1.right = 20;
+               DejaGnu.note("x1.right = 20;");
+               if(x1.x == 10) {
+                       DejaGnu.pass("x1.x == 10");
+               } else {
+                       DejaGnu.fail("x1.x != 10");
+               }
+               if(Std.is(x1.width, Int)) {
+                       DejaGnu.pass("Type of x1.width is number");
+               } else {
+                       DejaGnu.fail("Type of x1.width should be number, is 
"+Type.typeof(x1.width));
+               }
+               if(x1.width == 10) { // right-left
+                       DejaGnu.pass("x1.width == 10");
+               } else {
+                       DejaGnu.fail("x1.width != 10");
+               }
+
+               x1.top = 5;
+               DejaGnu.note("x1.top = 5;");
+               if(x1.y == 5) {
+                       DejaGnu.pass("x1.y == 5");
+               } else {
+                       DejaGnu.fail("x1.y != 5");
+               }
+               if(x1.bottom == untyped '5hNaN') {
+                       DejaGnu.pass("x1.bottom == '5hNaN'");
+               } else {
+                       DejaGnu.fail("x1.bottom != '5hNaN'");
+               }
+               x1.bottom = 10;
+               DejaGnu.note("x1.bottom = 10;");
+               if(x1.height == untyped '5') {
+                       DejaGnu.pass("x1.height == '5'");
+               } else {
+                       DejaGnu.fail("x1.height != '5'");
+               }
+
+               x1 = new Rectangle(10, 10, 20, 20);
+               DejaGnu.note("x1 = new Rectangle(10, 10, 20, 20);");
+               x1.left = 15;
+               DejaGnu.note("x1.left = 15;");
+               if(x1.width == 15) { // old width (20) + ( old left (10) - new 
left (15) )
+                       DejaGnu.pass("x1.width == 15");
+               } else {
+                       DejaGnu.fail("x1.width != 15");
+               }
+               
+               //-------------------------------------------------------------
+               // Test bottomRight, topLeft
+               //-------------------------------------------------------------
+               
+               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 (Std.is(x1.left, Int)) {
-                       DejaGnu.pass("Rectangle.left property exists");
-               } else {
-                       DejaGnu.fail("Rectangle.left property doesn't exist");
-               }
-               if (Std.is(x1.right, Int)) {
-                       DejaGnu.pass("Rectangle.right property exists");
-               } else {
-                       DejaGnu.fail("Rectangle.right property doesn't exist");
-               }
+               if (Std.is(x1.topLeft, Point)) {
+                   DejaGnu.pass("Rectangle.topLeft property exists");
+               } else {
+                   DejaGnu.fail("Rectangle.topLeft property doesn't exist");
+               }
+               
+               //-------------------------------------------------------------
+               // Test size
+               //-------------------------------------------------------------
+               
                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");
-               }
-               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 (Std.is(x1.x, Int)) {
-                       DejaGnu.pass("Rectangle.x property exists");
-               } else {
-                       DejaGnu.fail("Rectangle.x property doesn't exist");
-               }
-               if (Std.is(x1.y, Int)) {
-                       DejaGnu.pass("Rectangle.y property exists");
-               } else {
-                       DejaGnu.fail("Rectangle.y 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.
+               
+               //-------------------------------------------------------------
+               // Test clone
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.clone) == ValueType.TFunction) {
                    DejaGnu.pass("Rectangle::clone() method exists");
                } else {
                    DejaGnu.fail("Rectangle::clone() method doesn't exist");
                }
-               if (Type.typeof(x1.contains) == ValueType.TFunction) {
-                       DejaGnu.pass("Rectangle::contains() method exists");
-               } else {
-                       DejaGnu.fail("Rectangle::contains() method doesn't 
exist");
-               }
+               
+               //-------------------------------------------------------------
+               // Test contains
+               //-------------------------------------------------------------
+               
+               x1 = new Rectangle(0, 0, 10, 10);
+               DejaGnu.note("x1 = new Rectangle(0, 0, 10, 10);");
+               //BORDERS
+
+               //check_equals(typeof(ret), "boolean");
+               if (Type.typeof(x1.contains(0,5)) == ValueType.TBool) {
+                   DejaGnu.pass("Rectangle::contains() method returns 
boolean");
+               } else {
+                   DejaGnu.fail("Rectangle::contains() method does not return 
boolean");
+               }
+               //test left border
+               if (x1.contains(0,5)) {
+                       DejaGnu.pass("Rectangle::contains(0,5) returns true");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(0,5) returns false");
+               }
+
+               //test top border
+               if (x1.contains(5,0)) {
+                       DejaGnu.pass("Rectangle::contains(5,0) returns true");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(5,0) returns false");
+               }
+
+               //test right border
+               if (!x1.contains(10,5)) {
+                       DejaGnu.pass("Rectangle::contains(10,5) returns false");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(10,5) returns true");
+               }
+
+               //test bottom border
+               if (!x1.contains(5,10)) {
+                       DejaGnu.pass("Rectangle::contains(5,10) returns false");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(5,10) returns true");
+               }
+
+               //INTERIOR
+
+               //test interior point
+               if (x1.contains(0.1,0.1)) {
+                       DejaGnu.pass("Rectangle::contains(0.1,0.1) returns 
true");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(0.1,0.1) returns 
false");
+               }
+
+               //EXTERIOR
+
+               //test exterior point, to the left
+               if (!x1.contains(-5,5)) {
+                       DejaGnu.pass("Rectangle::contains(-5,5) returns false");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(-5,5) returns true");
+               }
+
+               //test exterior point, to the right
+               if (!x1.contains(15,5)) {
+                       DejaGnu.pass("Rectangle::contains(15,5) returns false");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(15,5) returns true");
+               }
+
+               //test exterior point, above
+               if (!x1.contains(5,-5)) {
+                       DejaGnu.pass("Rectangle::contains(5,-5) returns false");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(5,-5) returns true");
+               }
+
+               //test exterior point, below
+               if (!x1.contains(5,15)) {
+                       DejaGnu.pass("Rectangle::contains(5,15) returns false");
+               } else {
+                       DejaGnu.fail("Rectangle::contains(5,15) returns true");
+               }
+
+               //NONTRIVIAL CALLS
+               //if (x1.contains().toString == "undefined") {
+               //      DejaGnu.pass("Rectangle.contains(null,null) returns 
undefined");
+               //} else {
+               //      DejaGnu.fail("Rectangle.contains(null,null) did not 
return undefined");
+               //}
+
+               //if (x1.contains(0).toString == "undefined") {
+               //      DejaGnu.pass("Rectangle.contains(null,null) returns 
undefined");
+               //} else {
+               //      DejaGnu.fail("Rectangle.contains(null,null) did not 
return undefined");
+               //}
+
+               //if (x1.contains(0, undefined).toString == "undefined") {
+               //      DejaGnu.pass("Rectangle.contains(null,null) returns 
undefined");
+               //} else {
+               //      DejaGnu.fail("Rectangle.contains(null,null) did not 
return undefined");
+               //}
+
+               //if (x1.contains(0,null).toString == "undefined") {
+               //      DejaGnu.pass("Rectangle.contains(null,null) returns 
undefined");
+               //} else {
+               //      DejaGnu.fail("Rectangle.contains(null,null) did not 
return undefined");
+               //}
+
+               //ret = r0.contains('1', '1');
+               //check_equals(typeof(ret), 'boolean');
+               //check_equals(ret, true);
        
+               //-------------------------------------------------------------
+               // Test containsPoint
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.containsPoint) == ValueType.TFunction) {
                        DejaGnu.pass("Rectangle::containsPoint() method 
exists");
                } else {
                        DejaGnu.fail("Rectangle::containsPoint() method doesn't 
exist");
                }
+               
+               //-------------------------------------------------------------
+               // Test containsRectangle
+               //-------------------------------------------------------------
+               
 #if flash9
                if (Type.typeof(x1.containsRect) == ValueType.TFunction) {
                        DejaGnu.pass("Rectangle::containsRect() method exists");
@@ -149,71 +621,104 @@
                        DejaGnu.fail("Rectangle::containsRect() method doesn't 
exist");
                }
 #end
+
+               //-------------------------------------------------------------
+               // Test equals
+               //-------------------------------------------------------------
+       
                if (Type.typeof(x1.equals) == ValueType.TFunction) {
                    DejaGnu.pass("Rectangle::equals() method exists");
                } else {
                    DejaGnu.fail("Rectangle::equals() method doesn't exist");
                }
+               
+               //-------------------------------------------------------------
+               // Test inflate
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.inflate) == ValueType.TFunction) {
                        DejaGnu.pass("Rectangle::inflate() method exists");
                } else {
                        DejaGnu.fail("Rectangle::inflate() method doesn't 
exist");
                }
+               
+               //-------------------------------------------------------------
+               // Test inflatePoint
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.inflatePoint) == ValueType.TFunction) {
                        DejaGnu.pass("Rectangle::inflatePoint() method exists");
                } else {
                        DejaGnu.fail("Rectangle::inflatePoint() method doesn't 
exist");
                }
+               //-------------------------------------------------------------
+               // Test intersection
+               //-------------------------------------------------------------
+
                if (Type.typeof(x1.intersection) == ValueType.TFunction) {
                    DejaGnu.pass("Rectangle::intersection() method exists");
                } else {
                    DejaGnu.fail("Rectangle::intersection() method doesn't 
exist");
                }
+               
+               //-------------------------------------------------------------
+               // Test intersects
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.intersects) == ValueType.TFunction) {
                        DejaGnu.pass("Rectangle::intersects() method exists");
                } else {
                        DejaGnu.fail("Rectangle::intersects() method doesn't 
exist");
                }
-               if (Type.typeof(x1.isEmpty) == ValueType.TFunction) {
-                       DejaGnu.pass("Rectangle::isEmpty() method exists");
-               } else {
-                       DejaGnu.fail("Rectangle::isEmpty() method doesn't 
exist");
-               }
+               
+               //-------------------------------------------------------------
+               // Test offset
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.offset) == ValueType.TFunction) {
                        DejaGnu.pass("Rectangle::offset() method exists");
                } else {
                        DejaGnu.fail("Rectangle::offset() method doesn't 
exist");
                }
+               
+               //-------------------------------------------------------------
+               // Test offsetPoint
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.offsetPoint) == ValueType.TFunction) {
                        DejaGnu.pass("Rectangle::offsetPoint() method exists");
                } else {
                        DejaGnu.fail("Rectangle::offsetPoint() method doesn't 
exist");
                }
+               
+               //-------------------------------------------------------------
+               // Test setEmpty
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.setEmpty) == ValueType.TFunction) {
                        DejaGnu.pass("Rectangle::setEmpty() method exists");
                } else {
                        DejaGnu.fail("Rectangle::setEmpty() method doesn't 
exist");
                }
-               if (Type.typeof(x1.toString) == ValueType.TFunction) {
-                       DejaGnu.pass("Rectangle::toString() method exists");
-               } else {
-                       DejaGnu.fail("Rectangle::toString() method doesn't 
exist");
-               }
+               
+               //-------------------------------------------------------------
+               // Test union
+               //-------------------------------------------------------------
+               
                if (Type.typeof(x1.union) == ValueType.TFunction) {
                    DejaGnu.pass("Rectangle::union() method exists");
                } else {
                    DejaGnu.fail("Rectangle::union() method doesn't exist");
                }
+               
+               //-------------------------------------------------------------
+               // END OF TEST
+               //-------------------------------------------------------------
 
            // 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");
+#else
+       DejaGnu.note("This class (Rectangle) is only available in flash8 and 
flash9");
 #end
     }
 }

=== modified file 'testsuite/as3/classes.all/net/FileReference_as.hx'
--- a/testsuite/as3/classes.all/net/FileReference_as.hx 2009-06-11 16:34:40 
+0000
+++ b/testsuite/as3/classes.all/net/FileReference_as.hx 2009-06-15 18:15:59 
+0000
@@ -71,7 +71,7 @@
        } else {
            DejaGnu.xfail("FileReference.name property doesn't exist");
        }
-       if (Std.is(x1.size, Float)) {
+       if (Type.typeof(x1.size) == ValueType.TFloat) {
            DejaGnu.pass("FileReference.size property exists");
        } else {
            DejaGnu.xfail("FileReference.size property doesn't exist");

=== modified file 'testsuite/as3/classes.all/net/NetStream_as.hx'
--- a/testsuite/as3/classes.all/net/NetStream_as.hx     2009-06-11 17:05:34 
+0000
+++ b/testsuite/as3/classes.all/net/NetStream_as.hx     2009-06-15 18:15:59 
+0000
@@ -60,56 +60,59 @@
 // 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 (Std.is(x1.bufferLength, Float)) {
-           DejaGnu.pass("NetStream.bufferLength property exists");
+       //FIXME: This read-only property must be initialized before it can be 
tested
+       if (Type.typeof(x1.bufferLength) == ValueType.TFloat) {
+           DejaGnu.xpass("NetStream.bufferLength property exists");
        } else {
-           DejaGnu.fail("NetStream.bufferLength property doesn't exist");
+           DejaGnu.xfail("NetStream.bufferLength property doesn't exist");
        }
-       if (Std.is(x1.bufferTime, Float)) {
+       if (Type.typeof(x1.bufferTime) == ValueType.TFloat) {
            DejaGnu.pass("NetStream.bufferTime property exists");
        } else {
            DejaGnu.fail("NetStream.bufferTime property doesn't exist");
        }
-       if (Std.is(x1.bytesLoaded, Int)) {
+       if (Type.typeof(x1.bytesLoaded) == ValueType.TInt) {
            DejaGnu.pass("NetStream.bytesLoaded property exists");
        } else {
            DejaGnu.fail("NetStream.bytesLoaded property doesn't exist");
        }
-       if (Std.is(x1.bytesTotal, Int)) {
+       if (Type.typeof(x1.bytesTotal) == ValueType.TInt) {
            DejaGnu.pass("NetStream.bytesTotal property exists");
        } else {
            DejaGnu.fail("NetStream.bytesTotal property doesn't exist");
        }
-       if (Std.is(x1.time, Float)) {
-           DejaGnu.pass("NetStream.time property exists");
+       //FIXME: This read-only property must be initialized before it can be 
tested
+       if (Type.typeof(x1.time) == ValueType.TFloat) {
+           DejaGnu.xpass("NetStream.time property exists");
        } else {
-           DejaGnu.fail("NetStream.time property doesn't exist");
+           DejaGnu.xfail("NetStream.time property doesn't exist");
        }
 #if !flash9
-       if (Std.is(x1.currentFps, Float)) {
-           DejaGnu.pass("NetStream.currentFPS property exists");
+       //FIXME: This read-only property must be initialized before it can be 
tested
+       if (Type.typeof(x1.currentFps) == ValueType.TFloat) {
+           DejaGnu.xpass("NetStream.currentFps property exists");
        } else {
-           DejaGnu.fail("NetStream.currentFPS property doesn't exist");
+           DejaGnu.xfail("NetStream.currentFps property doesn't exist");
        }
 #end
-       if (Std.is(x1.liveDelay, Float)) {
+       if (Type.typeof(x1.liveDelay) == ValueType.TFloat) {
            DejaGnu.pass("NetStream.liveDelay property exists");
        } else {
            DejaGnu.xfail("NetStream.liveDelay property doesn't exist");
        }
 #if flash9
-       if (Std.is(x1.currentFPS, Float)) {
+       if (Type.typeof(x1.currentFPS) == ValueType.TFloat) {
            DejaGnu.pass("NetStream.currentFPS property exists");
        } else {
            DejaGnu.fail("NetStream.currentFPS property doesn't exist");
        }
 //FIXME: This property only exists in haXe
-       if (Std.is(x1.audioCodec, Int)) {
+       if (Type.typeof(x1.audioCodec) == ValueType.TInt) {
            DejaGnu.pass("NetStream.audioCodec property exists");
        } else {
            DejaGnu.fail("NetStream.audioCodec property doesn't exist");
        }
-       if (Std.is(x1.checkPolicyFile, Bool)) {
+       if (Type.typeof(x1.checkPolicyFile) == ValueType.TBool) {
            DejaGnu.pass("NetStream.checkPolicyFile property exists");
        } else {
            DejaGnu.fail("NetStream.checkPolicyFile property doesn't exist");
@@ -120,12 +123,12 @@
            DejaGnu.fail("NetStream.client property doesn't exist");
        }
 //FIXME: This property only exists in haXe
-       if (Std.is(x1.decodedFrames, Int)) {
+       if (Type.typeof(x1.decodedFrames) == ValueType.TInt) {
            DejaGnu.pass("NetStream.decodedFrames property exists");
        } else {
            DejaGnu.fail("NetStream.decodedFrames property doesn't exist");
        }
-       if (Std.is(x1.objectEncoding, Int)) {
+       if (Type.typeof(x1.objectEncoding) == ValueType.TInt) {
            DejaGnu.pass("NetStream.objectEncoding property exists");
        } else {
            DejaGnu.fail("NetStream.objectEncoding property doesn't exist");
@@ -136,7 +139,7 @@
            DejaGnu.fail("NetStream.soundTransform property doesn't exist");
        }
 //FIXME: This property only exists in haXe
-       if (Std.is(x1.videoCodec, Int)) {
+       if (Type.typeof(x1.videoCodec) == ValueType.TInt) {
            DejaGnu.pass("NetStream.videoCodec property exists");
        } else {
            DejaGnu.fail("NetStream.videoCodec property doesn't exist");

=== modified file 'testsuite/as3/classes.all/net/SharedObject_as.hx'
--- a/testsuite/as3/classes.all/net/SharedObject_as.hx  2009-06-03 15:32:04 
+0000
+++ b/testsuite/as3/classes.all/net/SharedObject_as.hx  2009-06-15 18:15:59 
+0000
@@ -67,17 +67,17 @@
 //     } else {
 //         DejaGnu.fail("SharedObject.fps property doesn't exist");
 //     }
-       if (Std.is(x1.objectEncoding, Int)) {
+       if (Type.typeof(x1.objectEncoding) == ValueType.TInt) {
            DejaGnu.pass("SharedObject.objectEncoding property exists");
        } else {
            DejaGnu.fail("SharedObject.objectEncoding property doesn't exist");
        }
-       if (Std.is(x1.size, Int)) {
+       if (Type.typeof(x1.size) == ValueType.TInt) {
            DejaGnu.pass("SharedObject.size property exists");
        } else {
            DejaGnu.fail("SharedObject.size property doesn't exist");
        }
-       if (Std.is(SharedObject.defaultObjectEncoding, Int)) {
+       if (Type.typeof(SharedObject.defaultObjectEncoding) == ValueType.TInt) {
            DejaGnu.pass("SharedObject.defaultObjectEncoding property exists");
        } else {
            DejaGnu.fail("SharedObject.defaultObjectEncoding property doesn't 
exist");

=== modified file 'testsuite/as3/classes.all/net/Socket_as.hx'
--- a/testsuite/as3/classes.all/net/Socket_as.hx        2009-06-02 18:16:55 
+0000
+++ b/testsuite/as3/classes.all/net/Socket_as.hx        2009-06-15 18:15:59 
+0000
@@ -56,7 +56,7 @@
 //     } else {
 //         DejaGnu.fail("Socket.bytesAvailable property doesn't exist");
 //     }
-       if (Std.is(x1.connected, Bool)) {
+       if (Type.typeof(x1.connected) == ValueType.TBool) {
            DejaGnu.pass("Socket.connected property exists");
        } else {
            DejaGnu.fail("Socket.connected property doesn't exist");
@@ -66,7 +66,7 @@
        } else {
            DejaGnu.fail("Socket.endian property doesn't exist");
        }
-       if (Std.is(x1.objectEncoding, Int)) {
+       if (Type.typeof(x1.objectEncoding) == ValueType.TInt) {
            DejaGnu.pass("Socket.objectEncoding property exists");
        } else {
            DejaGnu.fail("Socket.objectEncoding property doesn't exist");

=== modified file 'testsuite/as3/classes.all/text/TextFormat_as.hx'
--- a/testsuite/as3/classes.all/text/TextFormat_as.hx   2009-06-11 17:05:34 
+0000
+++ b/testsuite/as3/classes.all/text/TextFormat_as.hx   2009-06-15 18:15:59 
+0000
@@ -113,9 +113,9 @@
            DejaGnu.fail("TextFormat.leftMargin property doesn't exist");
        }
        if (Std.is(x1.letterSpacing, Dynamic)) {
-           DejaGnu.pass("TextFormat.letterSpacing property exists");
+           DejaGnu.xpass("TextFormat.letterSpacing property exists");
        } else {
-           DejaGnu.fail("TextFormat.letterSpacing property doesn't exist");
+           DejaGnu.xfail("TextFormat.letterSpacing property doesn't exist");
        }
        if (Std.is(x1.rightMargin, Dynamic)) {
            DejaGnu.pass("TextFormat.rightMargin property exists");
@@ -134,78 +134,85 @@
        }
 #else
        x1.blockIndent = 0.0;
-       if (Std.is(x1.blockIndent, Float)) {
-           DejaGnu.pass("TextFormat.blockIndent property exists");
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.blockIndent) == ValueType.TFloat) {
+           DejaGnu.xpass("TextFormat.blockIndent property exists");
        } else {
-           DejaGnu.fail("TextFormat.blockIndent property doesn't exist");
+           DejaGnu.xfail("TextFormat.blockIndent property should be float, 
returns type "+Type.typeof(x1.blockIndent));
        }
        if (Std.is(x1.align, String)) {
            DejaGnu.pass("TextFormat.align property exists");
        } else {
            DejaGnu.fail("TextFormat.align property doesn't exist");
        }
-       if (Std.is(x1.bold, Bool)) {
+       if (Type.typeof(x1.bold) == ValueType.TBool) {
            DejaGnu.pass("TextFormat.bold property exists");
        } else {
            DejaGnu.fail("TextFormat.bold property doesn't exist");
        }
-       if (Std.is(x1.bullet, Bool)) {
+       if (Type.typeof(x1.bullet) == ValueType.TBool) {
            DejaGnu.pass("TextFormat.bullet property exists");
        } else {
            DejaGnu.xfail("TextFormat.bullet property doesn't exist");
        }
-       if (Std.is(x1.color, Int)) {
+       if (Type.typeof(x1.color) == ValueType.TInt) {
            DejaGnu.pass("TextFormat.color property exists");
        } else {
            DejaGnu.fail("TextFormat.color property doesn't exist");
        }
-       if (Std.is(x1.indent, Float)) {
-           DejaGnu.pass("TextFormat.indent property exists");
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.indent) == ValueType.TFloat) {
+           DejaGnu.xpass("TextFormat.indent property exists");
        } else {
-           DejaGnu.fail("TextFormat.indent property doesn't exist");
+           DejaGnu.xfail("TextFormat.indent property should be float, returns 
type "+Type.typeof(x1.indent));
        }
-       if (Std.is(x1.italic, Bool)) {
+       if (Type.typeof(x1.italic) == ValueType.TBool) {
            DejaGnu.pass("TextFormat.italic property exists");
        } else {
            DejaGnu.fail("TextFormat.italic property doesn't exist");
        }
-       if (Std.is(x1.leading, Float)) {
-           DejaGnu.pass("TextFormat.leading property exists");
-       } else {
-           DejaGnu.fail("TextFormat.leading property doesn't exist");
-       }
-       if (Std.is(x1.leftMargin, Float)) {
-           DejaGnu.pass("TextFormat.leftMargin property exists");
-       } else {
-           DejaGnu.fail("TextFormat.leftMargin property doesn't exist");
-       }
-       if (Std.is(x1.rightMargin, Float)) {
-           DejaGnu.pass("TextFormat.rightMargin property exists");
-       } else {
-           DejaGnu.fail("TextFormat.rightMargin property doesn't exist");
-       }
-       if (Std.is(x1.size, Float)) {
-           DejaGnu.pass("TextFormat.size property exists");
-       } else {
-           DejaGnu.fail("TextFormat.size property doesn't exist");
-       }
-       if (Std.is(x1.underline, Bool)) {
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.leading) == ValueType.TFloat) {
+           DejaGnu.xpass("TextFormat.leading property exists");
+       } else {
+           DejaGnu.xfail("TextFormat.leading property should be float, returns 
type "+Type.typeof(x1.leading));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.leftMargin) == ValueType.TFloat) {
+           DejaGnu.xpass("TextFormat.leftMargin property exists");
+       } else {
+           DejaGnu.xfail("TextFormat.leftMargin property should be float, 
returns type "+Type.typeof(x1.leftMargin));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.rightMargin) == ValueType.TFloat) {
+           DejaGnu.xpass("TextFormat.rightMargin property exists");
+       } else {
+           DejaGnu.xfail("TextFormat.rightMargin property should be float, 
returns type "+Type.typeof(x1.rightMargin));
+       }
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.size) == ValueType.TFloat) {
+           DejaGnu.xpass("TextFormat.size property exists");
+       } else {
+           DejaGnu.xfail("TextFormat.size property should be float, returns 
type "+Type.typeof(x1.size));
+       }
+       if (Type.typeof(x1.underline) == ValueType.TBool) {
            DejaGnu.pass("TextFormat.underline property exists");
        } else {
            DejaGnu.fail("TextFormat.underline property doesn't exist");
        }
 #if flash8
        x1.kerning = false;
-       if (Std.is(x1.kerning, Bool)) {
+       if (Type.typeof(x1.kerning) == ValueType.TBool) {
            DejaGnu.pass("TextFormat.kerning property exists");
        } else {
            DejaGnu.fail("TextFormat.kerning property doesn't exist");
        }
-       x1.letterSpacing = 0;
-       if (Std.is(x1.letterSpacing, Float)) {
-           DejaGnu.pass("TextFormat.letterSpacing property exists");
+       x1.letterSpacing = 0.0;
+       //FIXME: gnash uses incorrect data type Int
+       if (Type.typeof(x1.letterSpacing) == ValueType.TFloat) {
+           DejaGnu.xpass("TextFormat.letterSpacing property exists");
        } else {
-           DejaGnu.fail("TextFormat.letterSpacing property doesn't exist");
+           DejaGnu.xfail("TextFormat.letterSpacing property should be float, 
returns type "+Type.typeof(x1.letterSpacing));
        }
        if (Std.is(x1.display, String)) {
            DejaGnu.pass("TextFormat.display property exists");

=== modified file 'testsuite/as3/classes.all/text/TextLineMetrics_as.hx'
--- a/testsuite/as3/classes.all/text/TextLineMetrics_as.hx      2009-06-02 
22:49:24 +0000
+++ b/testsuite/as3/classes.all/text/TextLineMetrics_as.hx      2009-06-15 
18:15:59 +0000
@@ -51,32 +51,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 (Std.is(x1.ascent, Float)) {
+       if (Type.typeof(x1.ascent) == ValueType.TFloat) {
            DejaGnu.pass("TextLineMetrics.ascent property exists");
        } else {
            DejaGnu.fail("TextLineMetrics.ascent property doesn't exist");
        }
-       if (Std.is(x1.descent, Float)) {
+       if (Type.typeof(x1.descent) == ValueType.TFloat) {
            DejaGnu.pass("TextLineMetrics.descent property exists");
        } else {
            DejaGnu.fail("TextLineMetrics.descent property doesn't exist");
        }
-       if (Std.is(x1.height, Float)) {
+       if (Type.typeof(x1.height) == ValueType.TFloat) {
            DejaGnu.pass("TextLineMetrics.height property exists");
        } else {
            DejaGnu.fail("TextLineMetrics.height property doesn't exist");
        }
-       if (Std.is(x1.leading, Float)) {
+       if (Type.typeof(x1.leading) == ValueType.TFloat) {
            DejaGnu.pass("TextLineMetrics.leading property exists");
        } else {
            DejaGnu.fail("TextLineMetrics.leading property doesn't exist");
        }
-       if (Std.is(x1.width, Float)) {
+       if (Type.typeof(x1.width) == ValueType.TFloat) {
            DejaGnu.pass("TextLineMetrics.width property exists");
        } else {
            DejaGnu.fail("TextLineMetrics.width property doesn't exist");
        }
-       if (Std.is(x1.x, Float)) {
+       if (Type.typeof(x1.x) == ValueType.TFloat) {
            DejaGnu.pass("TextLineMetrics.x property exists");
        } else {
            DejaGnu.fail("TextLineMetrics.x property doesn't exist");

=== modified file 'testsuite/as3/classes.all/text/TextRenderer_as.hx'
--- a/testsuite/as3/classes.all/text/TextRenderer_as.hx 2009-06-11 17:05:34 
+0000
+++ b/testsuite/as3/classes.all/text/TextRenderer_as.hx 2009-06-15 18:15:59 
+0000
@@ -56,18 +56,13 @@
        } else {
            DejaGnu.fail("TextRenderer.antiAliasType property doesn't exist");
        }
-       if (Std.is(TextRenderer.maxLevel, Float)) {
-           DejaGnu.pass("TextRenderer.maxLevel property exists");
-       } else {
-           DejaGnu.fail("TextRenderer.maxLevel property doesn't exist");
-       }
-#else
-       if (Std.is(TextRenderer.maxLevel, Int)) {
-           DejaGnu.pass("TextRenderer.maxLevel property exists");
-       } else {
-           DejaGnu.fail("TextRenderer.maxLevel property doesn't exist");
-       }
 #end
+       //FIXME: This property does not appear to have been implemented
+       if (Type.typeof(TextRenderer.maxLevel) == ValueType.TFloat) {
+           DejaGnu.xpass("TextRenderer.maxLevel property exists");
+       } else {
+           DejaGnu.xfail("TextRenderer.maxLevel property doesn't exist, 
returns type "+Type.typeof(TextRenderer.maxLevel));
+       }
 
 // 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

=== modified file 'testsuite/as3/classes.all/text/TextSnapshot_as.hx'
--- a/testsuite/as3/classes.all/text/TextSnapshot_as.hx 2009-06-02 21:47:29 
+0000
+++ b/testsuite/as3/classes.all/text/TextSnapshot_as.hx 2009-06-15 18:15:59 
+0000
@@ -61,7 +61,7 @@
 // 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
-       if (Std.is(x1.charCount, Int)) {
+       if (Type.typeof(x1.charCount) == ValueType.TInt) {
            DejaGnu.pass("TextSnapshot.charCount property exists");
        } else {
            DejaGnu.fail("TextSnapshot.charCount property doesn't exist");

=== modified file 'testsuite/as3/classes.all/ui/KeyLocation_as.hx'
--- a/testsuite/as3/classes.all/ui/KeyLocation_as.hx    2009-06-02 18:16:55 
+0000
+++ b/testsuite/as3/classes.all/ui/KeyLocation_as.hx    2009-06-15 18:15:59 
+0000
@@ -42,7 +42,7 @@
 // Tests to see if all the constants exist.
 //     if (KeyLocation.STANDARD != null) {
 //        DejaGnu.pass("KeyLocation.STANDARD constant exists");
-        if (Std.is(KeyLocation.STANDARD, Int)) {
+        if (Type.typeof(KeyLocation.STANDARD) == ValueType.TInt) {
                DejaGnu.pass("KeyLocation.STANDARD is an int");
                if (Std.string(KeyLocation.STANDARD) == "0") {
                        DejaGnu.pass("KeyLocation.STANDARD is the correct int 
(0)");
@@ -59,7 +59,7 @@
     
 //     if (KeyLocation.LEFT != null) {
 //        DejaGnu.pass("KeyLocation.LEFT constant exists");
-        if (Std.is(KeyLocation.LEFT, Int)) {
+        if (Type.typeof(KeyLocation.LEFT) == ValueType.TInt) {
                DejaGnu.pass("KeyLocation.LEFT is an int");
                if (Std.string(KeyLocation.LEFT) == "1") {
                        DejaGnu.pass("KeyLocation.LEFT is the correct int (1)");
@@ -75,7 +75,7 @@
     
 //     if (KeyLocation.RIGHT != null) {
 //        DejaGnu.pass("KeyLocation.RIGHT constant exists");
-        if (Std.is(KeyLocation.RIGHT, Int)) {
+        if (Type.typeof(KeyLocation.RIGHT) == ValueType.TInt) {
                DejaGnu.pass("KeyLocation.RIGHT is an int");
                if (Std.string(KeyLocation.RIGHT) == "2") {
                        DejaGnu.pass("KeyLocation.RIGHT is the correct int 
(2)");
@@ -91,7 +91,7 @@
 
 //     if (KeyLocation.NUM_PAD != null) {
 //        DejaGnu.pass("KeyLocation.NUM_PAD constant exists");
-        if (Std.is(KeyLocation.NUM_PAD, Int)) {
+        if (Type.typeof(KeyLocation.NUM_PAD) == ValueType.TInt) {
                DejaGnu.pass("KeyLocation.NUM_PAD is an int");
                if (Std.string(KeyLocation.NUM_PAD) == "3") {
                        DejaGnu.pass("KeyLocation.NUM_PAD is the correct int 
(3)");

=== modified file 'testsuite/as3/classes.all/utils/Timer_as.hx'
--- a/testsuite/as3/classes.all/utils/Timer_as.hx       2009-06-02 18:16:55 
+0000
+++ b/testsuite/as3/classes.all/utils/Timer_as.hx       2009-06-15 18:15:59 
+0000
@@ -49,22 +49,22 @@
 // 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 (Std.is(x1.currentCount, Int)) {
+       if (Type.typeof(x1.currentCount) == ValueType.TInt) {
            DejaGnu.pass("Timer.currentCount property exists");
        } else {
            DejaGnu.fail("Timer.currentCount property doesn't exist");
        }
-       if (Std.is(x1.delay, Int)) {
+       if (Type.typeof(x1.delay) == ValueType.TInt) {
            DejaGnu.pass("Timer.delay property exists");
        } else {
            DejaGnu.fail("Timer.delay property doesn't exist");
        }
-       if (Std.is(x1.repeatCount, Int)) {
+       if (Type.typeof(x1.repeatCount) == ValueType.TInt) {
            DejaGnu.pass("Timer.repeatCount property exists");
        } else {
            DejaGnu.fail("Timer.repeatCount property doesn't exist");
        }
-       if (Std.is(x1.running, Bool)) {
+       if (Type.typeof(x1.running) == ValueType.TBool) {
            DejaGnu.pass("Timer.running property exists");
        } else {
            DejaGnu.fail("Timer.running property doesn't exist");


reply via email to

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