[System.Configuration]: SaveMode and UserLevel.
authorMartin Baulig <martin.baulig@xamarin.com>
Fri, 21 Dec 2012 09:05:00 +0000 (10:05 +0100)
committerMartin Baulig <martin.baulig@xamarin.com>
Fri, 21 Dec 2012 09:20:18 +0000 (10:20 +0100)
commit0b57238424265deb24a4c047a80da23501f9f240
tree3cd896b45287e66fa6cd0f01fc995f76bee0fd6f
parent9addbeda8e20a6543ac182053456cbbfd23d3024
[System.Configuration]: SaveMode and UserLevel.

* Configuration.Save() and SaveAs() now honors the
  `ConfigurationSaveMode' argument.

* Check whether the file has been modified prior to saving.

* Fix ConfigurationUserLevel inheritance.

* Implement ConfigurationElement.IsModified().

* New ConfigurationSaveTest.cs test:

  - load a custom section using different parent configuration
    files using ExeConfigurationFileMap and different
    ConfigurationUserLevel values.

  - save configuration using different ConfigurationSaveMode
    arguments and different inherited parent configurations.

* ExeConfigurationFileMapTest.cs: Add error checks for missing
  required filenames.

* New TestUtil.cs helper class:

  - RunWithTempFile() and RunWithTempFiles() helper functions.
  - DotNetVersion, ThisDllName and ThisConfigFileName properties,
    moving all the #ifdef's into one central place.
15 files changed:
mcs/class/System.Configuration/System.Configuration/ConfigInfo.cs
mcs/class/System.Configuration/System.Configuration/Configuration.cs
mcs/class/System.Configuration/System.Configuration/ConfigurationElement.cs
mcs/class/System.Configuration/System.Configuration/ConfigurationElementCollection.cs
mcs/class/System.Configuration/System.Configuration/ConfigurationManager.cs
mcs/class/System.Configuration/System.Configuration/ConfigurationSection.cs
mcs/class/System.Configuration/System.Configuration/InternalConfigurationHost.cs
mcs/class/System.Configuration/System.Configuration/SectionGroupInfo.cs
mcs/class/System.Configuration/System.Configuration/SectionInfo.cs
mcs/class/System.Configuration/System.Configuration_test.dll.sources
mcs/class/System.Configuration/Test/System.Configuration/ConfigurationManagerTest.cs
mcs/class/System.Configuration/Test/System.Configuration/ConfigurationSaveTest.cs [new file with mode: 0644]
mcs/class/System.Configuration/Test/System.Configuration/ExeConfigurationFileMapTest.cs
mcs/class/System.Configuration/Test/Util/TestLabel.cs [new file with mode: 0644]
mcs/class/System.Configuration/Test/Util/TestUtil.cs [new file with mode: 0644]