Beispiel #1
0
        static void TestMethod_SyncConfiguration_Serialize()
        {
            var config = new SyncConfiguration();

            config.m_src          = "chg8";
            config.m_destination  = "chg9";
            config.m_excludeDirs  = "chg10";
            config.m_excludeFiles = "chg11";
            config.m_mirror       = false;
            config.m_copySubDirsAndEmptySubdirs = true;
            config.m_copyFlags          = "#1@";
            config.m_directoryCopyFlags = "#2@";
            config.m_ipg                = "#3@";
            config.m_nRetries           = "#4@";
            config.m_waitBetweenRetries = "#5@";
            config.m_nThreads           = "#6@";
            config.m_custom             = "#7@";
            config.m_symlinkNotTarget   = false;
            config.m_fatTimes           = true;
            config.m_compensateDst      = false;
            File.Delete(Testing.GetTestTempFile("test_cfg_02_got.xml"));
            SyncConfiguration.Serialize(config, Testing.GetTestTempFile("test_cfg_02_got.xml"));
            string sExpected = File.ReadAllText(Testing.GetTestFile("test_cfg_02.xml"));
            string sGot      = File.ReadAllText(Testing.GetTestTempFile("test_cfg_02_got.xml"));

            sGot      = sGot.Replace("xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"", "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"");
            sExpected = sExpected.Replace("\r", "").Replace("\n", "").Replace("  <", "<");
            sGot      = sGot.Replace("\r", "").Replace("\n", "").Replace("  <", "<");
            Utils.AssertEq(sExpected, sGot);
        }
        private void mnuSave_Click(object sender, EventArgs e)
        {
            var currentName = GetCurrentConfigName();

            if (currentName == null)
            {
                mnuSaveAs_Click(null, null);
                return;
            }

            var newFilename = "configs/" + currentName + ".xml";

            SyncConfiguration.Serialize(this.GetCurrentConfigFromUI(), newFilename);
            MessageBox.Show("Saved.");
        }
        static void Test_SaveFromUIElements(FormSyncMain form)
        {
            var prevConfig = form.GetCurrentConfigFromUI();
            var config1    = SyncConfiguration.Deserialize(Testing.GetTestFile("test_cfg_01.xml"));

            form.SetCurrentConfigToUI(config1);
            var config2 = SyncConfiguration.Deserialize(Testing.GetTestFile("test_cfg_02.xml"));

            Test_SetUIElements(config2, form);
            var config2FromForm = form.GetCurrentConfigFromUI();

            File.Delete(Testing.GetTestTempFile("test_cfg_02_got.xml"));
            SyncConfiguration.Serialize(config2FromForm, Testing.GetTestTempFile("test_cfg_02_got.xml"));
            string sExpected = File.ReadAllText(Testing.GetTestFile("test_cfg_02.xml"));
            string sGot      = File.ReadAllText(Testing.GetTestTempFile("test_cfg_02_got.xml"));

            form.SetCurrentConfigToUI(prevConfig);
        }
        private void mnuSaveAs_Click(object sender, EventArgs e)
        {
            var currentName = GetCurrentConfigName();

            currentName = currentName != null ? "" : currentName;
            var sNewName = InputBoxForm.GetStrInput("Choose a name:", currentName);

            if (sNewName == null)
            {
                return;
            }
            if (sNewName.Contains("\\") || sNewName.Contains("/") || sNewName.Contains("."))
            {
                MessageBox.Show("Invalid character in name.");
                return;
            }

            var newFilename = "configs/" + sNewName + ".xml";

            if (File.Exists(newFilename))
            {
                MessageBox.Show("A configuration already exists with this name.");
                return;
            }

            SyncConfiguration.Serialize(this.GetCurrentConfigFromUI(), newFilename);
            this.CreateSyncMain_Load(null, null);

            var justName = Path.GetFileNameWithoutExtension(newFilename);

            foreach (var item in listBoxConfigs.Items)
            {
                if ((item as SavedConfigForListbox).m_filename == justName)
                {
                    listBoxConfigs.SelectedItem = item;
                    break;
                }
            }
        }