瀏覽代碼

[java] Fixed issue #1130 ; fixed some issues to get the unit tests running again

Caue Waneck 13 年之前
父節點
當前提交
6ae49b1fbf
共有 4 個文件被更改,包括 18 次插入57 次删除
  1. 0 54
      std/haxe/io/Input.hx
  2. 10 1
      std/java/_std/Type.hx
  3. 6 0
      tests/unit/TestBytes.hx
  4. 2 2
      tests/unit/TestType.hx

+ 0 - 54
std/haxe/io/Input.hx

@@ -85,59 +85,6 @@ class Input {
 			bufsize = (1 << 14); // 16 Ko
 		#end
 		
-		#if (cs || java)
-		var buf = null;
-		var total = [];
-		var tlen = 0;
-		var pos = 0;
-		try
-		{
-			while (true)
-			{
-				if (buf == null || pos >= bufsize)
-				{
-					pos = 0;
-					buf = Bytes.alloc(bufsize);
-					total.push(buf);
-				}
-				
-				var len = readBytes(buf, pos, bufsize - pos);
-				tlen += len;
-				pos += len;
-				if (len == 0)
-					throw Error.Blocked;
-			}
-		} catch (e:Eof) {
-		}
-			#if cs
-			var ret = new cs.NativeArray(tlen);
-			var idx = 0;
-			for (buf in total)
-			{
-				var len = buf.getData().Length;
-				if (len > tlen)
-					len = tlen;
-				cs.system.Array.Copy(buf.getData(), 0, ret, idx, len);
-				idx += len;
-				tlen -= len;
-			}
-			return Bytes.ofData(ret);
-			#else
-			var ret = new java.NativeArray(tlen);
-			var idx = 0;
-			for (buf in total)
-			{
-				var len = buf.getData().length;
-				if (len > tlen)
-					len = tlen;
-				java.lang.System.arraycopy(buf.getData(), 0, ret, idx, len);
-				idx += len;
-				tlen -= len;
-			}
-			return Bytes.ofData(ret);
-			#end
-		#else
-		
 		var buf = Bytes.alloc(bufsize);
 		var total = new haxe.io.BytesBuffer();
 		try {
@@ -150,7 +97,6 @@ class Input {
 		} catch( e : Eof ) {
 		}
 		return total.getBytes();
-		#end
 	}
 
 	public function readFullBytes( s : Bytes, pos : Int, len : Int ) {

+ 10 - 1
std/java/_std/Type.hx

@@ -406,7 +406,16 @@
 
 	public static function allEnums<T>( e : Enum<T> ) : Array<T> 
 	{
-		return null;
+		var ctors = getEnumConstructs(e);
+		var ret = [];
+		for (ctor in ctors)
+		{
+			var v = Reflect.field(e, ctor);
+			if (Std.is(v, e))
+				ret.push(v);
+		}
+
+		return ret;
 	}
 
 }

+ 6 - 0
tests/unit/TestBytes.hx

@@ -111,4 +111,10 @@ class TestBytes extends Test {
 			eq( b.get(i), str.charCodeAt(i) );
 	}
 
+	function testInput() {
+		var bs = haxe.io.Bytes.ofString("One é accent");
+		var input = new haxe.io.BytesInput(bs);
+		//readAll
+		eq(input.readAll().toString(), "One é accent");
+	}
 }

+ 2 - 2
tests/unit/TestType.hx

@@ -106,7 +106,7 @@ class TestType extends Test {
 		var ti1:Array<I1>;
 		var tbase:Array<Base>;
 		var tpbase:Array<PClassBase<Float>>;
-		#if (flash9 || cpp)
+		#if (flash9 || cpp || java || cs)
 		var tnullbool:Array<Null<Bool>>;
 		var tnullbase:Array<Null<Base>>;
 		#else
@@ -143,7 +143,7 @@ class TestType extends Test {
 		
 		var tbase:Base;
 		var ti1:I1;
-		#if (flash9 || cpp)
+		#if (flash9 || cpp || java || cs)
 		var tnullbool:Null<Bool>;
 		#else
 		var tnullbool:Bool;