From 5cd04b5c9ee1dbd16ab707885fb40ceaf9cf0b6e Mon Sep 17 00:00:00 2001 From: Shannon Date: Mon, 2 Sep 2013 16:36:47 +1000 Subject: [PATCH] Got lots of the default values configured with unit tests, still need to finish the rest though. --- .../UmbracoSettings/ContentElement.cs | 129 ++++++++++-- ...tentImagingAutoFillPropertiesCollection.cs | 4 + ...ontentImagingAutoFillUploadFieldElement.cs | 34 ++- .../UmbracoSettings/ContentImagingElement.cs | 20 +- .../ContentScriptEditorElement.cs | 26 ++- ...ionalCommaDelimitedConfigurationElement.cs | 42 ++++ src/Umbraco.Core/Umbraco.Core.csproj | 1 + .../UmbracoSettings/ContentElementTests.cs | 27 ++- .../ContentImagingElementTests.cs | 22 +- .../ContentScriptEditorElementTests.cs | 9 + .../UmbracoSettings/UmbracoSettingsTests.cs | 20 +- .../umbracoSettings.minimal.config | 199 ++++++++++++++++++ .../Configurations/UmbracoSettings/web.config | 2 + src/Umbraco.Tests/Umbraco.Tests.csproj | 4 + 14 files changed, 500 insertions(+), 39 deletions(-) create mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/OptionalCommaDelimitedConfigurationElement.cs create mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs index aa36f3e670..1b316e496a 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs @@ -43,7 +43,13 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("UploadAllowDirectories")] internal InnerTextConfigurationElement UploadAllowDirectories { - get { return (InnerTextConfigurationElement)this["UploadAllowDirectories"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["UploadAllowDirectories"], + //set the default + true); + } } [ConfigurationProperty("errors")] @@ -61,13 +67,25 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("ensureUniqueNaming")] public InnerTextConfigurationElement EnsureUniqueNaming { - get { return (InnerTextConfigurationElement)base["ensureUniqueNaming"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["ensureUniqueNaming"], + //set the default + true); + } } [ConfigurationProperty("TidyEditorContent")] public InnerTextConfigurationElement TidyEditorContent { - get { return (InnerTextConfigurationElement)base["TidyEditorContent"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["TidyEditorContent"], + //set the default + false); + } } [ConfigurationProperty("TidyCharEncoding")] @@ -78,80 +96,155 @@ namespace Umbraco.Core.Configuration.UmbracoSettings return new OptionalInnerTextConfigurationElement( (InnerTextConfigurationElement)this["TidyCharEncoding"], //set the default - "Raw"); + "UTF8"); } } [ConfigurationProperty("XmlCacheEnabled")] public InnerTextConfigurationElement XmlCacheEnabled { - get { return (InnerTextConfigurationElement)base["XmlCacheEnabled"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["XmlCacheEnabled"], + //set the default + true); + } } [ConfigurationProperty("ContinouslyUpdateXmlDiskCache")] public InnerTextConfigurationElement ContinouslyUpdateXmlDiskCache { - get { return (InnerTextConfigurationElement)base["ContinouslyUpdateXmlDiskCache"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["ContinouslyUpdateXmlDiskCache"], + //set the default + true); + } } [ConfigurationProperty("XmlContentCheckForDiskChanges")] public InnerTextConfigurationElement XmlContentCheckForDiskChanges { - get { return (InnerTextConfigurationElement)base["XmlContentCheckForDiskChanges"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["XmlContentCheckForDiskChanges"], + //set the default + false); + } } [ConfigurationProperty("EnableSplashWhileLoading")] public InnerTextConfigurationElement EnableSplashWhileLoading { - get { return (InnerTextConfigurationElement)base["EnableSplashWhileLoading"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["EnableSplashWhileLoading"], + //set the default + false); + } } [ConfigurationProperty("PropertyContextHelpOption")] public InnerTextConfigurationElement PropertyContextHelpOption { - get { return (InnerTextConfigurationElement)base["PropertyContextHelpOption"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["PropertyContextHelpOption"], + //set the default + "text"); + } } [ConfigurationProperty("UseLegacyXmlSchema")] public InnerTextConfigurationElement UseLegacyXmlSchema { - get { return (InnerTextConfigurationElement)base["UseLegacyXmlSchema"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["UseLegacyXmlSchema"], + //set the default + false); + } } [ConfigurationProperty("ForceSafeAliases")] public InnerTextConfigurationElement ForceSafeAliases { - get { return (InnerTextConfigurationElement)base["ForceSafeAliases"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["ForceSafeAliases"], + //set the default + true); + } } [ConfigurationProperty("PreviewBadge")] public InnerTextConfigurationElement PreviewBadge { - get { return (InnerTextConfigurationElement)base["PreviewBadge"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["PreviewBadge"], + //set the default + @"In Preview Mode - click to end"); + } } [ConfigurationProperty("UmbracoLibraryCacheDuration")] public InnerTextConfigurationElement UmbracoLibraryCacheDuration { - get { return (InnerTextConfigurationElement)base["UmbracoLibraryCacheDuration"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["UmbracoLibraryCacheDuration"], + //set the default + 1800); + + } } [ConfigurationProperty("MacroErrors")] - public InnerTextConfigurationElement MacroErrors + public InnerTextConfigurationElement MacroErrors { - get { return (InnerTextConfigurationElement)base["MacroErrors"]; } + get + { + + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["MacroErrors"], + //set the default + MacroErrorBehaviour.Inline); + } } [ConfigurationProperty("DocumentTypeIconList")] public InnerTextConfigurationElement DocumentTypeIconList { - get { return (InnerTextConfigurationElement)base["DocumentTypeIconList"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["DocumentTypeIconList"], + //set the default + IconPickerBehaviour.HideFileDuplicates); + } } [ConfigurationProperty("disallowedUploadFiles")] - public CommaDelimitedConfigurationElement DisallowedUploadFiles + public OptionalCommaDelimitedConfigurationElement DisallowedUploadFiles { - get { return (CommaDelimitedConfigurationElement)base["disallowedUploadFiles"]; } + get + { + return new OptionalCommaDelimitedConfigurationElement( + (CommaDelimitedConfigurationElement)this["disallowedUploadFiles"], + //set the default + new[] { "ashx", "aspx", "ascx", "config", "cshtml", "vbhtml", "asmx", "air", "axd" }); + + } } [ConfigurationProperty("cloneXmlContent")] diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingAutoFillPropertiesCollection.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingAutoFillPropertiesCollection.cs index b77d85e585..23f5c054e9 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingAutoFillPropertiesCollection.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingAutoFillPropertiesCollection.cs @@ -16,6 +16,10 @@ namespace Umbraco.Core.Configuration.UmbracoSettings return ((ContentImagingAutoFillUploadFieldElement)element).Alias; } + internal void Add(ContentImagingAutoFillUploadFieldElement item) + { + BaseAdd(item); + } IEnumerator IEnumerable.GetEnumerator() { diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingAutoFillUploadFieldElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingAutoFillUploadFieldElement.cs index 9ec8ff21c1..ad4cd8e306 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingAutoFillUploadFieldElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingAutoFillUploadFieldElement.cs @@ -4,7 +4,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { internal class ContentImagingAutoFillUploadFieldElement : ConfigurationElement { - [ConfigurationProperty("alias", IsKey = true)] + [ConfigurationProperty("alias", IsKey = true, IsRequired = true)] internal string Alias { get { return (string)this["alias"]; } @@ -13,25 +13,49 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("widthFieldAlias")] internal InnerTextConfigurationElement WidthFieldAlias { - get { return (InnerTextConfigurationElement)this["widthFieldAlias"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["widthFieldAlias"], + //set the default + "umbracoWidth"); + } } [ConfigurationProperty("heightFieldAlias")] internal InnerTextConfigurationElement HeightFieldAlias { - get { return (InnerTextConfigurationElement)this["heightFieldAlias"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["heightFieldAlias"], + //set the default + "umbracoHeight"); + } } [ConfigurationProperty("lengthFieldAlias")] internal InnerTextConfigurationElement LengthFieldAlias { - get { return (InnerTextConfigurationElement)this["lengthFieldAlias"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["lengthFieldAlias"], + //set the default + "umbracoBytes"); + } } [ConfigurationProperty("extensionFieldAlias")] internal InnerTextConfigurationElement ExtensionFieldAlias { - get { return (InnerTextConfigurationElement)this["extensionFieldAlias"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["extensionFieldAlias"], + //set the default + "umbracoExtension"); + } } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs index 6b639f81b6..780cb5f893 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs @@ -7,20 +7,32 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("imageFileTypes")] internal CommaDelimitedConfigurationElement ImageFileTypes { - get { return (CommaDelimitedConfigurationElement)this["imageFileTypes"]; } + get + { + return new OptionalCommaDelimitedConfigurationElement( + (CommaDelimitedConfigurationElement)this["imageFileTypes"], + //set the default + new[] { "jpeg", "jpg", "gif", "bmp", "png", "tiff", "tif" }); + } } [ConfigurationProperty("allowedAttributes")] internal CommaDelimitedConfigurationElement AllowedAttributes { - get { return (CommaDelimitedConfigurationElement)this["allowedAttributes"]; } + get + { + return new OptionalCommaDelimitedConfigurationElement( + (CommaDelimitedConfigurationElement)this["allowedAttributes"], + //set the default + new[] { "src", "alt", "border", "class", "style", "align", "id", "name", "onclick", "usemap" }); + } } [ConfigurationCollection(typeof(ContentImagingAutoFillPropertiesCollection), AddItemName = "uploadField")] - [ConfigurationProperty("autoFillImageProperties", IsDefaultCollection = true)] + [ConfigurationProperty("autoFillImageProperties", IsDefaultCollection = true, IsRequired = true)] public ContentImagingAutoFillPropertiesCollection ImageAutoFillProperties { - get { return (ContentImagingAutoFillPropertiesCollection)base["autoFillImageProperties"]; } + get { return (ContentImagingAutoFillPropertiesCollection) base["autoFillImageProperties"]; } } } diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs index 0ef94906b2..cf709b329c 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs @@ -7,19 +7,37 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("scriptFolderPath")] internal InnerTextConfigurationElement ScriptFolderPath { - get { return (InnerTextConfigurationElement)this["scriptFolderPath"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement)this["scriptFolderPath"], + //set the default + "/scripts"); + } } [ConfigurationProperty("scriptFileTypes")] - internal CommaDelimitedConfigurationElement ScriptFileTypes + internal OptionalCommaDelimitedConfigurationElement ScriptFileTypes { - get { return (CommaDelimitedConfigurationElement)this["scriptFileTypes"]; } + get + { + return new OptionalCommaDelimitedConfigurationElement( + (OptionalCommaDelimitedConfigurationElement)this["scriptFileTypes"], + //set the default + new[] { "js", "xml" }); + } } [ConfigurationProperty("scriptDisableEditor")] internal InnerTextConfigurationElement DisableScriptEditor { - get { return (InnerTextConfigurationElement)this["scriptDisableEditor"]; } + get + { + return new OptionalInnerTextConfigurationElement( + (InnerTextConfigurationElement) this["scriptDisableEditor"], + //set the default + false); + } } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/OptionalCommaDelimitedConfigurationElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/OptionalCommaDelimitedConfigurationElement.cs new file mode 100644 index 0000000000..643adfcf78 --- /dev/null +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/OptionalCommaDelimitedConfigurationElement.cs @@ -0,0 +1,42 @@ +using System.Configuration; + +namespace Umbraco.Core.Configuration.UmbracoSettings +{ + /// + /// Used for specifying default values for comma delimited config + /// + internal class OptionalCommaDelimitedConfigurationElement : CommaDelimitedConfigurationElement + { + private readonly CommaDelimitedConfigurationElement _wrapped; + private readonly string[] _defaultValue; + + public OptionalCommaDelimitedConfigurationElement() + { + } + + public OptionalCommaDelimitedConfigurationElement(CommaDelimitedConfigurationElement wrapped, string[] defaultValue) + { + _wrapped = wrapped; + _defaultValue = defaultValue; + } + + public override CommaDelimitedStringCollection Value + { + get + { + if (_wrapped == null) + { + return base.Value; + } + + if (string.IsNullOrEmpty(_wrapped.RawValue)) + { + var val = new CommaDelimitedStringCollection(); + val.AddRange(_defaultValue); + return val; + } + return _wrapped.Value; + } + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 3b6c693803..0806a173f9 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -180,6 +180,7 @@ + diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs index 67698243d4..a4489bfb37 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs @@ -8,11 +8,30 @@ using Umbraco.Core; namespace Umbraco.Tests.Configurations.UmbracoSettings { + [TestFixture] + public class ContentElementDefaultTests : ContentElementTests + { + protected override bool TestingDefaults + { + get { return true; } + } + + public override void TidyCharEncoding() + { + Assert.IsTrue(Section.Content.TidyCharEncoding == "UTF8"); + } + + public override void XmlContentCheckForDiskChanges() + { + Assert.IsTrue(Section.Content.XmlContentCheckForDiskChanges == false); + } + } + [TestFixture] public class ContentElementTests : UmbracoSettingsTests { [Test] - public void ScriptFolderPath() + public void UploadAllowDirectories() { Assert.IsTrue(Section.Content.UploadAllowDirectories == true); } @@ -42,7 +61,7 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings Assert.IsTrue(Section.Content.TidyEditorContent == false); } [Test] - public void TidyCharEncoding() + public virtual void TidyCharEncoding() { Assert.IsTrue(Section.Content.TidyCharEncoding == "Raw"); } @@ -67,7 +86,7 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings Assert.IsTrue(Section.Content.ContinouslyUpdateXmlDiskCache == true); } [Test] - public void XmlContentCheckForDiskChanges() + public virtual void XmlContentCheckForDiskChanges() { Assert.IsTrue(Section.Content.XmlContentCheckForDiskChanges == true); } @@ -104,7 +123,7 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings [Test] public void MacroErrors() { - Assert.IsTrue(Section.Content.MacroErrors == "inline"); + Assert.IsTrue(Section.Content.MacroErrors == MacroErrorBehaviour.Inline); } [Test] public void DocumentTypeIconList() diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementTests.cs index e60b554c1a..d19f650fb4 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementTests.cs @@ -3,6 +3,26 @@ using NUnit.Framework; namespace Umbraco.Tests.Configurations.UmbracoSettings { + [TestFixture] + public class ContentImagingElementDefaultTests : ContentImagingElementTests + { + protected override bool TestingDefaults + { + get { return true; } + } + + [Test] + public override void ImageAutoFillProperties() + { + Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.Count == 1); + Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(0).Alias == "umbracoFile"); + Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(0).WidthFieldAlias == "umbracoWidth"); + Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(0).HeightFieldAlias == "umbracoHeight"); + Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(0).LengthFieldAlias == "umbracoBytes"); + Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(0).ExtensionFieldAlias == "umbracoExtension"); + } + } + [TestFixture] public class ContentImagingElementTests : UmbracoSettingsTests { @@ -17,7 +37,7 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings Assert.IsTrue(Section.Content.Imaging.AllowedAttributes.All(x => "src,alt,border,class,style,align,id,name,onclick,usemap".Split(',').Contains(x))); } [Test] - public void ImageAutoFillProperties() + public virtual void ImageAutoFillProperties() { Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.Count == 2); Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(0).Alias == "umbracoFile"); diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementTests.cs index cbc42eecfc..d031dae921 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementTests.cs @@ -3,6 +3,15 @@ using NUnit.Framework; namespace Umbraco.Tests.Configurations.UmbracoSettings { + [TestFixture] + public class ContentScriptEditorElementDefaultTests : ContentScriptEditorElementTests + { + protected override bool TestingDefaults + { + get { return true; } + } + } + [TestFixture] public class ContentScriptEditorElementTests : UmbracoSettingsTests { diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/UmbracoSettingsTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/UmbracoSettingsTests.cs index 861327ffe5..41513ea72f 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/UmbracoSettingsTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/UmbracoSettingsTests.cs @@ -8,16 +8,30 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings { public abstract class UmbracoSettingsTests { - //TODO: Need to test defaults after all this is done. + + protected virtual bool TestingDefaults + { + get { return false; } + } [SetUp] public void Init() { var config = new FileInfo(TestHelper.MapPathForTest("~/Configurations/UmbracoSettings/web.config")); - + var fileMap = new ExeConfigurationFileMap() { ExeConfigFilename = config.FullName }; var configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); - Section = configuration.GetSection("umbracoConfiguration/settings") as UmbracoSettingsSection; + + if (TestingDefaults) + { + Section = configuration.GetSection("umbracoConfiguration/defaultSettings") as UmbracoSettingsSection; + } + else + { + Section = configuration.GetSection("umbracoConfiguration/settings") as UmbracoSettingsSection; + } + + Assert.IsNotNull(Section); } diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config b/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config new file mode 100644 index 0000000000..a41dd2a9fc --- /dev/null +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + 1047 + 1048 + 1049 + + + + + + + robot@umbraco.dk + + + + + + + true + + + false + + + + + + false + + true + + - + + + + + + + + + + plus + star + + + ae + oe + aa + ae + oe + ue + ss + ae + oe + - + + + + + + + true + true + Mvc + + + + + + cs + vb + + + + + + + + p + div + ul + span + + + MyName.1 + MyName.2 + MyName.3 + MyName.4 + MyName.5 + MyName.6 + + + + + + + + false + true + true + + [alias-of-log-type-in-lowercase] + anotherlogalias + + 86400 + 1440 + + + + + + + + + + + + + + 0 + + + + 127.0.0.1 + 127.0.0.2 + + + + + + + + your-username5 + your-username1 + your-username2 + your-username3 + your-username4 + + your-username6 + + css,xslt + + + + + + + + + + + + + + UsersMembershipProvider + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config b/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config index e4553f36b4..3b247ecbff 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config @@ -4,11 +4,13 @@
+
+ \ No newline at end of file diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index e5b9ec7222..12fe6b26c4 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -449,6 +449,10 @@ Designer + + Designer + Always + Designer Always