Pārlūkot izejas kodu

[test] use xml to store arguments, such that we can test "\n" and to leave comments.

Andy Li 10 gadi atpakaļ
vecāks
revīzija
85a9b51d7e

+ 4 - 1
tests/RunCi.hx

@@ -471,7 +471,10 @@ class RunCi {
 	static function main():Void {
 		Sys.putEnv("OCAMLRUNPARAM", "b");
 
-		var args = ~/\r?\n/g.split(File.getContent('$sysDir/args.txt'));
+		var args = [
+			for (arg in new haxe.xml.Fast(Xml.parse(File.getContent('$sysDir/args.xml'))).node.args.nodes.arg)
+			arg.innerData
+		];
 
 		var tests:Array<TEST> = switch (ci) {
 			case null:

+ 0 - 3
tests/sys/args.txt

@@ -1,3 +0,0 @@
-foo
-12
-a b  %PATH% $HOME c\&<>["]#{}|%$

+ 9 - 0
tests/sys/args.xml

@@ -0,0 +1,9 @@
+<args>
+
+<arg><![CDATA[foo]]></arg>
+
+<arg><![CDATA[12]]></arg>
+
+<arg><![CDATA[a b  %PATH% $HOME c\&<>[\"]#{}|%$\""]]></arg>
+
+</args>

+ 1 - 1
tests/sys/compile-each.hxml

@@ -1,4 +1,4 @@
 -debug
 -cp src
--resource args.txt
+-resource args.xml
 -main Main

+ 4 - 1
tests/sys/src/TestSys.hx

@@ -3,7 +3,10 @@ class TestSys extends haxe.unit.TestCase {
 	#if !interp
 	function testArgs() {
 		var args = Sys.args();
-		var expectedArgs = ~/\r?\n/g.split(haxe.Resource.getString("args.txt"));
+		var expectedArgs = [
+			for (arg in new haxe.xml.Fast(Xml.parse(haxe.Resource.getString("args.xml"))).node.args.nodes.arg)
+			arg.innerData
+		];
 		// trace(args);
 		assertEquals(expectedArgs.length, args.length);
 		for (i in 0...expectedArgs.length) {