Browse Source

add test (see #2378)

Simon Krajewski 10 years ago
parent
commit
d1556f1653
1 changed files with 32 additions and 0 deletions
  1. 32 0
      tests/unit/src/unit/issues/Issue2378.hx

+ 32 - 0
tests/unit/src/unit/issues/Issue2378.hx

@@ -0,0 +1,32 @@
+package unit.issues;
+
+private enum Kind
+{
+  //stub
+  Message;
+  //variable
+  Flag;
+  VarHash(key:{ name:String, t:CType }, value:{ name:String, t:CType }, ?valueIsArray:Bool);
+  Var(t:CType);
+  //function
+  Function(args:Array<{name:String, opt:Bool, t:CType}>, ?varArgs:Null<CType>);
+  SubDispatch;
+}
+
+private typedef CType = String;
+
+class Issue2378 extends Test {
+	function test() {
+		var arg = { name: "test", command:"something", aliases:["a"], description:null, kind: Flag };
+		var versions = arg.aliases != null ? arg.aliases.concat([arg.command]) : [arg.command];
+		versions = versions.filter(function(s) return s != null && s != "");
+
+		var prefix = "-";
+		if (arg.kind == SubDispatch || arg.kind == Message)
+			prefix = "";
+		var a = versions.map(function(v) return (v.length == 1) ? prefix + v : prefix + prefix + v);
+		eq(2, a.length);
+		eq("-a", a[0]);
+		eq("--something", a[1]);
+	}
+}