 		{
 			trace("This shouldn't show!");
 		}
+        
+        addEventListener("foo", eventHandler);
+        if (hasEventListener("foo"))
+            trace("addEventListener worked");
+        else
+            trace("This shouldn't show!");
+            
+        removeEventListener("foo", eventHandler);
+        if (!hasEventListener("foo"))
+            trace("removeEventListener worked");
+        else
+            trace("This shouldn't show!");
 	}
+    
+    public function eventHandler(e:Event):void
+    {
+        
+    }
 }
 }
		testResult = this is IE;
		trace('this is interfaces.IE - true: ' + testResult.toString());
		trace();
		testObject = (this as Sprite) ? this as Sprite : 'null';
		trace('this as Sprite - [object ...]: ' + testObject.toString());
		testObject = (this as B) ? this as B : 'null';
		trace('this as classes.B - null: ' + testObject.toString());
		testObject = (b as classes.B) ? b as classes.B : 'null';

		testResult = this instanceof IE;
		trace('this instanceof interfaces.IE - false: ' + testResult.toString());
		trace();
		testResult = this is SimpleApplication;
		trace('this is SimpleApplication - true: ' + testResult.toString());
		testResult = this is B;
		trace('this is classes.B - false: ' + testResult.toString());
		testResult = b is classes.B;
