From c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sun, 19 Apr 2020 17:19:32 -0400 Subject: Inital commit --- .../CommandLineParser/CommandLineOptionSet.cs | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/CommandLineParser/CommandLineOptionSet.cs') 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); + } + } + } + } +} -- cgit v1.2.3