Ejemplo n.º 1
0
        public void Save(bool forPut)
        {
            projectPath = ProjectPathFromFile(projectPath);

              //  XmlTextWriter writer = new XmlTextWriter(projectPath, System.Text.Encoding.UTF8);
                MockXmlTextWriter writer = new MockXmlTextWriter(projectPath, System.Text.Encoding.UTF8);
                writer.Formatting = Formatting.Indented;

                writer.WriteStartElement("NUnitProject");

                if (configs.Count > 0 || this.BasePath != this.DefaultBasePath)
                {
                   // Console.WriteLine("am here");
                    writer.WriteStartElement("Settings");
                    if (configs.Count > 0)
                        writer.WriteAttributeString("activeconfig", ActiveConfigName);
                    if (this.BasePath != this.DefaultBasePath)
                        writer.WriteAttributeString("appbase", this.BasePath);
                    writer.WriteEndElement();
                }

                foreach (ProjectConfig config in Configs)
                {
                    writer.WriteStartElement("Config");
                    writer.WriteAttributeString("name", config.Name);
                    string appbase = config.BasePath;
                    if (!PathUtils.SamePathOrUnder(this.BasePath, appbase))
                        writer.WriteAttributeString("appbase", appbase);
                    else if (config.RelativeBasePath != null)
                        writer.WriteAttributeString("appbase", config.RelativeBasePath);

                    string configFile = config.ConfigurationFile;
                    if (configFile != null && configFile != this.ConfigurationFile)
                        writer.WriteAttributeString("configfile", config.ConfigurationFile);

                    if (config.BinPathType == BinPathType.Manual)
                        writer.WriteAttributeString("binpath", config.PrivateBinPath);
                    else
                        writer.WriteAttributeString("binpathtype", config.BinPathType.ToString());

                    foreach (string assembly in config.Assemblies)
                    {
                        writer.WriteStartElement("assembly");
                        writer.WriteAttributeString("path", PathUtils.RelativePath(config.BasePath, assembly));
                        writer.WriteEndElement();
                    }

                    writer.WriteEndElement();
                }

                writer.WriteEndElement();

                writer.Close();
                this.IsDirty = false;

                // Once we save a project, it's no longer
                // loaded as an assembly wrapper on reload.
                this.isAssemblyWrapper = false;
        }
Ejemplo n.º 2
0
        public void Save(bool forPut)
        {
            projectPath = ProjectPathFromFile(projectPath);

            //  XmlTextWriter writer = new XmlTextWriter(projectPath, System.Text.Encoding.UTF8);
            MockXmlTextWriter writer = new MockXmlTextWriter(projectPath, System.Text.Encoding.UTF8);

            writer.Formatting = Formatting.Indented;

            writer.WriteStartElement("NUnitProject");

            if (configs.Count > 0 || this.BasePath != this.DefaultBasePath)
            {
                // Console.WriteLine("am here");
                writer.WriteStartElement("Settings");
                if (configs.Count > 0)
                {
                    writer.WriteAttributeString("activeconfig", ActiveConfigName);
                }
                if (this.BasePath != this.DefaultBasePath)
                {
                    writer.WriteAttributeString("appbase", this.BasePath);
                }
                writer.WriteEndElement();
            }

            foreach (ProjectConfig config in Configs)
            {
                writer.WriteStartElement("Config");
                writer.WriteAttributeString("name", config.Name);
                string appbase = config.BasePath;
                if (!PathUtils.SamePathOrUnder(this.BasePath, appbase))
                {
                    writer.WriteAttributeString("appbase", appbase);
                }
                else if (config.RelativeBasePath != null)
                {
                    writer.WriteAttributeString("appbase", config.RelativeBasePath);
                }

                string configFile = config.ConfigurationFile;
                if (configFile != null && configFile != this.ConfigurationFile)
                {
                    writer.WriteAttributeString("configfile", config.ConfigurationFile);
                }

                if (config.BinPathType == BinPathType.Manual)
                {
                    writer.WriteAttributeString("binpath", config.PrivateBinPath);
                }
                else
                {
                    writer.WriteAttributeString("binpathtype", config.BinPathType.ToString());
                }

                foreach (string assembly in config.Assemblies)
                {
                    writer.WriteStartElement("assembly");
                    writer.WriteAttributeString("path", PathUtils.RelativePath(config.BasePath, assembly));
                    writer.WriteEndElement();
                }

                writer.WriteEndElement();
            }

            writer.WriteEndElement();

            writer.Close();
            this.IsDirty = false;

            // Once we save a project, it's no longer
            // loaded as an assembly wrapper on reload.
            this.isAssemblyWrapper = false;
        }