Explorar el Código

[java] Fixed Issue #1105

Caue Waneck hace 13 años
padre
commit
b380618c10
Se han modificado 2 ficheros con 14 adiciones y 1 borrados
  1. 8 1
      std/java/_std/EReg.hx
  2. 6 0
      tests/unit/TestEReg.hx

+ 8 - 1
std/java/_std/EReg.hx

@@ -147,7 +147,14 @@ class EReg {
 	{
 		if (isGlobal)
 		{
-			return java.Lib.array(matcher.pattern().split(s));
+			var ret = [];
+			while(this.match(s))
+			{
+				ret.push(matchedLeft());
+				s = matchedRight();
+			}
+			ret.push(s);
+			return ret;
 		} else {
 			var m = matcher;
 			m.reset(s);

+ 6 - 0
tests/unit/TestEReg.hx

@@ -53,6 +53,12 @@ class TestEReg extends Test {
 		
 		eq( ~/a+/.replace("aabbccaa", "x"), "xbbccaa" );
 		eq( ~/a+/g.replace("aabbccaa", "x"), "xbbccx" );
+
+		//testing split
+		var test:String = "{ test } .blah  { something:someval } ";
+		var block:EReg = ~/\s*\{\s*|\s*\}\s*/gm;
+		eq( block.split(test).length, 5 );
+		eq( '"' + block.split(test).join('","') + '"', '"","test",".blah","something:someval",""' );
 		
 		#end
 	}