From 09b68a75be03fbd97091f1f0182b7cc7ab10d967 Mon Sep 17 00:00:00 2001 From: Shannon Date: Mon, 16 Sep 2013 15:52:59 +1000 Subject: [PATCH] Simplifies the IContentSection so that there's no nesting of interface classes and updates some unit tests --- .../Configuration/BaseRest/BaseRestSection.cs | 10 +- .../Configuration/UmbracoConfiguration.cs | 72 +++++++++- .../UmbracoConfigurationSection.cs | 13 +- .../UmbracoSettings/ContentElement.cs | 99 ++++++++----- .../UmbracoSettings/ContentErrorsElement.cs | 2 +- .../UmbracoSettings/ContentImagingElement.cs | 19 +-- .../ContentScriptEditorElement.cs | 18 +-- .../UmbracoSettings/IContentErrors.cs | 9 -- .../UmbracoSettings/IContentImaging.cs | 13 -- .../UmbracoSettings/IContentScriptEditor.cs | 13 -- .../{IContent.cs => IContentSection.cs} | 22 ++- .../UmbracoSettings/INotifications.cs | 8 -- .../UmbracoSettings/IRepositories.cs | 1 - .../UmbracoSettings/IUmbracoSettings.cs | 2 +- .../UmbracoSettings/NotificationsElement.cs | 13 +- .../UmbracoSettings/UmbracoSettingsSection.cs | 2 +- src/Umbraco.Core/IO/MediaFileSystem.cs | 4 +- src/Umbraco.Core/IO/UmbracoMediaFile.cs | 2 +- src/Umbraco.Core/Models/ContentExtensions.cs | 6 +- src/Umbraco.Core/Models/Script.cs | 10 +- src/Umbraco.Core/Umbraco.Core.csproj | 6 +- src/Umbraco.Tests/CodeFirst/CodeFirstTests.cs | 5 +- .../ContentTypeDefinitionFactory.cs | 2 +- .../CanGenerateMockSettings.cs | 28 ++++ .../ContentElementDefaultTests.cs | 27 +++- .../UmbracoSettings/ContentElementTests.cs | 65 +++++++++ .../ContentErrorsElementDefaultTests.cs | 22 --- .../ContentErrorsElementTests.cs | 21 --- .../ContentImagingElementDefaultTests.cs | 25 ---- .../ContentImagingElementTests.cs | 35 ----- ...ContentNotificationsElementDefaultTests.cs | 18 --- .../ContentNotificationsElementTests.cs | 19 --- .../ContentScriptEditorElementDefaultTests.cs | 13 -- .../ContentScriptEditorElementTests.cs | 25 ---- .../UmbracoSettings/ScriptingElementTests.cs | 6 +- src/Umbraco.Tests/LibraryTests.cs | 1 + .../PublishedContentCacheTests.cs | 13 +- .../LegacyExamineBackedMediaTests.cs | 9 +- .../Publishing/PublishingStrategyTests.cs | 2 +- .../Routing/NiceUrlProviderTests.cs | 49 +++++-- .../NiceUrlsProviderWithDomainsTests.cs | 41 ++++-- .../Routing/UrlsWithNestedDomains.cs | 7 +- .../Routing/uQueryGetNodeIdByUrlTests.cs | 12 +- .../Sync/ConfigServerRegistrarTests.cs | 45 ------ .../TestHelpers/BaseUmbracoApplicationTest.cs | 15 +- .../TestHelpers/SettingsForTests.cs | 131 ++++++++++++++---- src/Umbraco.Tests/TestHelpers/TestHelper.cs | 7 +- src/Umbraco.Tests/Umbraco.Tests.csproj | 10 +- src/Umbraco.Tests/UriUtilityTests.cs | 13 +- src/Umbraco.Tests/XmlHelperTests.cs | 1 + src/Umbraco.Web.UI/web.Template.Debug.config | 3 + .../Editors/BackOfficeController.cs | 2 +- .../FileUploadPropertyEditor.cs | 2 +- src/Umbraco.Web/Routing/UrlProvider.cs | 7 + .../DataTypes/LegacyUploadFieldWorkaround.cs | 8 +- .../umbraco.presentation/library.cs | 10 +- .../umbraco/create/MediaTypeTasks.cs | 2 +- .../umbraco/create/script.ascx.cs | 2 +- .../settings/scripts/editScript.aspx.cs | 2 +- .../webservices/codeEditorSave.asmx.cs | 2 +- src/umbraco.businesslogic/UmbracoSettings.cs | 14 +- .../businesslogic/datatype/FileHandlerData.cs | 8 +- .../businesslogic/workflow/Notification.cs | 4 +- src/umbraco.controls/CodeArea.cs | 2 +- .../tinymce/tinyMCEImageHelper.cs | 2 +- 65 files changed, 577 insertions(+), 504 deletions(-) delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/IContentErrors.cs delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/IContentImaging.cs delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/IContentScriptEditor.cs rename src/Umbraco.Core/Configuration/UmbracoSettings/{IContent.cs => IContentSection.cs} (66%) delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/INotifications.cs create mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/CanGenerateMockSettings.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ContentErrorsElementDefaultTests.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ContentErrorsElementTests.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementDefaultTests.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementTests.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ContentNotificationsElementDefaultTests.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ContentNotificationsElementTests.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementDefaultTests.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementTests.cs delete mode 100644 src/Umbraco.Tests/Sync/ConfigServerRegistrarTests.cs diff --git a/src/Umbraco.Core/Configuration/BaseRest/BaseRestSection.cs b/src/Umbraco.Core/Configuration/BaseRest/BaseRestSection.cs index 60b4c3a133..6372ca1b34 100644 --- a/src/Umbraco.Core/Configuration/BaseRest/BaseRestSection.cs +++ b/src/Umbraco.Core/Configuration/BaseRest/BaseRestSection.cs @@ -10,12 +10,12 @@ namespace Umbraco.Core.Configuration.BaseRest private bool? _enabled; - internal protected override void ResetSection() - { - base.ResetSection(); + //internal protected override void ResetSection() + //{ + // base.ResetSection(); - _enabled = null; - } + // _enabled = null; + //} [ConfigurationProperty("", IsKey = false, IsRequired = false, IsDefaultCollection = true)] public ExtensionElementCollection Items diff --git a/src/Umbraco.Core/Configuration/UmbracoConfiguration.cs b/src/Umbraco.Core/Configuration/UmbracoConfiguration.cs index 0ac026cba0..af39da8c5c 100644 --- a/src/Umbraco.Core/Configuration/UmbracoConfiguration.cs +++ b/src/Umbraco.Core/Configuration/UmbracoConfiguration.cs @@ -1,7 +1,10 @@ using System; +using System.Collections.Concurrent; using System.Configuration; +using System.Threading; using Umbraco.Core.Configuration.BaseRest; using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.Logging; namespace Umbraco.Core.Configuration { @@ -14,10 +17,65 @@ namespace Umbraco.Core.Configuration private static readonly Lazy Lazy = new Lazy(() => new UmbracoConfiguration()); - public static UmbracoConfiguration Current { get { return Lazy.Value; } } + public static UmbracoConfiguration Current + { + get { return Lazy.Value; } + } #endregion + //#region Extensible settings + + //TODO: Need to think about this... it seems nicer to do this than having giant nested access to the configuration + // sections, BUT we don't want to attribute the interfaces. We can make IUmbracoConfigurationSection plugins and then search for the matching + // one based on the specified interface ? + + //private static readonly ConcurrentDictionary Sections = new ConcurrentDictionary(); + + ///// + ///// Gets the specified UmbracoConfigurationSection. + ///// + ///// The type of the UmbracoConfigurationSectiont. + ///// The UmbracoConfigurationSection of the specified type. + //public static T For() + // where T : IUmbracoConfigurationSection + //{ + // var sectionType = typeof(T); + // return (T)Sections.GetOrAdd(sectionType, type => + // { + // var attr = sectionType.GetCustomAttribute(false); + // if (attr == null) + // throw new InvalidOperationException(string.Format("Type \"{0}\" is missing attribute ConfigurationKeyAttribute.", sectionType.FullName)); + + // var sectionKey = attr.ConfigurationKey; + // if (string.IsNullOrWhiteSpace(sectionKey)) + // throw new InvalidOperationException(string.Format("Type \"{0}\" ConfigurationKeyAttribute value is null or empty.", sectionType.FullName)); + + // var section = GetSection(sectionType, sectionKey); + + // return (T)section; + // }); + //} + + //private static IUmbracoConfigurationSection GetSection(Type sectionType, string key) + //{ + // if (TypeHelper.IsTypeAssignableFrom(sectionType) == false) + // { + // throw new ArgumentException(string.Format( + // "Type \"{0}\" does not inherit from UmbracoConfigurationSection.", sectionType.FullName), "sectionType"); + // } + + // var section = ConfigurationManager.GetSection(key); + + // if (section != null && section.GetType() != sectionType) + // throw new InvalidCastException(string.Format("Section at key \"{0}\" is of type \"{1}\" and not \"{2}\".", + // key, section.GetType().FullName, sectionType.FullName)); + + // return section as IUmbracoConfigurationSection; + //} + + //#endregion + /// /// Default constructor /// @@ -28,7 +86,7 @@ namespace Umbraco.Core.Configuration var umbracoSettings = ConfigurationManager.GetSection("umbracoConfiguration/settings") as IUmbracoSettings; if (umbracoSettings == null) { - throw new InvalidOperationException("Could not find configuration section 'umbracoConfiguration/settings' or it does not cast to " + typeof(IUmbracoSettings)); + LogHelper.Warn("Could not load the IUmbracoSettings from config file!"); } UmbracoSettings = umbracoSettings; } @@ -45,7 +103,15 @@ namespace Umbraco.Core.Configuration BaseRestExtensions = baseRestSettings; } - public IUmbracoSettings UmbracoSettings { get; private set; } + /// + /// Gets the IUmbracoSettings + /// + public IUmbracoSettings UmbracoSettings + { + get; + //This is purely for setting for Unit tests ONLY + internal set; + } public IBaseRest BaseRestExtensions { get; private set; } diff --git a/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs b/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs index 2c1c09df75..9124eb2fb1 100644 --- a/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs +++ b/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs @@ -2,8 +2,11 @@ namespace Umbraco.Core.Configuration { - // note - still must work on how to support read-only and ResetSection for collections - // note - still must work on how to spread config over files (aka DeepConfig in v5) + + public interface IUmbracoConfigurationSection + { + + } /// /// Represents an Umbraco section within the configuration file. @@ -23,11 +26,5 @@ namespace Umbraco.Core.Configuration /// protected bool IsPresent { get { return ElementInformation.IsPresent; } } - /// - /// Resets settings that were set programmatically, to their initial values. - /// - /// >To be used in unit tests. - internal protected virtual void ResetSection() - { } } } diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs index 60ca65562f..5a027165db 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs @@ -3,7 +3,7 @@ using System.Configuration; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ContentElement : ConfigurationElement, IContent + internal class ContentElement : ConfigurationElement, IContentSection { [ConfigurationProperty("imaging")] internal ContentImagingElement Imaging @@ -53,6 +53,11 @@ namespace Umbraco.Core.Configuration.UmbracoSettings } } + public IEnumerable Error404Collection + { + get { return Errors.Error404Collection; } + } + [ConfigurationProperty("errors", IsRequired = true)] internal ContentErrorsElement Errors { @@ -284,127 +289,147 @@ namespace Umbraco.Core.Configuration.UmbracoSettings } } - IContentImaging IContent.Imaging + string IContentSection.NotificationEmailAddress { - get { return Imaging; } + get { return Notifications.NotificationEmailAddress; } } - IContentScriptEditor IContent.ScriptEditor + bool IContentSection.DisableHtmlEmail { - get { return ScriptEditor; } + get { return Notifications.DisableHtmlEmail; } } - bool IContent.EnableCanvasEditing + IEnumerable IContentSection.ImageFileTypes + { + get { return Imaging.ImageFileTypes; } + } + + IEnumerable IContentSection.ImageTagAllowedAttributes + { + get { return Imaging.ImageTagAllowedAttributes; } + } + + IEnumerable IContentSection.ImageAutoFillProperties + { + get { return Imaging.ImageAutoFillProperties; } + } + + bool IContentSection.ScriptEditorDisable + { + get { return ScriptEditor.ScriptEditorDisable; } + } + + string IContentSection.ScriptFolderPath + { + get { return ScriptEditor.ScriptFolderPath; } + } + + IEnumerable IContentSection.ScriptFileTypes + { + get { return ScriptEditor.ScriptFileTypes; } + } + + bool IContentSection.EnableCanvasEditing { get { return EnableCanvasEditing; } } - bool IContent.ResolveUrlsFromTextString + bool IContentSection.ResolveUrlsFromTextString { get { return ResolveUrlsFromTextString; } } - bool IContent.UploadAllowDirectories + bool IContentSection.UploadAllowDirectories { get { return UploadAllowDirectories; } - } + } - IContentErrors IContent.Errors - { - get { return Errors; } - } - - INotifications IContent.Notifications - { - get { return Notifications; } - } - - bool IContent.EnsureUniqueNaming + bool IContentSection.EnsureUniqueNaming { get { return EnsureUniqueNaming; } } - bool IContent.TidyEditorContent + bool IContentSection.TidyEditorContent { get { return TidyEditorContent; } } - string IContent.TidyCharEncoding + string IContentSection.TidyCharEncoding { get { return TidyCharEncoding; } } - bool IContent.XmlCacheEnabled + bool IContentSection.XmlCacheEnabled { get { return XmlCacheEnabled; } } - bool IContent.ContinouslyUpdateXmlDiskCache + bool IContentSection.ContinouslyUpdateXmlDiskCache { get { return ContinouslyUpdateXmlDiskCache; } } - bool IContent.XmlContentCheckForDiskChanges + bool IContentSection.XmlContentCheckForDiskChanges { get { return XmlContentCheckForDiskChanges; } } - bool IContent.EnableSplashWhileLoading + bool IContentSection.EnableSplashWhileLoading { get { return EnableSplashWhileLoading; } } - string IContent.PropertyContextHelpOption + string IContentSection.PropertyContextHelpOption { get { return PropertyContextHelpOption; } } - bool IContent.UseLegacyXmlSchema + bool IContentSection.UseLegacyXmlSchema { get { return UseLegacyXmlSchema; } } - bool IContent.ForceSafeAliases + bool IContentSection.ForceSafeAliases { get { return ForceSafeAliases; } } - string IContent.PreviewBadge + string IContentSection.PreviewBadge { get { return PreviewBadge; } } - int IContent.UmbracoLibraryCacheDuration + int IContentSection.UmbracoLibraryCacheDuration { get { return UmbracoLibraryCacheDuration; } } - MacroErrorBehaviour IContent.MacroErrorBehaviour + MacroErrorBehaviour IContentSection.MacroErrorBehaviour { get { return MacroErrors; } } - IconPickerBehaviour IContent.IconPickerBehaviour + IconPickerBehaviour IContentSection.IconPickerBehaviour { get { return DocumentTypeIconList; } } - IEnumerable IContent.DisallowedUploadFiles + IEnumerable IContentSection.DisallowedUploadFiles { get { return DisallowedUploadFiles; } } - bool IContent.CloneXmlContent + bool IContentSection.CloneXmlContent { get { return CloneXmlContent; } } - bool IContent.GlobalPreviewStorageEnabled + bool IContentSection.GlobalPreviewStorageEnabled { get { return GlobalPreviewStorageEnabled; } } - string IContent.DefaultDocumentTypeProperty + string IContentSection.DefaultDocumentTypeProperty { get { return DefaultDocumentTypeProperty; } } diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorsElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorsElement.cs index 598e2f21d3..c03444aa6c 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorsElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorsElement.cs @@ -3,7 +3,7 @@ using System.Linq; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ContentErrorsElement : RawXmlConfigurationElement, IContentErrors + internal class ContentErrorsElement : RawXmlConfigurationElement { public IEnumerable Error404Collection diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs index 80345222d0..c450798c37 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs @@ -3,7 +3,7 @@ using System.Configuration; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ContentImagingElement : ConfigurationElement, IContentImaging + internal class ContentImagingElement : ConfigurationElement { [ConfigurationProperty("imageFileTypes")] internal CommaDelimitedConfigurationElement ImageFileTypes @@ -18,7 +18,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings } [ConfigurationProperty("allowedAttributes")] - internal CommaDelimitedConfigurationElement AllowedAttributes + internal CommaDelimitedConfigurationElement ImageTagAllowedAttributes { get { @@ -61,20 +61,5 @@ namespace Umbraco.Core.Configuration.UmbracoSettings } } - - IEnumerable IContentImaging.ImageFileTypes - { - get { return ImageFileTypes; } - } - - IEnumerable IContentImaging.AllowedAttributes - { - get { return AllowedAttributes; } - } - - IEnumerable IContentImaging.ImageAutoFillProperties - { - get { return ImageAutoFillProperties; } - } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs index 1c7898f596..0d14609caa 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs @@ -3,7 +3,7 @@ using System.Configuration; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ContentScriptEditorElement : ConfigurationElement, IContentScriptEditor + internal class ContentScriptEditorElement : ConfigurationElement { [ConfigurationProperty("scriptFolderPath")] internal InnerTextConfigurationElement ScriptFolderPath @@ -30,7 +30,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings } [ConfigurationProperty("scriptDisableEditor")] - internal InnerTextConfigurationElement DisableScriptEditor + internal InnerTextConfigurationElement ScriptEditorDisable { get { @@ -41,19 +41,5 @@ namespace Umbraco.Core.Configuration.UmbracoSettings } } - string IContentScriptEditor.ScriptFolderPath - { - get { return ScriptFolderPath; } - } - - IEnumerable IContentScriptEditor.ScriptFileTypes - { - get { return ScriptFileTypes; } - } - - bool IContentScriptEditor.DisableScriptEditor - { - get { return DisableScriptEditor; } - } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IContentErrors.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IContentErrors.cs deleted file mode 100644 index 5fa3e9cf28..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IContentErrors.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Collections.Generic; - -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - public interface IContentErrors - { - IEnumerable Error404Collection { get; } - } -} \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IContentImaging.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IContentImaging.cs deleted file mode 100644 index 2010a4da4f..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IContentImaging.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic; - -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - public interface IContentImaging - { - IEnumerable ImageFileTypes { get; } - - IEnumerable AllowedAttributes { get; } - - IEnumerable ImageAutoFillProperties { get; } - } -} \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IContentScriptEditor.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IContentScriptEditor.cs deleted file mode 100644 index 67165802a9..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IContentScriptEditor.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic; - -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - public interface IContentScriptEditor - { - string ScriptFolderPath { get; } - - IEnumerable ScriptFileTypes { get; } - - bool DisableScriptEditor { get; } - } -} \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IContent.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs similarity index 66% rename from src/Umbraco.Core/Configuration/UmbracoSettings/IContent.cs rename to src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs index b3a35a39d4..051497faa2 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IContent.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs @@ -2,11 +2,23 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - public interface IContent + public interface IContentSection : IUmbracoConfigurationSection { - IContentImaging Imaging { get; } + string NotificationEmailAddress { get; } - IContentScriptEditor ScriptEditor { get; } + bool DisableHtmlEmail { get; } + + IEnumerable ImageFileTypes { get; } + + IEnumerable ImageTagAllowedAttributes { get; } + + IEnumerable ImageAutoFillProperties { get; } + + string ScriptFolderPath { get; } + + IEnumerable ScriptFileTypes { get; } + + bool ScriptEditorDisable { get; } bool EnableCanvasEditing { get; } @@ -14,9 +26,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings bool UploadAllowDirectories { get; } - IContentErrors Errors { get; } - - INotifications Notifications { get; } + IEnumerable Error404Collection { get; } bool EnsureUniqueNaming { get; } diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/INotifications.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/INotifications.cs deleted file mode 100644 index 90db1a8f0e..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/INotifications.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - public interface INotifications - { - string EmailAddress { get; } - bool DisableHtmlEmail { get; } - } -} \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IRepositories.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IRepositories.cs index 23f3f44149..d198f1f6b6 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IRepositories.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/IRepositories.cs @@ -2,7 +2,6 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - //TODO: Where do we put the 'package server' setting? public interface IRepositories { diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IUmbracoSettings.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IUmbracoSettings.cs index 8feb67172d..5c51ba25e1 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IUmbracoSettings.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/IUmbracoSettings.cs @@ -2,7 +2,7 @@ { public interface IUmbracoSettings { - IContent Content { get; } + IContentSection Content { get; } ISecurity Security { get; } diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/NotificationsElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/NotificationsElement.cs index 6ad66ed761..16eb943887 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/NotificationsElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/NotificationsElement.cs @@ -2,10 +2,10 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class NotificationsElement : ConfigurationElement, INotifications + internal class NotificationsElement : ConfigurationElement { [ConfigurationProperty("email")] - internal InnerTextConfigurationElement EmailAddress + internal InnerTextConfigurationElement NotificationEmailAddress { get { return (InnerTextConfigurationElement)this["email"]; } } @@ -22,14 +22,5 @@ namespace Umbraco.Core.Configuration.UmbracoSettings } } - string INotifications.EmailAddress - { - get { return EmailAddress; } - } - - bool INotifications.DisableHtmlEmail - { - get { return DisableHtmlEmail; } - } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs index 65d8994f21..83b857b202 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs @@ -129,7 +129,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings get { return (ScriptingElement)this["scripting"]; } } - IContent IUmbracoSettings.Content + IContentSection IUmbracoSettings.Content { get { return Content; } } diff --git a/src/Umbraco.Core/IO/MediaFileSystem.cs b/src/Umbraco.Core/IO/MediaFileSystem.cs index 4083b6d91c..c6877baf3f 100644 --- a/src/Umbraco.Core/IO/MediaFileSystem.cs +++ b/src/Umbraco.Core/IO/MediaFileSystem.cs @@ -13,14 +13,14 @@ namespace Umbraco.Core.IO [FileSystemProvider("media")] public class MediaFileSystem : FileSystemWrapper { - private readonly IContent _contentConfig; + private readonly IContentSection _contentConfig; public MediaFileSystem(IFileSystem wrapped) : this(wrapped, UmbracoConfiguration.Current.UmbracoSettings.Content) { } - public MediaFileSystem(IFileSystem wrapped, IContent contentConfig) : base(wrapped) + public MediaFileSystem(IFileSystem wrapped, IContentSection contentConfig) : base(wrapped) { _contentConfig = contentConfig; } diff --git a/src/Umbraco.Core/IO/UmbracoMediaFile.cs b/src/Umbraco.Core/IO/UmbracoMediaFile.cs index 861b1f0527..1754a9b1a8 100644 --- a/src/Umbraco.Core/IO/UmbracoMediaFile.cs +++ b/src/Umbraco.Core/IO/UmbracoMediaFile.cs @@ -135,7 +135,7 @@ namespace Umbraco.Core.IO { get { - return UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageFileTypes.InvariantContains(Extension); + return UmbracoConfiguration.Current.UmbracoSettings.Content.ImageFileTypes.InvariantContains(Extension); } } diff --git a/src/Umbraco.Core/Models/ContentExtensions.cs b/src/Umbraco.Core/Models/ContentExtensions.cs index 29b582a057..04dfced33c 100644 --- a/src/Umbraco.Core/Models/ContentExtensions.cs +++ b/src/Umbraco.Core/Models/ContentExtensions.cs @@ -416,15 +416,15 @@ namespace Umbraco.Core.Models fs.AddFile(fileName, fileStream); //Check if file supports resizing and create thumbnails - var supportsResizing = UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageFileTypes.InvariantContains(extension); + var supportsResizing = UmbracoConfiguration.Current.UmbracoSettings.Content.ImageFileTypes.InvariantContains(extension); //the config section used to auto-fill properties IContentImagingAutoFillUploadField uploadFieldConfigNode = null; //Check for auto fill of additional properties - if (UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties != null) + if (UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties != null) { - uploadFieldConfigNode = UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties + uploadFieldConfigNode = UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties .Single(x => x.Alias == propertyTypeAlias); } diff --git a/src/Umbraco.Core/Models/Script.cs b/src/Umbraco.Core/Models/Script.cs index 49eb3982e7..b83cc245a5 100644 --- a/src/Umbraco.Core/Models/Script.cs +++ b/src/Umbraco.Core/Models/Script.cs @@ -14,18 +14,18 @@ namespace Umbraco.Core.Models [DataContract(IsReference = true)] public class Script : File { - private readonly IContentScriptEditor _scriptEditorConfig; + private readonly IContentSection _contentConfig; public Script(string path) - : this(path, UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditor) + : this(path, UmbracoConfiguration.Current.UmbracoSettings.Content) { } - public Script(string path, IContentScriptEditor scriptEditorConfig) + public Script(string path, IContentSection contentConfig) : base(path) { - _scriptEditorConfig = scriptEditorConfig; + _contentConfig = contentConfig; base.Path = path; } @@ -44,7 +44,7 @@ namespace Umbraco.Core.Models //into 4 private methods. //See codeEditorSave.asmx.cs for reference. - var exts = _scriptEditorConfig.ScriptFileTypes.ToList(); + var exts = _contentConfig.ScriptFileTypes.ToList(); /*if (UmbracoSettings.DefaultRenderingEngine == RenderingEngine.Mvc) { exts.Add("cshtml"); diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index f8d18a42d9..da536637f7 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -180,12 +180,9 @@ - + - - - @@ -196,7 +193,6 @@ - diff --git a/src/Umbraco.Tests/CodeFirst/CodeFirstTests.cs b/src/Umbraco.Tests/CodeFirst/CodeFirstTests.cs index 7cad61dd43..c25df904a1 100644 --- a/src/Umbraco.Tests/CodeFirst/CodeFirstTests.cs +++ b/src/Umbraco.Tests/CodeFirst/CodeFirstTests.cs @@ -20,7 +20,8 @@ namespace Umbraco.Tests.CodeFirst [SetUp] public override void Initialize() { - LegacyUmbracoSettings.SettingsFilePath = IOHelper.MapPath(SystemDirectories.Config + Path.DirectorySeparatorChar, false); + + //LegacyUmbracoSettings.SettingsFilePath = IOHelper.MapPath(SystemDirectories.Config + Path.DirectorySeparatorChar, false); base.Initialize(); @@ -212,7 +213,7 @@ namespace Umbraco.Tests.CodeFirst public override void TearDown() { base.TearDown(); - + SerializationService = null; } } diff --git a/src/Umbraco.Tests/CodeFirst/Definitions/ContentTypeDefinitionFactory.cs b/src/Umbraco.Tests/CodeFirst/Definitions/ContentTypeDefinitionFactory.cs index 14f40660dd..8342ff0f32 100644 --- a/src/Umbraco.Tests/CodeFirst/Definitions/ContentTypeDefinitionFactory.cs +++ b/src/Umbraco.Tests/CodeFirst/Definitions/ContentTypeDefinitionFactory.cs @@ -311,7 +311,7 @@ namespace Umbraco.Tests.CodeFirst.Definitions private static IEnumerable AllowedTemplatesConvention(IEnumerable templateNames) { var templates = new List(); - var engine = LegacyUmbracoSettings.DefaultRenderingEngine; + var engine = UmbracoConfiguration.Current.UmbracoSettings.Templates.DefaultRenderingEngine; foreach (var templateName in templateNames) { var @alias = engine == RenderingEngine.Mvc diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/CanGenerateMockSettings.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/CanGenerateMockSettings.cs new file mode 100644 index 0000000000..bc59526b1a --- /dev/null +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/CanGenerateMockSettings.cs @@ -0,0 +1,28 @@ +//using System.Linq; +//using NUnit.Framework; +//using Rhino.Mocks; +//using Umbraco.Core.Configuration; +//using Umbraco.Core.Configuration.UmbracoSettings; +//using Umbraco.Tests.TestHelpers; + +//namespace Umbraco.Tests.Configurations.UmbracoSettings +//{ +// [TestFixture] +// public class CanGenerateMockSettings +// { +// [Test] +// public void Can_Mock_Multi_Levels() +// { +// var repos = MockRepository.GenerateStub(); +// repos.Stub(x => x.Name).Return("This is a test"); + +// var settings = SettingsForTests.GetMockSettings(); +// settings.Stub(x => x.Content.UseLegacyXmlSchema).Return(true); +// settings.Stub(x => x.PackageRepositories.Repositories).Return(new[] {repos}); +// SettingsForTests.ConfigureSettings(settings); + +// Assert.AreEqual(true, UmbracoConfiguration.Current.UmbracoSettings.Content.UseLegacyXmlSchema); +// Assert.AreEqual("This is a test", UmbracoConfiguration.Current.UmbracoSettings.PackageRepositories.Repositories.Single().Name); +// } +// } +//} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementDefaultTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementDefaultTests.cs index d705536c64..0c3f0dc869 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementDefaultTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementDefaultTests.cs @@ -1,4 +1,5 @@ -using NUnit.Framework; +using System.Linq; +using NUnit.Framework; namespace Umbraco.Tests.Configurations.UmbracoSettings { @@ -10,6 +11,30 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings get { return true; } } + public override void DisableHtmlEmail() + { + Assert.IsTrue(Section.Content.DisableHtmlEmail == false); + } + + [Test] + public override void Can_Set_Multiple() + { + Assert.IsTrue(Section.Content.Error404Collection.Count() == 1); + Assert.IsTrue(Section.Content.Error404Collection.ElementAt(0).Culture == null); + Assert.IsTrue(Section.Content.Error404Collection.ElementAt(0).ContentId == 1); + } + + [Test] + public override void ImageAutoFillProperties() + { + Assert.IsTrue(Section.Content.ImageAutoFillProperties.Count() == 1); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).Alias == "umbracoFile"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).WidthFieldAlias == "umbracoWidth"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).HeightFieldAlias == "umbracoHeight"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).LengthFieldAlias == "umbracoBytes"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).ExtensionFieldAlias == "umbracoExtension"); + } + public override void TidyCharEncoding() { Assert.IsTrue(Section.Content.TidyCharEncoding == "UTF8"); diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs index e08febf5bc..ee724c3d84 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs @@ -11,6 +11,71 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings [TestFixture] public class ContentElementTests : UmbracoSettingsTests { + [Test] + public void EmailAddress() + { + Assert.IsTrue(Section.Content.NotificationEmailAddress == "robot@umbraco.dk"); + } + [Test] + public virtual void DisableHtmlEmail() + { + Assert.IsTrue(Section.Content.DisableHtmlEmail == true); + } + + [Test] + public virtual void Can_Set_Multiple() + { + Assert.IsTrue(Section.Content.Error404Collection.Count() == 3); + Assert.IsTrue(Section.Content.Error404Collection.ElementAt(0).Culture == "default"); + Assert.IsTrue(Section.Content.Error404Collection.ElementAt(0).ContentId == 1047); + Assert.IsTrue(Section.Content.Error404Collection.ElementAt(1).Culture == "en-US"); + Assert.IsTrue(Section.Content.Error404Collection.ElementAt(1).ContentId == 1048); + Assert.IsTrue(Section.Content.Error404Collection.ElementAt(2).Culture == "en-UK"); + Assert.IsTrue(Section.Content.Error404Collection.ElementAt(2).ContentId == 1049); + } + + [Test] + public void ScriptFolderPath() + { + Assert.IsTrue(Section.Content.ScriptFolderPath == "/scripts"); + } + [Test] + public void ScriptFileTypes() + { + Assert.IsTrue(Section.Content.ScriptFileTypes.All(x => "js,xml".Split(',').Contains(x))); + } + [Test] + public void DisableScriptEditor() + { + Assert.IsTrue(Section.Content.ScriptEditorDisable == false); + } + + [Test] + public void ImageFileTypes() + { + Assert.IsTrue(Section.Content.ImageFileTypes.All(x => "jpeg,jpg,gif,bmp,png,tiff,tif".Split(',').Contains(x))); + } + [Test] + public void AllowedAttributes() + { + Assert.IsTrue(Section.Content.ImageTagAllowedAttributes.All(x => "src,alt,border,class,style,align,id,name,onclick,usemap".Split(',').Contains(x))); + } + [Test] + public virtual void ImageAutoFillProperties() + { + Assert.IsTrue(Section.Content.ImageAutoFillProperties.Count() == 2); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).Alias == "umbracoFile"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).WidthFieldAlias == "umbracoWidth"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).HeightFieldAlias == "umbracoHeight"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).LengthFieldAlias == "umbracoBytes"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(0).ExtensionFieldAlias == "umbracoExtension"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(1).Alias == "umbracoFile2"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(1).WidthFieldAlias == "umbracoWidth2"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(1).HeightFieldAlias == "umbracoHeight2"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(1).LengthFieldAlias == "umbracoBytes2"); + Assert.IsTrue(Section.Content.ImageAutoFillProperties.ElementAt(1).ExtensionFieldAlias == "umbracoExtension2"); + } + [Test] public void UploadAllowDirectories() { diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentErrorsElementDefaultTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentErrorsElementDefaultTests.cs deleted file mode 100644 index b94bfda440..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentErrorsElementDefaultTests.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Linq; -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ContentErrorsElementDefaultTests : ContentErrorsElementTests - { - protected override bool TestingDefaults - { - get { return true; } - } - - [Test] - public override void Can_Set_Multiple() - { - Assert.IsTrue(Section.Content.Errors.Error404Collection.Count() == 1); - Assert.IsTrue(Section.Content.Errors.Error404Collection.ElementAt(0).Culture == null); - Assert.IsTrue(Section.Content.Errors.Error404Collection.ElementAt(0).ContentId == 1); - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentErrorsElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentErrorsElementTests.cs deleted file mode 100644 index 84a68ec184..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentErrorsElementTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.Linq; -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ContentErrorsElementTests : UmbracoSettingsTests - { - [Test] - public virtual void Can_Set_Multiple() - { - Assert.IsTrue(Section.Content.Errors.Error404Collection.Count() == 3); - Assert.IsTrue(Section.Content.Errors.Error404Collection.ElementAt(0).Culture == "default"); - Assert.IsTrue(Section.Content.Errors.Error404Collection.ElementAt(0).ContentId == 1047); - Assert.IsTrue(Section.Content.Errors.Error404Collection.ElementAt(1).Culture == "en-US"); - Assert.IsTrue(Section.Content.Errors.Error404Collection.ElementAt(1).ContentId == 1048); - Assert.IsTrue(Section.Content.Errors.Error404Collection.ElementAt(2).Culture == "en-UK"); - Assert.IsTrue(Section.Content.Errors.Error404Collection.ElementAt(2).ContentId == 1049); - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementDefaultTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementDefaultTests.cs deleted file mode 100644 index 9fefcb8ce7..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementDefaultTests.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Linq; -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"); - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementTests.cs deleted file mode 100644 index 3357a9d37d..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentImagingElementTests.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Linq; -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ContentImagingElementTests : UmbracoSettingsTests - { - [Test] - public void ImageFileTypes() - { - Assert.IsTrue(Section.Content.Imaging.ImageFileTypes.All(x => "jpeg,jpg,gif,bmp,png,tiff,tif".Split(',').Contains(x))); - } - [Test] - public void AllowedAttributes() - { - Assert.IsTrue(Section.Content.Imaging.AllowedAttributes.All(x => "src,alt,border,class,style,align,id,name,onclick,usemap".Split(',').Contains(x))); - } - [Test] - public virtual void ImageAutoFillProperties() - { - Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.Count() == 2); - 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"); - Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(1).Alias == "umbracoFile2"); - Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(1).WidthFieldAlias == "umbracoWidth2"); - Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(1).HeightFieldAlias == "umbracoHeight2"); - Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(1).LengthFieldAlias == "umbracoBytes2"); - Assert.IsTrue(Section.Content.Imaging.ImageAutoFillProperties.ElementAt(1).ExtensionFieldAlias == "umbracoExtension2"); - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentNotificationsElementDefaultTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentNotificationsElementDefaultTests.cs deleted file mode 100644 index 43601ee6c9..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentNotificationsElementDefaultTests.cs +++ /dev/null @@ -1,18 +0,0 @@ -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ContentNotificationsElementDefaultTests : ContentNotificationsElementTests - { - protected override bool TestingDefaults - { - get { return true; } - } - - public override void DisableHtmlEmail() - { - Assert.IsTrue(Section.Content.Notifications.DisableHtmlEmail == false); - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentNotificationsElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentNotificationsElementTests.cs deleted file mode 100644 index 686cb9b4b6..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentNotificationsElementTests.cs +++ /dev/null @@ -1,19 +0,0 @@ -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ContentNotificationsElementTests : UmbracoSettingsTests - { - [Test] - public void EmailAddress() - { - Assert.IsTrue(Section.Content.Notifications.EmailAddress == "robot@umbraco.dk"); - } - [Test] - public virtual void DisableHtmlEmail() - { - Assert.IsTrue(Section.Content.Notifications.DisableHtmlEmail == true); - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementDefaultTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementDefaultTests.cs deleted file mode 100644 index d3aaf973c9..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementDefaultTests.cs +++ /dev/null @@ -1,13 +0,0 @@ -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ContentScriptEditorElementDefaultTests : ContentScriptEditorElementTests - { - protected override bool TestingDefaults - { - get { return true; } - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementTests.cs deleted file mode 100644 index 626bbac766..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentScriptEditorElementTests.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Linq; -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ContentScriptEditorElementTests : UmbracoSettingsTests - { - [Test] - public void ScriptFolderPath() - { - Assert.IsTrue(Section.Content.ScriptEditor.ScriptFolderPath == "/scripts"); - } - [Test] - public void ScriptFileTypes() - { - Assert.IsTrue(Section.Content.ScriptEditor.ScriptFileTypes.All(x => "js,xml".Split(',').Contains(x))); - } - [Test] - public void DisableScriptEditor() - { - Assert.IsTrue(Section.Content.ScriptEditor.DisableScriptEditor == false); - } - } -} \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ScriptingElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ScriptingElementTests.cs index acf42e9620..6e7da50e90 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ScriptingElementTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/ScriptingElementTests.cs @@ -21,17 +21,17 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings Assert.IsTrue(mappings[0].DataTypeGuid == Guid.Parse("A3DB4034-BCB0-4E69-B3EE-DD4E6ECA74C2")); Assert.IsTrue(mappings[0].MappingName == "MyName.1"); - Assert.IsTrue(mappings[1].DocumentTypeAlias == "textPage2"); + Assert.IsTrue(mappings[1].PropertyTypeAlias == "textPage2"); Assert.IsTrue(mappings[1].NodeTypeAlias == "propertyAlias2"); Assert.IsTrue(mappings[1].MappingName == "MyName.2"); Assert.IsTrue(mappings[2].DataTypeGuid == Guid.Parse("BD14E709-45BE-431C-B228-6255CDEDFCD5")); - Assert.IsTrue(mappings[2].DocumentTypeAlias == "textPage3"); + Assert.IsTrue(mappings[2].PropertyTypeAlias == "textPage3"); Assert.IsTrue(mappings[2].NodeTypeAlias == "propertyAlias3"); Assert.IsTrue(mappings[2].MappingName == "MyName.3"); Assert.IsTrue(mappings[3].DataTypeGuid == Guid.Parse("FCE8187E-0366-4833-953A-E5ECA11AA23A")); - Assert.IsTrue(mappings[3].DocumentTypeAlias == "textPage4"); + Assert.IsTrue(mappings[3].PropertyTypeAlias == "textPage4"); Assert.IsTrue(mappings[3].MappingName == "MyName.4"); Assert.IsTrue(mappings[4].DataTypeGuid == Guid.Parse("9139315A-6681-4C45-B89F-BE48D30F9AB9")); diff --git a/src/Umbraco.Tests/LibraryTests.cs b/src/Umbraco.Tests/LibraryTests.cs index 7cc87a0db4..100e7b8b34 100644 --- a/src/Umbraco.Tests/LibraryTests.cs +++ b/src/Umbraco.Tests/LibraryTests.cs @@ -4,6 +4,7 @@ using System.IO; using System.Linq; using System.Text; using NUnit.Framework; +using Umbraco.Core.Configuration; using Umbraco.Tests.TestHelpers; using Umbraco.Web; using Umbraco.Web.PublishedCache; diff --git a/src/Umbraco.Tests/PublishedCache/PublishedContentCacheTests.cs b/src/Umbraco.Tests/PublishedCache/PublishedContentCacheTests.cs index 8b9eb6ede4..0750684a02 100644 --- a/src/Umbraco.Tests/PublishedCache/PublishedContentCacheTests.cs +++ b/src/Umbraco.Tests/PublishedCache/PublishedContentCacheTests.cs @@ -2,8 +2,10 @@ using System; using System.Linq; using System.Xml; using NUnit.Framework; +using Rhino.Mocks; using Umbraco.Core; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Tests.PublishedContent; using Umbraco.Tests.TestHelpers; using Umbraco.Web; @@ -79,7 +81,10 @@ namespace Umbraco.Tests.PublishedCache //ensure the StateHelper is using our custom context StateHelper.HttpContext = _httpContextFactory.HttpContext; - LegacyUmbracoSettings.UseLegacyXmlSchema = false; + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.Content.UseLegacyXmlSchema).Return(false); + SettingsForTests.ConfigureSettings(settings); + var cache = new PublishedContentCache { GetXmlDelegate = (context, preview) => @@ -101,7 +106,9 @@ namespace Umbraco.Tests.PublishedCache private void SetupForLegacy() { - Umbraco.Core.Configuration.LegacyUmbracoSettings.UseLegacyXmlSchema = true; + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.Content.UseLegacyXmlSchema).Return(true); + SettingsForTests.ConfigureSettings(settings); var cache = _umbracoContext.ContentCache.InnerCache as PublishedContentCache; if (cache == null) throw new Exception("Unsupported IPublishedContentCache, only the Xml one is supported."); @@ -117,7 +124,7 @@ namespace Umbraco.Tests.PublishedCache [TearDown] public void TearDown() { - LegacyUmbracoSettings.Reset(); + SettingsForTests.Reset(); } [Test] diff --git a/src/Umbraco.Tests/PublishedContent/LegacyExamineBackedMediaTests.cs b/src/Umbraco.Tests/PublishedContent/LegacyExamineBackedMediaTests.cs index f0fa1bc84f..d7fcb95767 100644 --- a/src/Umbraco.Tests/PublishedContent/LegacyExamineBackedMediaTests.cs +++ b/src/Umbraco.Tests/PublishedContent/LegacyExamineBackedMediaTests.cs @@ -4,7 +4,9 @@ using System.Linq; using Lucene.Net.Documents; using Lucene.Net.Store; using NUnit.Framework; +using Rhino.Mocks; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.UmbracoExamine; using umbraco.MacroEngines; @@ -16,8 +18,11 @@ namespace Umbraco.Tests.PublishedContent public override void TestSetup() { base.TestSetup(); - SettingsForTests.ForceSafeAliases = true; - SettingsForTests.UmbracoLibraryCacheDuration = 1800; + + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.Content.ForceSafeAliases).Return(true); + settings.Stub(x => x.Content.UmbracoLibraryCacheDuration).Return(1800); + SettingsForTests.ConfigureSettings(settings); } public override void TestTearDown() diff --git a/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs b/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs index 105bd6bddc..f292dc9082 100644 --- a/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs +++ b/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs @@ -26,7 +26,7 @@ namespace Umbraco.Tests.Publishing { base.Initialize(); - LegacyUmbracoSettings.SettingsFilePath = IOHelper.MapPath(SystemDirectories.Config + Path.DirectorySeparatorChar, false); + //LegacyUmbracoSettings.SettingsFilePath = IOHelper.MapPath(SystemDirectories.Config + Path.DirectorySeparatorChar, false); } [TearDown] diff --git a/src/Umbraco.Tests/Routing/NiceUrlProviderTests.cs b/src/Umbraco.Tests/Routing/NiceUrlProviderTests.cs index 55d2c92df8..2dc63db188 100644 --- a/src/Umbraco.Tests/Routing/NiceUrlProviderTests.cs +++ b/src/Umbraco.Tests/Routing/NiceUrlProviderTests.cs @@ -4,6 +4,8 @@ using System.Collections.Generic; using System.IO; using System.Linq; using NUnit.Framework; +using Rhino.Mocks; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Tests.TestHelpers; using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; @@ -30,7 +32,10 @@ namespace Umbraco.Tests.Routing var routingContext = GetRoutingContext("/test", 1111); SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; - SettingsForTests.AddTrailingSlash = false; // (cached routes have none) + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.AddTrailingSlash).Return(false);// (cached routes have none) + SettingsForTests.ConfigureSettings(settings); var samples = new Dictionary { { 1046, "/home" }, @@ -93,7 +98,10 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); var result = routingContext.UrlProvider.GetUrl(nodeId); Assert.AreEqual(niceUrlMatch, result); @@ -116,7 +124,10 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = true; - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); var result = routingContext.UrlProvider.GetUrl(nodeId); Assert.AreEqual(niceUrlMatch, result); @@ -130,13 +141,19 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); + Assert.AreEqual("/home/sub1/custom-sub-1/", routingContext.UrlProvider.GetUrl(1177)); - SettingsForTests.UseDomainPrefixes = true; + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(true); + SettingsForTests.ConfigureSettings(settings); Assert.AreEqual("http://example.com/home/sub1/custom-sub-1/", routingContext.UrlProvider.GetUrl(1177)); - SettingsForTests.UseDomainPrefixes = false; + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); routingContext.UrlProvider.Mode = UrlProviderMode.Absolute; Assert.AreEqual("http://example.com/home/sub1/custom-sub-1/", routingContext.UrlProvider.GetUrl(1177)); } @@ -149,13 +166,23 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); + Assert.AreEqual("#", routingContext.UrlProvider.GetUrl(999999)); - SettingsForTests.UseDomainPrefixes = true; - Assert.AreEqual("#", routingContext.UrlProvider.GetUrl(999999)); - SettingsForTests.UseDomainPrefixes = false; + + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(true); + SettingsForTests.ConfigureSettings(settings); + + Assert.AreEqual("#", routingContext.UrlProvider.GetUrl(999999)); + + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); routingContext.UrlProvider.Mode = UrlProviderMode.Absolute; - Assert.AreEqual("#", routingContext.UrlProvider.GetUrl(999999)); + + Assert.AreEqual("#", routingContext.UrlProvider.GetUrl(999999)); } } } \ No newline at end of file diff --git a/src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs b/src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs index b01fd43c55..7595a2dcf3 100644 --- a/src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs +++ b/src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs @@ -4,6 +4,8 @@ using System.Linq; using System.Text; using System.Configuration; using NUnit.Framework; +using Rhino.Mocks; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Tests.TestHelpers; using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; @@ -203,7 +205,10 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); InitializeLanguagesAndDomains(); SetDomains1(); @@ -232,7 +237,10 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); InitializeLanguagesAndDomains(); SetDomains2(); @@ -253,7 +261,10 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); InitializeLanguagesAndDomains(); SetDomains3(); @@ -280,7 +291,10 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); InitializeLanguagesAndDomains(); SetDomains4(); @@ -297,7 +311,10 @@ namespace Umbraco.Tests.Routing SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); InitializeLanguagesAndDomains(); SetDomains4(); @@ -362,16 +379,24 @@ namespace Umbraco.Tests.Routing InitializeLanguagesAndDomains(); SetDomains4(); - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); + Assert.AreEqual("/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111)); Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311)); - SettingsForTests.UseDomainPrefixes = true; + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(true); + SettingsForTests.ConfigureSettings(settings); + Assert.AreEqual("http://domain1.com/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111)); Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311)); - SettingsForTests.UseDomainPrefixes = false; + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); routingContext.UrlProvider.Mode = UrlProviderMode.Absolute; + Assert.AreEqual("http://domain1.com/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111)); Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311)); } diff --git a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs index 3dcb84eca3..77f49ae435 100644 --- a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs +++ b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; +using Rhino.Mocks; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Tests.TestHelpers; using Umbraco.Web.PublishedCache.XmlPublishedCache; using umbraco.cms.businesslogic.web; @@ -25,7 +27,10 @@ namespace Umbraco.Tests.Routing { SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(true); + SettingsForTests.ConfigureSettings(settings); InitializeLanguagesAndDomains(); SetDomains1(); diff --git a/src/Umbraco.Tests/Routing/uQueryGetNodeIdByUrlTests.cs b/src/Umbraco.Tests/Routing/uQueryGetNodeIdByUrlTests.cs index 24bc912f91..dd53d0773e 100644 --- a/src/Umbraco.Tests/Routing/uQueryGetNodeIdByUrlTests.cs +++ b/src/Umbraco.Tests/Routing/uQueryGetNodeIdByUrlTests.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; +using Rhino.Mocks; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Tests.Stubs; using Umbraco.Tests.TestHelpers; using System.Configuration; @@ -63,7 +65,10 @@ namespace Umbraco.Tests.Routing { SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); Assert.AreEqual(nodeId, global::umbraco.uQuery.GetNodeIdByUrl("http://example.com" + url)); } @@ -81,7 +86,10 @@ namespace Umbraco.Tests.Routing { SettingsForTests.UseDirectoryUrls = true; SettingsForTests.HideTopLevelNodeFromPath = false; - SettingsForTests.UseDomainPrefixes = false; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.UseDomainPrefixes).Return(false); + SettingsForTests.ConfigureSettings(settings); Assert.AreEqual(nodeId, global::umbraco.uQuery.GetNodeIdByUrl(url)); } diff --git a/src/Umbraco.Tests/Sync/ConfigServerRegistrarTests.cs b/src/Umbraco.Tests/Sync/ConfigServerRegistrarTests.cs deleted file mode 100644 index 9495c1af4c..0000000000 --- a/src/Umbraco.Tests/Sync/ConfigServerRegistrarTests.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System.Linq; -using System.Text; -using System.Xml; -using NUnit.Framework; -using Umbraco.Core.Sync; -using Umbraco.Tests.PartialTrust; - -namespace Umbraco.Tests.Sync -{ - [TestFixture] - public class ConfigServerRegistrarTests - { - - [TestCase("127.0.0.1", "http://127.0.0.1")] - [TestCase("www.somedomain.com", "https://www.somedomain.com")] - [TestCase("another.domain.com.au", "http://another.domain.com.au:888")] - [TestCase("another.domain.com.au", "https://another.domain.com.au:999")] - public void Ensure_Correct_Format(string xml, string match) - { - var xDoc = new XmlDocument(); - xDoc.LoadXml(xml); - var xNode = xDoc.FirstChild; - var cReg = new ConfigServerAddress(xNode); - - Assert.AreEqual(match + "/umbraco/webservices/cacheRefresher.asmx", cReg.ServerAddress); - } - - [Test] - public void Ensure_Parses_Config_Block() - { - var xDoc = new XmlDocument(); - xDoc.LoadXml(@" - 127.0.0.1 - www.somedomain.com - another.domain.com.au - another.domain.com.au -"); - var xNode = xDoc.FirstChild; - var cReg = new ConfigServerRegistrar(xNode); - - Assert.AreEqual(4, cReg.Registrations.Count()); - } - - } -} diff --git a/src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs b/src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs index 1f498d3dd1..b3ba8b8f35 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs @@ -1,8 +1,10 @@ using AutoMapper; using NUnit.Framework; +using Rhino.Mocks; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Models.Mapping; using Umbraco.Core.ObjectResolution; using Umbraco.Core.Persistence; @@ -11,6 +13,7 @@ using Umbraco.Core.PropertyEditors; using Umbraco.Core.Publishing; using Umbraco.Core.Services; using Umbraco.Web; +using ObjectExtensions = Umbraco.Core.ObjectExtensions; namespace Umbraco.Tests.TestHelpers { @@ -27,10 +30,12 @@ namespace Umbraco.Tests.TestHelpers TestHelper.SetupLog4NetForTests(); TestHelper.InitializeContentDirectories(); TestHelper.EnsureUmbracoSettingsConfig(); - - SettingsForTests.UseLegacyXmlSchema = false; - SettingsForTests.ForceSafeAliases = true; - SettingsForTests.UmbracoLibraryCacheDuration = 1800; + //mock the Umbraco settings that we need + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.Content.UseLegacyXmlSchema).Return(false); + settings.Stub(x => x.Content.ForceSafeAliases).Return(true); + settings.Stub(x => x.Content.UmbracoLibraryCacheDuration).Return(1800); + SettingsForTests.ConfigureSettings(settings); //Create the legacy prop-eds mapping LegacyPropertyEditorIdToAliasConverter.CreateMappingsForCoreEditors(); @@ -51,7 +56,7 @@ namespace Umbraco.Tests.TestHelpers TestHelper.CleanContentDirectories(); TestHelper.CleanUmbracoSettingsConfig(); //reset the app context, this should reset most things that require resetting like ALL resolvers - ApplicationContext.Current.DisposeIfDisposable(); + ObjectExtensions.DisposeIfDisposable(ApplicationContext.Current); ApplicationContext.Current = null; ResetPluginManager(); LegacyPropertyEditorIdToAliasConverter.Reset(); diff --git a/src/Umbraco.Tests/TestHelpers/SettingsForTests.cs b/src/Umbraco.Tests/TestHelpers/SettingsForTests.cs index ad5efc4b45..ba0ac64332 100644 --- a/src/Umbraco.Tests/TestHelpers/SettingsForTests.cs +++ b/src/Umbraco.Tests/TestHelpers/SettingsForTests.cs @@ -1,9 +1,13 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Configuration; +using Rhino.Mocks; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Tests.Configurations.UmbracoSettings; namespace Umbraco.Tests.TestHelpers { @@ -11,41 +15,92 @@ namespace Umbraco.Tests.TestHelpers { // umbracoSettings - public static int UmbracoLibraryCacheDuration + /// + /// Sets the umbraco settings singleton to the object specified + /// + /// + public static void ConfigureSettings(IUmbracoSettings settings) { - get { return LegacyUmbracoSettings.UmbracoLibraryCacheDuration; } - set { LegacyUmbracoSettings.UmbracoLibraryCacheDuration = value; } + UmbracoConfiguration.Current.UmbracoSettings = settings; } - public static bool UseLegacyXmlSchema - { - get { return LegacyUmbracoSettings.UseLegacyXmlSchema; } - set { LegacyUmbracoSettings.UseLegacyXmlSchema = value; } - } + ///// + ///// Returns generated settings which can be stubbed to return whatever values necessary + ///// + ///// + //public static IUmbracoSettings GetMockSettings() + //{ + // var settings = MockRepository.GenerateMock(); - public static bool AddTrailingSlash - { - get { return LegacyUmbracoSettings.AddTrailingSlash; } - set { LegacyUmbracoSettings.AddTrailingSlash = value; } - } + // var content = MockRepository.GenerateMock(); + // var security = MockRepository.GenerateMock(); + // var requestHandler = MockRepository.GenerateMock(); + // var templates = MockRepository.GenerateMock(); + // var dev = MockRepository.GenerateMock(); + // var viewStateMover = MockRepository.GenerateMock(); + // var logging = MockRepository.GenerateMock(); + // var tasks = MockRepository.GenerateMock(); + // var distCall = MockRepository.GenerateMock(); + // var repos = MockRepository.GenerateMock(); + // var providers = MockRepository.GenerateMock(); + // var help = MockRepository.GenerateMock(); + // var routing = MockRepository.GenerateMock(); + // var scripting = MockRepository.GenerateMock(); - public static bool UseDomainPrefixes - { - get { return LegacyUmbracoSettings.UseDomainPrefixes; } - set { LegacyUmbracoSettings.UseDomainPrefixes = value; } - } + // settings.Stub(x => x.Content).Return(content); + // settings.Stub(x => x.Security).Return(security); + // settings.Stub(x => x.RequestHandler).Return(requestHandler); + // settings.Stub(x => x.Templates).Return(templates); + // settings.Stub(x => x.Developer).Return(dev); + // settings.Stub(x => x.ViewstateMoverModule).Return(viewStateMover); + // settings.Stub(x => x.Logging).Return(logging); + // settings.Stub(x => x.ScheduledTasks).Return(tasks); + // settings.Stub(x => x.DistributedCall).Return(distCall); + // settings.Stub(x => x.PackageRepositories).Return(repos); + // settings.Stub(x => x.Providers).Return(providers); + // settings.Stub(x => x.Help).Return(help); + // settings.Stub(x => x.WebRouting).Return(routing); + // settings.Stub(x => x.Scripting).Return(scripting); - public static string SettingsFilePath - { - get { return LegacyUmbracoSettings.SettingsFilePath; } - set { LegacyUmbracoSettings.SettingsFilePath = value; } - } + // return settings; + //} - public static bool ForceSafeAliases - { - get { return LegacyUmbracoSettings.ForceSafeAliases; } - set { LegacyUmbracoSettings.ForceSafeAliases = value; } - } + + //public static int UmbracoLibraryCacheDuration + //{ + // get { return LegacyUmbracoSettings.UmbracoLibraryCacheDuration; } + // set { LegacyUmbracoSettings.UmbracoLibraryCacheDuration = value; } + //} + + //public static bool UseLegacyXmlSchema + //{ + // get { return LegacyUmbracoSettings.UseLegacyXmlSchema; } + // set { LegacyUmbracoSettings.UseLegacyXmlSchema = value; } + //} + + //public static bool AddTrailingSlash + //{ + // get { return LegacyUmbracoSettings.AddTrailingSlash; } + // set { LegacyUmbracoSettings.AddTrailingSlash = value; } + //} + + //public static bool UseDomainPrefixes + //{ + // get { return LegacyUmbracoSettings.UseDomainPrefixes; } + // set { LegacyUmbracoSettings.UseDomainPrefixes = value; } + //} + + //public static string SettingsFilePath + //{ + // get { return LegacyUmbracoSettings.SettingsFilePath; } + // set { LegacyUmbracoSettings.SettingsFilePath = value; } + //} + + //public static bool ForceSafeAliases + //{ + // get { return LegacyUmbracoSettings.ForceSafeAliases; } + // set { LegacyUmbracoSettings.ForceSafeAliases = value; } + //} // from appSettings @@ -111,7 +166,7 @@ namespace Umbraco.Tests.TestHelpers public static void Reset() { - LegacyUmbracoSettings.Reset(); + ResetUmbracoSettings(); GlobalSettings.Reset(); foreach (var kvp in SavedAppSettings) @@ -121,5 +176,23 @@ namespace Umbraco.Tests.TestHelpers // this is annoying, really HideTopLevelNodeFromPath = false; } + + /// + /// This sets all settings back to default settings + /// + private static void ResetUmbracoSettings() + { + ConfigureSettings(GetDefault()); + } + + internal static IUmbracoSettings GetDefault() + { + var config = new FileInfo(TestHelper.MapPathForTest("~/Configurations/UmbracoSettings/web.config")); + + var fileMap = new ExeConfigurationFileMap() { ExeConfigFilename = config.FullName }; + var configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); + + return configuration.GetSection("umbracoConfiguration/defaultSettings") as UmbracoSettingsSection; + } } } diff --git a/src/Umbraco.Tests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests/TestHelpers/TestHelper.cs index e1a6d6ad5e..29c096a4c9 100644 --- a/src/Umbraco.Tests/TestHelpers/TestHelper.cs +++ b/src/Umbraco.Tests/TestHelpers/TestHelper.cs @@ -113,8 +113,7 @@ namespace Umbraco.Tests.TestHelpers } } - - public static void EnsureUmbracoSettingsConfig() + public static void EnsureUmbracoSettingsConfig() { var currDir = new DirectoryInfo(CurrentAssemblyDirectory); @@ -131,8 +130,8 @@ namespace Umbraco.Tests.TestHelpers .GetFiles("umbracoSettings.Release.config").First().FullName, Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), true); - - Core.Configuration.LegacyUmbracoSettings.SettingsFilePath = IOHelper.MapPath(SystemDirectories.Config + Path.DirectorySeparatorChar, false); + + //Core.Configuration.LegacyUmbracoSettings.SettingsFilePath = IOHelper.MapPath(SystemDirectories.Config + Path.DirectorySeparatorChar, false); } public static void CleanUmbracoSettingsConfig() diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 3c9c6b747e..a3530e9792 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -203,16 +203,9 @@ + - - - - - - - - @@ -398,7 +391,6 @@ - diff --git a/src/Umbraco.Tests/UriUtilityTests.cs b/src/Umbraco.Tests/UriUtilityTests.cs index 39f0d2e828..0a20fcacf5 100644 --- a/src/Umbraco.Tests/UriUtilityTests.cs +++ b/src/Umbraco.Tests/UriUtilityTests.cs @@ -1,7 +1,10 @@ using System; using System.Configuration; using NUnit.Framework; +using Rhino.Mocks; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Tests.TestHelpers; using Umbraco.Web; namespace Umbraco.Tests @@ -15,7 +18,7 @@ namespace Umbraco.Tests [TearDown] public void TearDown() { - LegacyUmbracoSettings.Reset(); + SettingsForTests.Reset(); } // test normal urls @@ -83,8 +86,12 @@ namespace Umbraco.Tests public void Uri_From_Umbraco(string sourceUrl, string expectedUrl, bool directoryUrls, bool trailingSlash) { ConfigurationManager.AppSettings.Set("umbracoUseDirectoryUrls", directoryUrls ? "true" : "false"); - Umbraco.Core.Configuration.LegacyUmbracoSettings.AddTrailingSlash = trailingSlash; - UriUtility.SetAppDomainAppVirtualPath("/"); + + var settings = MockRepository.GenerateStub(); + settings.Stub(x => x.RequestHandler.AddTrailingSlash).Return(trailingSlash); + SettingsForTests.ConfigureSettings(settings); + + UriUtility.SetAppDomainAppVirtualPath("/"); var expectedUri = NewUri(expectedUrl); var sourceUri = NewUri(sourceUrl); diff --git a/src/Umbraco.Tests/XmlHelperTests.cs b/src/Umbraco.Tests/XmlHelperTests.cs index 8309e02f2f..dfb7abc46f 100644 --- a/src/Umbraco.Tests/XmlHelperTests.cs +++ b/src/Umbraco.Tests/XmlHelperTests.cs @@ -8,6 +8,7 @@ using System.Xml.Linq; using System.Xml.XPath; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Configuration; using Umbraco.Tests.TestHelpers; using umbraco; diff --git a/src/Umbraco.Web.UI/web.Template.Debug.config b/src/Umbraco.Web.UI/web.Template.Debug.config index 8d898065ef..74226da91a 100644 --- a/src/Umbraco.Web.UI/web.Template.Debug.config +++ b/src/Umbraco.Web.UI/web.Template.Debug.config @@ -21,9 +21,12 @@
+
+
+
diff --git a/src/Umbraco.Web/Editors/BackOfficeController.cs b/src/Umbraco.Web/Editors/BackOfficeController.cs index 6e1e8a4624..d71f3dd006 100644 --- a/src/Umbraco.Web/Editors/BackOfficeController.cs +++ b/src/Umbraco.Web/Editors/BackOfficeController.cs @@ -72,7 +72,7 @@ namespace Umbraco.Web.Editors { {"umbracoPath", GlobalSettings.Path}, {"imageFileTypes", - string.Join(",",UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageFileTypes)}, + string.Join(",",UmbracoConfiguration.Current.UmbracoSettings.Content.ImageFileTypes)}, } }, { "isDebuggingEnabled", HttpContext.IsDebuggingEnabled } diff --git a/src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs index 656c37f939..623d2b5df4 100644 --- a/src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs +++ b/src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs @@ -70,7 +70,7 @@ namespace Umbraco.Web.PropertyEditors foreach (var p in model.Properties) { var uploadFieldConfigNode = - UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties + UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties .FirstOrDefault(x => x.Alias == p.Alias); if (uploadFieldConfigNode != null) diff --git a/src/Umbraco.Web/Routing/UrlProvider.cs b/src/Umbraco.Web/Routing/UrlProvider.cs index b8f7eeec12..50c62497ca 100644 --- a/src/Umbraco.Web/Routing/UrlProvider.cs +++ b/src/Umbraco.Web/Routing/UrlProvider.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Web.PublishedCache; using Umbraco.Core; @@ -26,6 +27,12 @@ namespace Umbraco.Web.Routing var provider = UrlProviderMode.Auto; Mode = provider; + + //if (Enum.TryParse(UmbracoConfiguration.For(), out provider)) + //{ + + //} + if (Enum.TryParse(UmbracoConfiguration.Current.UmbracoSettings.WebRouting.UrlProviderMode, out provider)) { Mode = provider; diff --git a/src/Umbraco.Web/Strategies/DataTypes/LegacyUploadFieldWorkaround.cs b/src/Umbraco.Web/Strategies/DataTypes/LegacyUploadFieldWorkaround.cs index 698faedd4e..e814726a08 100644 --- a/src/Umbraco.Web/Strategies/DataTypes/LegacyUploadFieldWorkaround.cs +++ b/src/Umbraco.Web/Strategies/DataTypes/LegacyUploadFieldWorkaround.cs @@ -27,7 +27,7 @@ namespace Umbraco.Web.Strategies.DataTypes void DocumentBeforeSave(global::umbraco.cms.businesslogic.web.Document sender, global::umbraco.cms.businesslogic.SaveEventArgs e) { - if (UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties.Any()) + if (UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties.Any()) { var property = sender.GenericProperties.FirstOrDefault(x => x.PropertyType.DataTypeDefinition.DataType.Id == new Guid(Constants.PropertyEditors.UploadField)); if (property == null) @@ -40,7 +40,7 @@ namespace Umbraco.Web.Strategies.DataTypes void MediaBeforeSave(global::umbraco.cms.businesslogic.media.Media sender, global::umbraco.cms.businesslogic.SaveEventArgs e) { - if (UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties.Any()) + if (UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties.Any()) { var property = sender.GenericProperties.FirstOrDefault(x => x.PropertyType.DataTypeDefinition.DataType.Id == new Guid(Constants.PropertyEditors.UploadField)); if (property == null) @@ -53,7 +53,7 @@ namespace Umbraco.Web.Strategies.DataTypes private void FillProperties(global::umbraco.cms.businesslogic.Content content, global::umbraco.cms.businesslogic.property.Property property) { - var uploadFieldConfigNode = UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties + var uploadFieldConfigNode = UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties .FirstOrDefault(x => x.Alias == property.PropertyType.Alias); if (uploadFieldConfigNode != null) @@ -77,7 +77,7 @@ namespace Umbraco.Web.Strategies.DataTypes ? fileSystem.GetExtension(path).Substring(1).ToLowerInvariant() : ""; - var isImageType = UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageFileTypes.InvariantContains(extension); + var isImageType = UmbracoConfiguration.Current.UmbracoSettings.Content.ImageFileTypes.InvariantContains(extension); var dimensions = isImageType ? GetDimensions(path, fileSystem) : null; diff --git a/src/Umbraco.Web/umbraco.presentation/library.cs b/src/Umbraco.Web/umbraco.presentation/library.cs index 02da9b59aa..abfe246202 100644 --- a/src/Umbraco.Web/umbraco.presentation/library.cs +++ b/src/Umbraco.Web/umbraco.presentation/library.cs @@ -1867,7 +1867,7 @@ namespace umbraco internal static string GetCurrentNotFoundPageId() { //XmlNode error404Node = UmbracoSettings.GetKeyAsNode("/settings/content/errors/error404"); - if (UmbracoConfiguration.Current.UmbracoSettings.Content.Errors.Error404Collection.Count() > 1) + if (UmbracoConfiguration.Current.UmbracoSettings.Content.Error404Collection.Count() > 1) { // try to get the 404 based on current culture (via domain) IContentErrorPage cultureErr; @@ -1876,7 +1876,7 @@ namespace umbraco var d = Domain.GetDomain(HttpContext.Current.Request.ServerVariables["SERVER_NAME"]); // test if a 404 page exists with current culture - cultureErr = UmbracoConfiguration.Current.UmbracoSettings.Content.Errors.Error404Collection + cultureErr = UmbracoConfiguration.Current.UmbracoSettings.Content.Error404Collection .FirstOrDefault(x => x.Culture == d.Language.CultureAlias); if (cultureErr != null) @@ -1887,7 +1887,7 @@ namespace umbraco } // test if a 404 page exists with current culture thread - cultureErr = UmbracoConfiguration.Current.UmbracoSettings.Content.Errors.Error404Collection + cultureErr = UmbracoConfiguration.Current.UmbracoSettings.Content.Error404Collection .FirstOrDefault(x => x.Culture == System.Threading.Thread.CurrentThread.CurrentUICulture.Name); if (cultureErr != null) { @@ -1895,7 +1895,7 @@ namespace umbraco } // there should be a default one! - cultureErr = UmbracoConfiguration.Current.UmbracoSettings.Content.Errors.Error404Collection + cultureErr = UmbracoConfiguration.Current.UmbracoSettings.Content.Error404Collection .FirstOrDefault(x => x.Culture == "default"); if (cultureErr != null) { @@ -1905,7 +1905,7 @@ namespace umbraco else { - return UmbracoConfiguration.Current.UmbracoSettings.Content.Errors.Error404Collection.First().ContentId.ToInvariantString(); + return UmbracoConfiguration.Current.UmbracoSettings.Content.Error404Collection.First().ContentId.ToInvariantString(); } return ""; diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/create/MediaTypeTasks.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/create/MediaTypeTasks.cs index f587d21e7a..332657e9e4 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/create/MediaTypeTasks.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/create/MediaTypeTasks.cs @@ -12,7 +12,7 @@ namespace umbraco { var mediaType = cms.businesslogic.media.MediaType.MakeNew(User, Alias.Replace("'", "''")); - mediaType.IconUrl = UmbracoConfiguration.Current.UmbracoSettings.Content == IconPickerBehaviour.HideFileDuplicates ? ".sprTreeFolder" : "folder.gif"; + mediaType.IconUrl = UmbracoConfiguration.Current.UmbracoSettings.Content.IconPickerBehaviour == IconPickerBehaviour.HideFileDuplicates ? ".sprTreeFolder" : "folder.gif"; if (ParentID != -1) { diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/create/script.ascx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/create/script.ascx.cs index 40d0542347..7bf05d159f 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/create/script.ascx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/create/script.ascx.cs @@ -75,7 +75,7 @@ namespace umbraco.presentation.umbraco.create this.sbmt.Click += new System.EventHandler(this.sbmt_Click); this.Load += new System.EventHandler(this.Page_Load); - string[] fileTypes = UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditor.ScriptFileTypes.ToArray(); + string[] fileTypes = UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptFileTypes.ToArray(); scriptType.Items.Add(new ListItem(ui.Text("folder"), "")); scriptType.Items.FindByText(ui.Text("folder")).Selected = true; diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/settings/scripts/editScript.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/settings/scripts/editScript.aspx.cs index 0e84032a09..dae8ad16d6 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/settings/scripts/editScript.aspx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/settings/scripts/editScript.aspx.cs @@ -57,7 +57,7 @@ namespace umbraco.cms.presentation.settings.scripts lttPath.Text = "" + path + ""; - var exts = UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditor.ScriptFileTypes.ToList(); + var exts = UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptFileTypes.ToList(); if (UmbracoConfiguration.Current.UmbracoSettings.Templates.DefaultRenderingEngine == RenderingEngine.Mvc) { exts.Add("cshtml"); diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/codeEditorSave.asmx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/codeEditorSave.asmx.cs index 16011577bd..3f820c1aa4 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/codeEditorSave.asmx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/codeEditorSave.asmx.cs @@ -380,7 +380,7 @@ namespace umbraco.presentation.webservices SystemDirectories.Scripts); // validate extension IOHelper.ValidateFileExtension(IOHelper.MapPath(SystemDirectories.Scripts + "/" + filename), - UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditor.ScriptFileTypes.ToList()); + UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptFileTypes.ToList()); var val = contents; diff --git a/src/umbraco.businesslogic/UmbracoSettings.cs b/src/umbraco.businesslogic/UmbracoSettings.cs index f1480efd85..c2a2c0f12a 100644 --- a/src/umbraco.businesslogic/UmbracoSettings.cs +++ b/src/umbraco.businesslogic/UmbracoSettings.cs @@ -278,7 +278,7 @@ namespace umbraco /// The allowed image file types. public static string ImageFileTypes { - get { return string.Join(",", UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageFileTypes.Select(x => x.ToLowerInvariant())); } + get { return string.Join(",", UmbracoConfiguration.Current.UmbracoSettings.Content.ImageFileTypes.Select(x => x.ToLowerInvariant())); } } /// @@ -287,7 +287,7 @@ namespace umbraco /// The allowed script file types. public static string ScriptFileTypes { - get { return string.Join(",", UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditor.ScriptFileTypes); } + get { return string.Join(",", UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptFileTypes); } } /// @@ -305,7 +305,7 @@ namespace umbraco /// The script folder path. public static string ScriptFolderPath { - get { return UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditor.ScriptFolderPath; } + get { return UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptFolderPath; } } /// @@ -313,7 +313,7 @@ namespace umbraco /// public static bool ScriptDisableEditor { - get { return UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditor.DisableScriptEditor; } + get { return UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditorDisable; } } /// @@ -333,7 +333,7 @@ namespace umbraco /// The notification email sender. public static string NotificationEmailSender { - get { return UmbracoConfiguration.Current.UmbracoSettings.Content.Notifications.EmailAddress; } + get { return UmbracoConfiguration.Current.UmbracoSettings.Content.NotificationEmailAddress; } } /// @@ -344,7 +344,7 @@ namespace umbraco /// public static bool NotificationDisableHtmlEmail { - get { return UmbracoConfiguration.Current.UmbracoSettings.Content.Notifications.DisableHtmlEmail; } + get { return UmbracoConfiguration.Current.UmbracoSettings.Content.DisableHtmlEmail; } } /// @@ -353,7 +353,7 @@ namespace umbraco /// The allowed attributes on images. public static string ImageAllowedAttributes { - get { return string.Join(",", UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.AllowedAttributes); } + get { return string.Join(",", UmbracoConfiguration.Current.UmbracoSettings.Content.ImageTagAllowedAttributes); } } public static XmlNode ImageAutoFillImageProperties diff --git a/src/umbraco.cms/businesslogic/datatype/FileHandlerData.cs b/src/umbraco.cms/businesslogic/datatype/FileHandlerData.cs index 429c263011..555d9efe34 100644 --- a/src/umbraco.cms/businesslogic/datatype/FileHandlerData.cs +++ b/src/umbraco.cms/businesslogic/datatype/FileHandlerData.cs @@ -103,10 +103,10 @@ namespace umbraco.cms.businesslogic.datatype } // check for auto fill of other properties (width, height, extension and filesize) - if (UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties.Any()) + if (UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties.Any()) { var uploadFieldConfigNode = - UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties.FirstOrDefault(x => x.Alias == PropertyTypeAlias); + UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties.FirstOrDefault(x => x.Alias == PropertyTypeAlias); if (uploadFieldConfigNode != null) { @@ -139,10 +139,10 @@ namespace umbraco.cms.businesslogic.datatype if (PropertyId == default(int)) return; - if (UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties.Any()) + if (UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties.Any()) { var uploadFieldConfigNode = - UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.ImageAutoFillProperties.FirstOrDefault(x => x.Alias == PropertyTypeAlias); + UmbracoConfiguration.Current.UmbracoSettings.Content.ImageAutoFillProperties.FirstOrDefault(x => x.Alias == PropertyTypeAlias); if (uploadFieldConfigNode != null) { // get the current document diff --git a/src/umbraco.cms/businesslogic/workflow/Notification.cs b/src/umbraco.cms/businesslogic/workflow/Notification.cs index 594d2eb9de..837ff3da01 100644 --- a/src/umbraco.cms/businesslogic/workflow/Notification.cs +++ b/src/umbraco.cms/businesslogic/workflow/Notification.cs @@ -158,11 +158,11 @@ namespace umbraco.cms.businesslogic.workflow }; // create the mail message - var mail = new MailMessage(UmbracoConfiguration.Current.UmbracoSettings.Content.Notifications.EmailAddress, mailingUser.Email); + var mail = new MailMessage(UmbracoConfiguration.Current.UmbracoSettings.Content.NotificationEmailAddress, mailingUser.Email); // populate the message mail.Subject = ui.Text("notifications", "mailSubject", subjectVars, mailingUser); - if (UmbracoConfiguration.Current.UmbracoSettings.Content.Notifications.DisableHtmlEmail) + if (UmbracoConfiguration.Current.UmbracoSettings.Content.DisableHtmlEmail) { mail.IsBodyHtml = false; mail.Body = ui.Text("notifications", "mailBody", bodyVars, mailingUser); diff --git a/src/umbraco.controls/CodeArea.cs b/src/umbraco.controls/CodeArea.cs index ed751bdc39..cbad1a14d8 100644 --- a/src/umbraco.controls/CodeArea.cs +++ b/src/umbraco.controls/CodeArea.cs @@ -58,7 +58,7 @@ namespace umbraco.uicontrols { get { - return UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditor.DisableScriptEditor == false; + return UmbracoConfiguration.Current.UmbracoSettings.Content.ScriptEditorDisable == false; } } diff --git a/src/umbraco.editorControls/tinymce/tinyMCEImageHelper.cs b/src/umbraco.editorControls/tinymce/tinyMCEImageHelper.cs index e1015cbd3b..5072726efc 100644 --- a/src/umbraco.editorControls/tinymce/tinyMCEImageHelper.cs +++ b/src/umbraco.editorControls/tinymce/tinyMCEImageHelper.cs @@ -14,7 +14,7 @@ namespace umbraco.editorControls.tinymce { public static string cleanImages(string html) { - var allowedAttributes = UmbracoConfiguration.Current.UmbracoSettings.Content.Imaging.AllowedAttributes.Select(x => x.ToLower()).ToList(); + var allowedAttributes = UmbracoConfiguration.Current.UmbracoSettings.Content.ImageTagAllowedAttributes.Select(x => x.ToLower()).ToList(); //Always add src as it's essential to output any image at all if (allowedAttributes.Contains("src") == false)