Ver código fonte

Merge pull request #4579 from haxiomic/patch-3

[js] Prevents StringMap's toString() appending an extra ", "
Simon Krajewski 9 anos atrás
pai
commit
8b0841929c

+ 1 - 1
std/js/_std/haxe/ds/StringMap.hx

@@ -134,7 +134,7 @@ private class StringMapIterator<T> {
 			s.add(k);
 			s.add(" => ");
 			s.add(Std.string(get(k)));
-			if( i < keys.length )
+			if( i < keys.length-1 )
 				s.add(", ");
 		}
 		s.add("}");

+ 20 - 0
tests/unit/src/unit/issues/Issue4579.hx

@@ -0,0 +1,20 @@
+package unit.issues;
+
+class Issue4579 extends Test {
+	#if js
+	function test() {
+		var stringMap1:Map<String, Dynamic> = [
+	        'string-key-1'=> 42
+	    ];
+
+		var stringMap2:Map<String, Dynamic> = [
+            'string-key-1'=> 42,
+            'string-key-2'=> {a:1}
+        ];
+        
+        //count commas in toString()
+        eq(stringMap1.toString().split(',').length - 1, 0);
+        eq(stringMap2.toString().split(',').length - 1, 1);
+	}
+	#end
+}