Nicolas Cannasse 13 ani în urmă
părinte
comite
d8f1720fd9
1 a modificat fișierele cu 16 adăugiri și 8 ștergeri
  1. 16 8
      tests/unit/TestMisc.hx

+ 16 - 8
tests/unit/TestMisc.hx

@@ -20,19 +20,12 @@ class MyDynamicClass {
 		return v + x + y;
 	}
 
-#if php
 	static var Z = 10;
 
 	public dynamic static function staticDynamic(x,y) {
 		return Z + x + y;
 	}
-#else
-	static var V = 10;
 
-	public dynamic static function staticDynamic(x,y) {
-		return V + x + y;
-	}
-#end
 }
 
 class MyDynamicSubClass extends MyDynamicClass {
@@ -43,6 +36,14 @@ class MyDynamicSubClass extends MyDynamicClass {
 
 }
 
+class MyDynamicSubClass2 extends MyDynamicClass {
+
+	override dynamic function add(x,y) {
+		return (v + x + y) * 2;
+	}
+
+}
+
 class MyOtherDynamicClass extends MyDynamicClass {
 
 	public function new(v) {
@@ -122,6 +123,13 @@ class TestMisc extends Test {
 		eq( callback(inst.add,1)(2), 206 );
 		eq( add(1,2), 206 );
 
+		// check overriden dynamic method
+		var inst = new MyDynamicSubClass2(100);
+		var add = inst.add;
+		eq( inst.add(1,2), 206 );
+		eq( callback(inst.add,1)(2), 206 );
+		eq( add(1,2), 206 );
+		
 		// check redefined dynamic method
 		inst.add = function(x,y) return inst.get() * 2 + x + y;
 		var add = inst.add;
@@ -342,7 +350,7 @@ class TestMisc extends Test {
 		return;
 		#end
 		
-		function id(v:Dynamic,?pos) eq(haxe.Json.parse(haxe.Json.stringify(v)),v);
+		function id(v:Dynamic,?pos:haxe.PosInfos) eq(haxe.Json.parse(haxe.Json.stringify(v)),v);
 		function deepId(v:Dynamic) {
 			var str = haxe.Json.stringify(v);
 			eq(haxe.Json.stringify(haxe.Json.parse(str)), str);