Ejemplo n.º 1
0
        public void TestFlagAndValueMix()
        {
            CommandLineArgs args = new CommandLineArgs();

            args.AddFlag("my_test_flag_1");
            args.AddFlag("my_test_flag_2");
            args.AddFlag("aAaAa");

            args.SetValue("test_value", "My Test Value");
            args.SetValue("aAaAa", "aaaaa");

            Assert.AreEqual(5, args.Count);
            Assert.IsTrue(args.HasFlag("aaaaa"));
            Assert.IsTrue(args.HasValue("aaaaa"));
            Assert.AreEqual("my_test_flag_1 my_test_flag_2 aaaaa test_value \"My Test Value\" aaaaa \"aaaaa\"", args.ToString());

            var dict = new Dictionary <string, string>();

            args.ToDictionary(dict); // loses 'aaaaa' flag

            Assert.AreEqual(4, dict.Count);
            Assert.AreEqual("1", dict["my_test_flag_1"]);
            Assert.AreEqual("1", dict["my_test_flag_2"]);
            Assert.AreEqual("My Test Value", dict["test_value"]);
            Assert.AreEqual("aaaaa", dict["aaaaa"]);
        }
Ejemplo n.º 2
0
        public void TestClone()
        {
            CommandLineArgs args = new CommandLineArgs();

            args.AddFlag("my_test_flag_1");
            args.AddFlag("my_test_flag_2");
            args.AddFlag("aAaAa");

            args.SetValue("test_value", "My Test Value");
            args.SetValue("aAaAa", "aaaaa");

            CommandLineArgs clone = args.Clone();

            args.RemoveFlag("aaaaa");
            args.RemoveValue("aaaaa");
            clone.RemoveFlag("my_test_flag_1");
            clone.RemoveFlag("my_test_flag_2");
            clone.RemoveValue("test_value");

            Assert.AreEqual(3, args.Count);
            Assert.AreEqual(2, clone.Count);

            Assert.AreEqual("my_test_flag_1 my_test_flag_2 test_value \"My Test Value\"", args.ToString());
            Assert.AreEqual("aaaaa aaaaa \"aaaaa\"", clone.ToString());
        }
Ejemplo n.º 3
0
        public void TestFlags()
        {
            CommandLineArgs args = new CommandLineArgs();

            args.AddFlag("my_test_flag_1");
            args.AddFlag("my_test_flag_2");
            args.AddFlag("aAaAa");

            Assert.IsFalse(args.HasValue("aAaAa"));

            Assert.AreEqual(3, args.Count);
            Assert.IsTrue(args.HasFlag("my_test_flag_1"));
            Assert.IsTrue(args.HasFlag("my_test_flag_2"));
            Assert.IsTrue(args.HasFlag("aaaaa"));
            Assert.IsTrue(args.HasFlag("AAAAA"));
            Assert.AreEqual("my_test_flag_1 my_test_flag_2 aaaaa", args.ToString());

            args.RemoveFlag("Aaaaa");

            Assert.AreEqual(2, args.Count);
            Assert.IsTrue(args.HasFlag("my_test_flag_1"));
            Assert.IsTrue(args.HasFlag("my_test_flag_2"));
            Assert.IsFalse(args.HasFlag("aaaaa"));
            Assert.AreEqual("my_test_flag_1 my_test_flag_2", args.ToString());
        }
Ejemplo n.º 4
0
        private void btnRestart_Click(object sender, EventArgs e)
        {
            Args = new CommandLineArgs();

            if (cbLogging.Checked)
            {
                Args.AddFlag(Arguments.ArgLogging);
            }

            if (cbDebugUpdates.Checked)
            {
                Args.AddFlag(Arguments.ArgDebugUpdates);
            }

            string locale = comboLocale.SelectedItem as string;

            if (!string.IsNullOrWhiteSpace(locale) && locale != DefaultLocale)
            {
                Args.SetValue(Arguments.ArgLocale, locale);
            }

            if (!string.IsNullOrWhiteSpace(tbDataFolder.Text))
            {
                Args.SetValue(Arguments.ArgDataFolder, tbDataFolder.Text);
            }

            DialogResult = DialogResult.OK;
            Close();
        }
Ejemplo n.º 5
0
        private void control_Change(object sender, EventArgs e)
        {
            Args = new CommandLineArgs();

            if (cbLogging.Checked)
            {
                Args.AddFlag(Arguments.ArgLogging);
            }

            if (cbDebugUpdates.Checked)
            {
                Args.AddFlag(Arguments.ArgDebugUpdates);
            }

            string locale = comboLocale.SelectedItem as string;

            if (!string.IsNullOrWhiteSpace(locale) && locale != DefaultLocale)
            {
                Args.SetValue(Arguments.ArgLocale, locale);
            }

            if (!string.IsNullOrWhiteSpace(tbDataFolder.Text) && tbDataFolder.Enabled)
            {
                Args.SetValue(Arguments.ArgDataFolder, tbDataFolder.Text);
            }

            tbShortcutTarget.Text = $@"""{Application.ExecutablePath}""{(Args.Count > 0 ? " " : "")}{Args}";
            tbShortcutTarget.Select(tbShortcutTarget.Text.Length, 0);
        }
Ejemplo n.º 6
0
        public static CommandLineArgs GetCurrentForInstaller()
        {
            CommandLineArgs args = GetCurrentClean();

            args.AddFlag(ArgUpdated);
            return(args);
        }
Ejemplo n.º 7
0
        public static void RestartWithArgs(CommandLineArgs args)
        {
            FormBrowser browserForm = Application.OpenForms.OfType <FormBrowser>().FirstOrDefault();

            if (browserForm == null)
            {
                return;
            }

            args.AddFlag(Arguments.ArgRestart);

            browserForm.ForceClose();
            ExitCleanup();

            Process.Start(Application.ExecutablePath, args.ToString());
            Application.Exit();
        }
        private void control_Change(object sender, EventArgs e)
        {
            Args = new CommandLineArgs();

            if (cbLogging.Checked)
            {
                Args.AddFlag(Arguments.ArgLogging);
            }

            if (!string.IsNullOrWhiteSpace(tbDataFolder.Text) && tbDataFolder.Enabled)
            {
                Args.SetValue(Arguments.ArgDataFolder, tbDataFolder.Text);
            }

            tbShortcutTarget.Text = $@"""{Program.ExecutablePath}""{(Args.Count > 0 ? " " : "")}{Args}";
            tbShortcutTarget.Select(tbShortcutTarget.Text.Length, 0);
        }
Ejemplo n.º 9
0
 private static void RestartWithArgsInternal(CommandLineArgs args)
 {
     args.AddFlag(Arguments.ArgRestart);
     Process.Start(Application.ExecutablePath, args.ToString());
     Application.Exit();
 }