summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser
diff options
context:
space:
mode:
Diffstat (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser')
-rw-r--r--Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOption.cs45
-rw-r--r--Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOption.cs.meta11
-rw-r--r--Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs49
-rw-r--r--Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs.meta11
-rw-r--r--Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/ICommandLineOption.cs8
-rw-r--r--Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/ICommandLineOption.cs.meta11
6 files changed, 135 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOption.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOption.cs
new file mode 100644
index 0000000..e6d0cff
--- /dev/null
+++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOption.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Linq;
+
+namespace UnityEditor.TestRunner.CommandLineParser
+{
+ internal class CommandLineOption : ICommandLineOption
+ {
+ Action<string> m_ArgAction;
+
+ public CommandLineOption(string argName, Action action)
+ {
+ ArgName = argName;
+ m_ArgAction = s => action();
+ }
+
+ public CommandLineOption(string argName, Action<string> action)
+ {
+ ArgName = argName;
+ m_ArgAction = action;
+ }
+
+ public CommandLineOption(string argName, Action<string[]> action)
+ {
+ ArgName = argName;
+ m_ArgAction = s => action(SplitStringToArray(s));
+ }
+
+ public string ArgName { get; private set; }
+
+ public void ApplyValue(string value)
+ {
+ m_ArgAction(value);
+ }
+
+ static string[] SplitStringToArray(string value)
+ {
+ if (string.IsNullOrEmpty(value))
+ {
+ return null;
+ }
+
+ return value.Split(';').ToArray();
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOption.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOption.cs.meta
new file mode 100644
index 0000000..ebeabb6
--- /dev/null
+++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOption.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a3529368f4cd0424a89aa51080a16b06
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs
new file mode 100644
index 0000000..f67ab2f
--- /dev/null
+++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs
@@ -0,0 +1,49 @@
+using System;
+
+namespace UnityEditor.TestRunner.CommandLineParser
+{
+ internal class CommandLineOptionSet
+ {
+ ICommandLineOption[] m_Options;
+
+ public CommandLineOptionSet(params ICommandLineOption[] options)
+ {
+ m_Options = options;
+ }
+
+ public void Parse(string[] args)
+ {
+ var i = 0;
+ while (i < args.Length)
+ {
+ var arg = args[i];
+ if (!arg.StartsWith("-"))
+ {
+ i++;
+ continue;
+ }
+
+ string value = null;
+ if (i + 1 < args.Length && !args[i + 1].StartsWith("-"))
+ {
+ value = args[i + 1];
+ i++;
+ }
+
+ ApplyValueToMatchingOptions(arg, value);
+ i++;
+ }
+ }
+
+ private void ApplyValueToMatchingOptions(string argName, string value)
+ {
+ foreach (var option in m_Options)
+ {
+ if ("-" + option.ArgName == argName)
+ {
+ option.ApplyValue(value);
+ }
+ }
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs.meta
new file mode 100644
index 0000000..ce92320
--- /dev/null
+++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 139c5eac101a4dc4fb3098e30c29f15e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/ICommandLineOption.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/ICommandLineOption.cs
new file mode 100644
index 0000000..792113e
--- /dev/null
+++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/ICommandLineOption.cs
@@ -0,0 +1,8 @@
+namespace UnityEditor.TestRunner.CommandLineParser
+{
+ interface ICommandLineOption
+ {
+ string ArgName { get; }
+ void ApplyValue(string value);
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/ICommandLineOption.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/ICommandLineOption.cs.meta
new file mode 100644
index 0000000..10bed96
--- /dev/null
+++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/ICommandLineOption.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f445ca0c614a846449fcd8ae648c24e2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: