diff --git a/src/Umbraco.Abstractions/StringExtensions.cs b/src/Umbraco.Abstractions/StringExtensions.cs index f41091a058..9589303222 100644 --- a/src/Umbraco.Abstractions/StringExtensions.cs +++ b/src/Umbraco.Abstractions/StringExtensions.cs @@ -1326,5 +1326,90 @@ namespace Umbraco.Core { return shortStringHelper.CleanStringForSafeAlias(alias, culture); } + + + // the new methods to get a url segment + + /// + /// Cleans a string to produce a string that can safely be used in an url segment. + /// + /// The text to filter. + /// The safe url segment. + public static string ToUrlSegment(this string text, IShortStringHelper shortStringHelper) + { + if (text == null) throw new ArgumentNullException(nameof(text)); + if (string.IsNullOrWhiteSpace(text)) throw new ArgumentException("Value can't be empty or consist only of white-space characters.", nameof(text)); + + return shortStringHelper.CleanStringForUrlSegment(text); + } + + /// + /// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an url segment. + /// + /// The text to filter. + /// The culture. + /// The safe url segment. + public static string ToUrlSegment(this string text, IShortStringHelper shortStringHelper, string culture) + { + if (text == null) throw new ArgumentNullException(nameof(text)); + if (string.IsNullOrWhiteSpace(text)) throw new ArgumentException("Value can't be empty or consist only of white-space characters.", nameof(text)); + + return shortStringHelper.CleanStringForUrlSegment(text, culture); + } + + + /// + /// Cleans a string. + /// + /// The text to clean. + /// A flag indicating the target casing and encoding of the string. By default, + /// strings are cleaned up to camelCase and Ascii. + /// The clean string. + /// The string is cleaned in the context of the ICurrent.ShortStringHelper default culture. + public static string ToCleanString(this string text, IShortStringHelper shortStringHelper, CleanStringType stringType) + { + return shortStringHelper.CleanString(text, stringType); + } + + /// + /// Cleans a string, using a specified separator. + /// + /// The text to clean. + /// A flag indicating the target casing and encoding of the string. By default, + /// strings are cleaned up to camelCase and Ascii. + /// The separator. + /// The clean string. + /// The string is cleaned in the context of the ICurrent.ShortStringHelper default culture. + public static string ToCleanString(this string text, IShortStringHelper shortStringHelper, CleanStringType stringType, char separator) + { + return shortStringHelper.CleanString(text, stringType, separator); + } + + /// + /// Cleans a string in the context of a specified culture. + /// + /// The text to clean. + /// A flag indicating the target casing and encoding of the string. By default, + /// strings are cleaned up to camelCase and Ascii. + /// The culture. + /// The clean string. + public static string ToCleanString(this string text, IShortStringHelper shortStringHelper, CleanStringType stringType, string culture) + { + return shortStringHelper.CleanString(text, stringType, culture); + } + + /// + /// Cleans a string in the context of a specified culture, using a specified separator. + /// + /// The text to clean. + /// A flag indicating the target casing and encoding of the string. By default, + /// strings are cleaned up to camelCase and Ascii. + /// The separator. + /// The culture. + /// The clean string. + public static string ToCleanString(this string text, IShortStringHelper shortStringHelper, CleanStringType stringType, char separator, string culture) + { + return shortStringHelper.CleanString(text, stringType, separator, culture); + } } } diff --git a/src/Umbraco.Core/Strings/DefaultUrlSegmentProvider.cs b/src/Umbraco.Abstractions/Strings/DefaultUrlSegmentProvider.cs similarity index 81% rename from src/Umbraco.Core/Strings/DefaultUrlSegmentProvider.cs rename to src/Umbraco.Abstractions/Strings/DefaultUrlSegmentProvider.cs index 9472ff4823..bb4a2648b8 100644 --- a/src/Umbraco.Core/Strings/DefaultUrlSegmentProvider.cs +++ b/src/Umbraco.Abstractions/Strings/DefaultUrlSegmentProvider.cs @@ -7,6 +7,13 @@ namespace Umbraco.Core.Strings /// public class DefaultUrlSegmentProvider : IUrlSegmentProvider { + private readonly IShortStringHelper _shortStringHelper; + + public DefaultUrlSegmentProvider(IShortStringHelper shortStringHelper) + { + _shortStringHelper = shortStringHelper; + } + /// /// Gets the url segment for a specified content and culture. /// @@ -15,7 +22,7 @@ namespace Umbraco.Core.Strings /// The url segment. public string GetUrlSegment(IContentBase content, string culture = null) { - return GetUrlSegmentSource(content, culture).ToUrlSegment(culture); + return GetUrlSegmentSource(content, culture).ToUrlSegment(_shortStringHelper, culture); } private static string GetUrlSegmentSource(IContentBase content, string culture) diff --git a/src/Umbraco.Core/Compose/AuditEventsComponent.cs b/src/Umbraco.Core/Compose/AuditEventsComponent.cs index 8913addb24..21f3dd2037 100644 --- a/src/Umbraco.Core/Compose/AuditEventsComponent.cs +++ b/src/Umbraco.Core/Compose/AuditEventsComponent.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Text; using System.Threading; using Umbraco.Core.Composing; +using Umbraco.Core.Configuration; using Umbraco.Core.Events; using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; @@ -19,13 +20,15 @@ namespace Umbraco.Core.Compose private readonly IUserService _userService; private readonly IEntityService _entityService; private readonly IIpResolver _ipResolver; + private readonly IGlobalSettings _globalSettings; - public AuditEventsComponent(IAuditService auditService, IUserService userService, IEntityService entityService, IIpResolver ipResolver) + public AuditEventsComponent(IAuditService auditService, IUserService userService, IEntityService entityService, IIpResolver ipResolver, IGlobalSettings globalSettings) { _auditService = auditService; _userService = userService; _entityService = entityService; _ipResolver = ipResolver; + _globalSettings = globalSettings; } public void Initialize() @@ -46,7 +49,7 @@ namespace Umbraco.Core.Compose public void Terminate() { } - public static IUser UnknownUser => new User { Id = Constants.Security.UnknownUserId, Name = Constants.Security.UnknownUserName, Email = "" }; + public static IUser UnknownUser(IGlobalSettings globalSettings) => new User(globalSettings) { Id = Constants.Security.UnknownUserId, Name = Constants.Security.UnknownUserName, Email = "" }; private IUser CurrentPerformingUser { @@ -54,14 +57,14 @@ namespace Umbraco.Core.Compose { var identity = Thread.CurrentPrincipal?.GetUmbracoIdentity(); var user = identity == null ? null : _userService.GetUserById(Convert.ToInt32(identity.Id)); - return user ?? UnknownUser; + return user ?? UnknownUser(_globalSettings); } } private IUser GetPerformingUser(int userId) { var found = userId >= 0 ? _userService.GetUserById(userId) : null; - return found ?? UnknownUser; + return found ?? UnknownUser(_globalSettings); } private string PerformingIp => _ipResolver.GetCurrentRequestIpAddress(); diff --git a/src/Umbraco.Core/ConventionsHelper.cs b/src/Umbraco.Core/ConventionsHelper.cs index 5959ee2da5..d4b784875b 100644 --- a/src/Umbraco.Core/ConventionsHelper.cs +++ b/src/Umbraco.Core/ConventionsHelper.cs @@ -1,16 +1,17 @@ using System.Collections.Generic; using Umbraco.Core.Models; +using Umbraco.Core.Strings; namespace Umbraco.Core { public static class ConventionsHelper { - public static Dictionary GetStandardPropertyTypeStubs() => + public static Dictionary GetStandardPropertyTypeStubs(IShortStringHelper shortStringHelper) => new Dictionary { { Constants.Conventions.Member.Comments, - new PropertyType(Constants.PropertyEditors.Aliases.TextArea, ValueStorageType.Ntext, true, + new PropertyType(shortStringHelper, Constants.PropertyEditors.Aliases.TextArea, ValueStorageType.Ntext, true, Constants.Conventions.Member.Comments) { Name = Constants.Conventions.Member.CommentsLabel @@ -18,7 +19,7 @@ namespace Umbraco.Core }, { Constants.Conventions.Member.FailedPasswordAttempts, - new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Integer, true, + new PropertyType(shortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Integer, true, Constants.Conventions.Member.FailedPasswordAttempts) { Name = Constants.Conventions.Member.FailedPasswordAttemptsLabel, @@ -27,7 +28,7 @@ namespace Umbraco.Core }, { Constants.Conventions.Member.IsApproved, - new PropertyType(Constants.PropertyEditors.Aliases.Boolean, ValueStorageType.Integer, true, + new PropertyType(shortStringHelper, Constants.PropertyEditors.Aliases.Boolean, ValueStorageType.Integer, true, Constants.Conventions.Member.IsApproved) { Name = Constants.Conventions.Member.IsApprovedLabel @@ -35,7 +36,7 @@ namespace Umbraco.Core }, { Constants.Conventions.Member.IsLockedOut, - new PropertyType(Constants.PropertyEditors.Aliases.Boolean, ValueStorageType.Integer, true, + new PropertyType(shortStringHelper, Constants.PropertyEditors.Aliases.Boolean, ValueStorageType.Integer, true, Constants.Conventions.Member.IsLockedOut) { Name = Constants.Conventions.Member.IsLockedOutLabel @@ -43,7 +44,7 @@ namespace Umbraco.Core }, { Constants.Conventions.Member.LastLockoutDate, - new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Date, true, + new PropertyType(shortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Date, true, Constants.Conventions.Member.LastLockoutDate) { Name = Constants.Conventions.Member.LastLockoutDateLabel, @@ -52,7 +53,7 @@ namespace Umbraco.Core }, { Constants.Conventions.Member.LastLoginDate, - new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Date, true, + new PropertyType(shortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Date, true, Constants.Conventions.Member.LastLoginDate) { Name = Constants.Conventions.Member.LastLoginDateLabel, @@ -61,7 +62,7 @@ namespace Umbraco.Core }, { Constants.Conventions.Member.LastPasswordChangeDate, - new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Date, true, + new PropertyType(shortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Date, true, Constants.Conventions.Member.LastPasswordChangeDate) { Name = Constants.Conventions.Member.LastPasswordChangeDateLabel, diff --git a/src/Umbraco.Core/Packaging/PackageDataInstallation.cs b/src/Umbraco.Core/Packaging/PackageDataInstallation.cs index 10e14ebfe9..1e54be8ad5 100644 --- a/src/Umbraco.Core/Packaging/PackageDataInstallation.cs +++ b/src/Umbraco.Core/Packaging/PackageDataInstallation.cs @@ -6,6 +6,7 @@ using System.Net; using System.Xml.Linq; using System.Xml.XPath; using Umbraco.Core.Collections; +using Umbraco.Core.Configuration; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Entities; @@ -28,13 +29,14 @@ namespace Umbraco.Core.Packaging private readonly PropertyEditorCollection _propertyEditors; private readonly IScopeProvider _scopeProvider; private readonly IShortStringHelper _shortStringHelper; + private readonly IGlobalSettings _globalSettings; private readonly IEntityService _entityService; private readonly IContentTypeService _contentTypeService; private readonly IContentService _contentService; public PackageDataInstallation(ILogger logger, IFileService fileService, IMacroService macroService, ILocalizationService localizationService, IDataTypeService dataTypeService, IEntityService entityService, IContentTypeService contentTypeService, - IContentService contentService, PropertyEditorCollection propertyEditors, IScopeProvider scopeProvider, IShortStringHelper shortStringHelper) + IContentService contentService, PropertyEditorCollection propertyEditors, IScopeProvider scopeProvider, IShortStringHelper shortStringHelper, IGlobalSettings globalSettings) { _logger = logger; _fileService = fileService; @@ -44,6 +46,7 @@ namespace Umbraco.Core.Packaging _propertyEditors = propertyEditors; _scopeProvider = scopeProvider; _shortStringHelper = shortStringHelper; + _globalSettings = globalSettings; _entityService = entityService; _contentTypeService = contentTypeService; _contentService = contentService; @@ -590,8 +593,8 @@ namespace Umbraco.Core.Packaging var alias = infoElement.Element("Alias").Value; var contentType = parent == null - ? new ContentType(-1) { Alias = alias } - : new ContentType(parent, alias); + ? new ContentType(_shortStringHelper, -1) { Alias = alias } + : new ContentType(_shortStringHelper, parent, alias); if (parent != null) contentType.AddContentType(parent); @@ -781,7 +784,7 @@ namespace Umbraco.Core.Packaging var sortOrderElement = property.Element("SortOrder"); if (sortOrderElement != null) int.TryParse(sortOrderElement.Value, out sortOrder); - var propertyType = new PropertyType(dataTypeDefinition, property.Element("Alias").Value) + var propertyType = new PropertyType(_shortStringHelper, dataTypeDefinition, property.Element("Alias").Value) { Name = property.Element("Name").Value, Description = (string)property.Element("Description"), @@ -1086,7 +1089,7 @@ namespace Umbraco.Core.Packaging var isoCode = languageElement.AttributeValue("CultureAlias"); var existingLanguage = _localizationService.GetLanguageByIsoCode(isoCode); if (existingLanguage != null) continue; - var langauge = new Language(isoCode) + var langauge = new Language(_globalSettings, isoCode) { CultureName = languageElement.AttributeValue("FriendlyName") }; @@ -1163,7 +1166,7 @@ namespace Umbraco.Core.Packaging } var existingMacro = _macroService.GetByAlias(macroAlias) as Macro; - var macro = existingMacro ?? new Macro(macroAlias, macroName, macroSource, macroType, + var macro = existingMacro ?? new Macro(_shortStringHelper, macroAlias, macroName, macroSource, macroType, cacheByPage, cacheByMember, dontRender, useInEditor, cacheDuration); var properties = macroElement.Element("properties"); @@ -1305,7 +1308,7 @@ namespace Umbraco.Core.Packaging var masterElement = templateElement.Element("Master"); var existingTemplate = _fileService.GetTemplate(alias) as Template; - var template = existingTemplate ?? new Template(templateName, alias); + var template = existingTemplate ?? new Template(_shortStringHelper, templateName, alias); template.Content = design; if (masterElement != null && string.IsNullOrEmpty((string)masterElement) == false) { diff --git a/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs b/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs index 54cfee0ffa..60602affbb 100644 --- a/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs @@ -5,6 +5,7 @@ using System.Linq; using Umbraco.Core.Models; using Umbraco.Core.Models.Entities; using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Factories { @@ -17,9 +18,9 @@ namespace Umbraco.Core.Persistence.Factories { #region IContentType - public static IContentType BuildContentTypeEntity(ContentTypeDto dto) + public static IContentType BuildContentTypeEntity(IShortStringHelper shortStringHelper, ContentTypeDto dto) { - var contentType = new ContentType(dto.NodeDto.ParentId); + var contentType = new ContentType(shortStringHelper, dto.NodeDto.ParentId); try { @@ -41,9 +42,9 @@ namespace Umbraco.Core.Persistence.Factories #region IMediaType - public static IMediaType BuildMediaTypeEntity(ContentTypeDto dto) + public static IMediaType BuildMediaTypeEntity(IShortStringHelper shortStringHelper, ContentTypeDto dto) { - var contentType = new MediaType(dto.NodeDto.ParentId); + var contentType = new MediaType(shortStringHelper, dto.NodeDto.ParentId); try { contentType.DisableChangeTracking(); @@ -65,9 +66,9 @@ namespace Umbraco.Core.Persistence.Factories #region IMemberType - public static IMemberType BuildMemberTypeEntity(ContentTypeDto dto) + public static IMemberType BuildMemberTypeEntity(IShortStringHelper shortStringHelper, ContentTypeDto dto) { - var contentType = new MemberType(dto.NodeDto.ParentId); + var contentType = new MemberType(shortStringHelper, dto.NodeDto.ParentId); try { contentType.DisableChangeTracking(); diff --git a/src/Umbraco.Core/Persistence/Factories/LanguageFactory.cs b/src/Umbraco.Core/Persistence/Factories/LanguageFactory.cs index ad58c5b570..1da4a8dfac 100644 --- a/src/Umbraco.Core/Persistence/Factories/LanguageFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/LanguageFactory.cs @@ -1,4 +1,5 @@ using System.Globalization; +using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Core.Persistence.Dtos; @@ -6,9 +7,9 @@ namespace Umbraco.Core.Persistence.Factories { internal static class LanguageFactory { - public static ILanguage BuildEntity(LanguageDto dto) + public static ILanguage BuildEntity(IGlobalSettings globalSettings, LanguageDto dto) { - var lang = new Language(dto.IsoCode) + var lang = new Language(globalSettings, dto.IsoCode) { CultureName = dto.CultureName, Id = dto.Id, diff --git a/src/Umbraco.Core/Persistence/Factories/MacroFactory.cs b/src/Umbraco.Core/Persistence/Factories/MacroFactory.cs index 5cf2d0ea1c..25cde62c75 100644 --- a/src/Umbraco.Core/Persistence/Factories/MacroFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/MacroFactory.cs @@ -2,14 +2,15 @@ using System.Globalization; using Umbraco.Core.Models; using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Factories { internal static class MacroFactory { - public static IMacro BuildEntity(MacroDto dto) + public static IMacro BuildEntity(IShortStringHelper shortStringHelper, MacroDto dto) { - var model = new Macro(dto.Id, dto.UniqueId, dto.UseInEditor, dto.RefreshRate, dto.Alias, dto.Name, dto.CacheByPage, dto.CachePersonalized, dto.DontRender, dto.MacroSource, (MacroTypes)dto.MacroType); + var model = new Macro(shortStringHelper, dto.Id, dto.UniqueId, dto.UseInEditor, dto.RefreshRate, dto.Alias, dto.Name, dto.CacheByPage, dto.CachePersonalized, dto.DontRender, dto.MacroSource, (MacroTypes)dto.MacroType); try { diff --git a/src/Umbraco.Core/Persistence/Factories/TemplateFactory.cs b/src/Umbraco.Core/Persistence/Factories/TemplateFactory.cs index 7682ea47db..4c9bfdb45e 100644 --- a/src/Umbraco.Core/Persistence/Factories/TemplateFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/TemplateFactory.cs @@ -4,17 +4,18 @@ using System.Linq; using Umbraco.Core.Models; using Umbraco.Core.Models.Entities; using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Factories { internal static class TemplateFactory { - + #region Implementation of IEntityFactory - public static Template BuildEntity(TemplateDto dto, IEnumerable childDefinitions, Func getFileContent) + public static Template BuildEntity(IShortStringHelper shortStringHelper, TemplateDto dto, IEnumerable childDefinitions, Func getFileContent) { - var template = new Template(dto.NodeDto.Text, dto.Alias, getFileContent); + var template = new Template(shortStringHelper, dto.NodeDto.Text, dto.Alias, getFileContent); try { diff --git a/src/Umbraco.Core/Persistence/Factories/UserFactory.cs b/src/Umbraco.Core/Persistence/Factories/UserFactory.cs index c64eb14bb7..c8a2f33ce4 100644 --- a/src/Umbraco.Core/Persistence/Factories/UserFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/UserFactory.cs @@ -1,17 +1,19 @@ using System; using System.Linq; +using Umbraco.Core.Configuration; using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Factories { internal static class UserFactory { - public static IUser BuildEntity(UserDto dto) + public static IUser BuildEntity(IGlobalSettings globalSettings, UserDto dto) { var guidId = dto.Id.ToGuid(); - var user = new User(dto.Id, dto.UserName, dto.Email, dto.Login,dto.Password, + var user = new User(globalSettings, dto.Id, dto.UserName, dto.Email, dto.Login,dto.Password, dto.UserGroupDtos.Select(x => x.ToReadOnlyGroup()).ToArray(), dto.UserStartNodeDtos.Where(x => x.StartNodeType == (int)UserStartNodeDto.StartNodeTypeValue.Content).Select(x => x.StartNode).ToArray(), dto.UserStartNodeDtos.Where(x => x.StartNodeType == (int)UserStartNodeDto.StartNodeTypeValue.Media).Select(x => x.StartNode).ToArray()); diff --git a/src/Umbraco.Core/Persistence/Factories/UserGroupFactory.cs b/src/Umbraco.Core/Persistence/Factories/UserGroupFactory.cs index d854ac3769..596fba144a 100644 --- a/src/Umbraco.Core/Persistence/Factories/UserGroupFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/UserGroupFactory.cs @@ -3,14 +3,15 @@ using System.Globalization; using System.Linq; using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Factories { internal static class UserGroupFactory { - public static IUserGroup BuildEntity(UserGroupDto dto) + public static IUserGroup BuildEntity(IShortStringHelper shortStringHelper, UserGroupDto dto) { - var userGroup = new UserGroup(dto.UserCount, dto.Alias, dto.Name, + var userGroup = new UserGroup(shortStringHelper, dto.UserCount, dto.Alias, dto.Name, dto.DefaultPermissions.IsNullOrWhiteSpace() ? Enumerable.Empty() : dto.DefaultPermissions.ToCharArray().Select(x => x.ToString(CultureInfo.InvariantCulture)).ToList(), diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeCommonRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeCommonRepository.cs index b0cdc054fc..6ea92e4bb5 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeCommonRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeCommonRepository.cs @@ -8,6 +8,7 @@ using Umbraco.Core.Models; using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Factories; using Umbraco.Core.Scoping; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Repositories.Implement { @@ -19,17 +20,19 @@ namespace Umbraco.Core.Persistence.Repositories.Implement private const string CacheKey = "Umbraco.Core.Persistence.Repositories.Implement.ContentTypeCommonRepository::AllTypes"; private readonly AppCaches _appCaches; + private readonly IShortStringHelper _shortStringHelper; private readonly IScopeAccessor _scopeAccessor; private readonly ITemplateRepository _templateRepository; /// /// Initializes a new instance of the class. /// - public ContentTypeCommonRepository(IScopeAccessor scopeAccessor, ITemplateRepository templateRepository, AppCaches appCaches) + public ContentTypeCommonRepository(IScopeAccessor scopeAccessor, ITemplateRepository templateRepository, AppCaches appCaches, IShortStringHelper shortStringHelper) { _scopeAccessor = scopeAccessor; _templateRepository = templateRepository; _appCaches = appCaches; + _shortStringHelper = shortStringHelper; } private IScope AmbientScope => _scopeAccessor.AmbientScope; @@ -85,11 +88,11 @@ namespace Umbraco.Core.Persistence.Repositories.Implement // create content type IContentTypeComposition contentType; if (contentTypeDto.NodeDto.NodeObjectType == Constants.ObjectTypes.MediaType) - contentType = ContentTypeFactory.BuildMediaTypeEntity(contentTypeDto); + contentType = ContentTypeFactory.BuildMediaTypeEntity(_shortStringHelper, contentTypeDto); else if (contentTypeDto.NodeDto.NodeObjectType == Constants.ObjectTypes.DocumentType) - contentType = ContentTypeFactory.BuildContentTypeEntity(contentTypeDto); + contentType = ContentTypeFactory.BuildContentTypeEntity(_shortStringHelper, contentTypeDto); else if (contentTypeDto.NodeDto.NodeObjectType == Constants.ObjectTypes.MemberType) - contentType = ContentTypeFactory.BuildMemberTypeEntity(contentTypeDto); + contentType = ContentTypeFactory.BuildMemberTypeEntity(_shortStringHelper, contentTypeDto); else throw new PanicException($"The node object type {contentTypeDto.NodeDto.NodeObjectType} is not supported"); contentTypes.Add(contentType.Id, contentType); @@ -202,7 +205,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement .AndBy(x => x.SortOrder, x => x.Id); var propertyDtos = Database.Fetch(sql2); - var builtinProperties = ConventionsHelper.GetStandardPropertyTypeStubs(); + var builtinProperties = ConventionsHelper.GetStandardPropertyTypeStubs(_shortStringHelper); var groupIx = 0; var propertyIx = 0; @@ -288,7 +291,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement memberType.MemberTypePropertyTypes[dto.Alias] = access; } - return new PropertyType(dto.DataTypeDto.EditorAlias, storageType, readonlyStorageType, dto.Alias) + return new PropertyType(_shortStringHelper, dto.DataTypeDto.EditorAlias, storageType, readonlyStorageType, dto.Alias) { Description = dto.Description, DataTypeId = dto.DataTypeId, diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepository.cs index 359b967dab..38b7413f74 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepository.cs @@ -11,6 +11,7 @@ using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Persistence.SqlSyntax; using Umbraco.Core.Scoping; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Repositories.Implement { @@ -19,8 +20,8 @@ namespace Umbraco.Core.Persistence.Repositories.Implement /// internal class ContentTypeRepository : ContentTypeRepositoryBase, IContentTypeRepository { - public ContentTypeRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IContentTypeCommonRepository commonRepository, ILanguageRepository languageRepository) - : base(scopeAccessor, cache, logger, commonRepository, languageRepository) + public ContentTypeRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IContentTypeCommonRepository commonRepository, ILanguageRepository languageRepository, IShortStringHelper shortStringHelper) + : base(scopeAccessor, cache, logger, commonRepository, languageRepository, shortStringHelper) { } protected override bool SupportsPublishing => ContentType.SupportsPublishingConst; diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs index 7ec052a14c..8890a859a8 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs @@ -15,6 +15,7 @@ using Umbraco.Core.Persistence.Factories; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Scoping; using Umbraco.Core.Services; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Repositories.Implement { @@ -26,9 +27,12 @@ namespace Umbraco.Core.Persistence.Repositories.Implement internal abstract class ContentTypeRepositoryBase : NPocoRepositoryBase, IReadRepository where TEntity : class, IContentTypeComposition { - protected ContentTypeRepositoryBase(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IContentTypeCommonRepository commonRepository, ILanguageRepository languageRepository) + private readonly IShortStringHelper _shortStringHelper; + + protected ContentTypeRepositoryBase(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IContentTypeCommonRepository commonRepository, ILanguageRepository languageRepository, IShortStringHelper shortStringHelper) : base(scopeAccessor, cache, logger) { + _shortStringHelper = shortStringHelper; CommonRepository = commonRepository; LanguageRepository = languageRepository; } @@ -88,7 +92,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement protected virtual PropertyType CreatePropertyType(string propertyEditorAlias, ValueStorageType storageType, string propertyTypeAlias) { - return new PropertyType(propertyEditorAlias, storageType, propertyTypeAlias); + return new PropertyType(_shortStringHelper, propertyEditorAlias, storageType, propertyTypeAlias); } protected override void PersistDeletedItem(TEntity entity) diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/LanguageRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/LanguageRepository.cs index 8a0290f9d6..245ff10f7f 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/LanguageRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/LanguageRepository.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using NPoco; using Umbraco.Core.Cache; +using Umbraco.Core.Configuration; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Entities; @@ -18,12 +19,15 @@ namespace Umbraco.Core.Persistence.Repositories.Implement /// internal class LanguageRepository : NPocoRepositoryBase, ILanguageRepository { + private readonly IGlobalSettings _globalSettings; private readonly Dictionary _codeIdMap = new Dictionary(StringComparer.OrdinalIgnoreCase); private readonly Dictionary _idCodeMap = new Dictionary(); - public LanguageRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger) + public LanguageRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IGlobalSettings globalSettings) : base(scopeAccessor, cache, logger) - { } + { + _globalSettings = globalSettings; + } protected override IRepositoryCachePolicy CreateCachePolicy() { @@ -233,7 +237,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement protected ILanguage ConvertFromDto(LanguageDto dto) { - var entity = LanguageFactory.BuildEntity(dto); + var entity = LanguageFactory.BuildEntity(_globalSettings, dto); return entity; } diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/MacroRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/MacroRepository.cs index f0044e225d..6e5dcc6b76 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/MacroRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/MacroRepository.cs @@ -10,14 +10,19 @@ using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Factories; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Scoping; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Repositories.Implement { internal class MacroRepository : NPocoRepositoryBase, IMacroRepository { - public MacroRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger) + private readonly IShortStringHelper _shortStringHelper; + + public MacroRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IShortStringHelper shortStringHelper) : base(scopeAccessor, cache, logger) - { } + { + _shortStringHelper = shortStringHelper; + } protected override IMacro PerformGet(int id) { @@ -40,8 +45,8 @@ namespace Umbraco.Core.Persistence.Repositories.Implement if (macroDto == null) return null; - - var entity = MacroFactory.BuildEntity(macroDto); + + var entity = MacroFactory.BuildEntity(_shortStringHelper, macroDto); // reset dirty initial properties (U4-1946) ((BeingDirtyBase)entity).ResetDirtyProperties(false); @@ -79,7 +84,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement private IEnumerable ConvertFromDtos(IEnumerable dtos) { - foreach (var entity in dtos.Select(MacroFactory.BuildEntity)) + foreach (var entity in dtos.Select(x => MacroFactory.BuildEntity(_shortStringHelper, x))) { // reset dirty initial properties (U4-1946) ((BeingDirtyBase)entity).ResetDirtyProperties(false); diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/MediaTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/MediaTypeRepository.cs index 512011b52c..c6caa40750 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/MediaTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/MediaTypeRepository.cs @@ -10,6 +10,7 @@ using Umbraco.Core.Models.Entities; using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Scoping; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Repositories.Implement { @@ -18,8 +19,8 @@ namespace Umbraco.Core.Persistence.Repositories.Implement /// internal class MediaTypeRepository : ContentTypeRepositoryBase, IMediaTypeRepository { - public MediaTypeRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IContentTypeCommonRepository commonRepository, ILanguageRepository languageRepository) - : base(scopeAccessor, cache, logger, commonRepository, languageRepository) + public MediaTypeRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IContentTypeCommonRepository commonRepository, ILanguageRepository languageRepository, IShortStringHelper shortStringHelper) + : base(scopeAccessor, cache, logger, commonRepository, languageRepository, shortStringHelper) { } protected override bool SupportsPublishing => MediaType.SupportsPublishingConst; diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/MemberTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/MemberTypeRepository.cs index a204ab53d4..b9c40eebc9 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/MemberTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/MemberTypeRepository.cs @@ -11,6 +11,7 @@ using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Factories; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Scoping; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Repositories.Implement { @@ -19,9 +20,13 @@ namespace Umbraco.Core.Persistence.Repositories.Implement /// internal class MemberTypeRepository : ContentTypeRepositoryBase, IMemberTypeRepository { - public MemberTypeRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IContentTypeCommonRepository commonRepository, ILanguageRepository languageRepository) - : base(scopeAccessor, cache, logger, commonRepository, languageRepository) - { } + private readonly IShortStringHelper _shortStringHelper; + + public MemberTypeRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IContentTypeCommonRepository commonRepository, ILanguageRepository languageRepository, IShortStringHelper shortStringHelper) + : base(scopeAccessor, cache, logger, commonRepository, languageRepository, shortStringHelper) + { + _shortStringHelper = shortStringHelper; + } protected override bool SupportsPublishing => MemberType.SupportsPublishingConst; @@ -143,7 +148,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement //By Convention we add 9 standard PropertyTypes to an Umbraco MemberType entity.AddPropertyGroup(Constants.Conventions.Member.StandardPropertiesGroupName); - var standardPropertyTypes = ConventionsHelper.GetStandardPropertyTypeStubs(); + var standardPropertyTypes = ConventionsHelper.GetStandardPropertyTypeStubs(_shortStringHelper); foreach (var standardPropertyType in standardPropertyTypes) { entity.AddPropertyType(standardPropertyType.Value, Constants.Conventions.Member.StandardPropertiesGroupName); @@ -206,10 +211,10 @@ namespace Umbraco.Core.Persistence.Repositories.Implement protected override PropertyType CreatePropertyType(string propertyEditorAlias, ValueStorageType storageType, string propertyTypeAlias) { //custom property type constructor logic to set explicit dbtype's for built in properties - var builtinProperties = ConventionsHelper.GetStandardPropertyTypeStubs(); + var builtinProperties = ConventionsHelper.GetStandardPropertyTypeStubs(_shortStringHelper); var readonlyStorageType = builtinProperties.TryGetValue(propertyTypeAlias, out var propertyType); storageType = readonlyStorageType ? propertyType.ValueStorageType : storageType; - return new PropertyType(propertyEditorAlias, storageType, readonlyStorageType, propertyTypeAlias); + return new PropertyType(_shortStringHelper, propertyEditorAlias, storageType, readonlyStorageType, propertyTypeAlias); } /// @@ -217,9 +222,9 @@ namespace Umbraco.Core.Persistence.Repositories.Implement /// and property editors assigned. This occurs prior to saving so that the correct values are persisted. /// /// - private static void EnsureExplicitDataTypeForBuiltInProperties(IContentTypeBase memberType) + private void EnsureExplicitDataTypeForBuiltInProperties(IContentTypeBase memberType) { - var builtinProperties = ConventionsHelper.GetStandardPropertyTypeStubs(); + var builtinProperties = ConventionsHelper.GetStandardPropertyTypeStubs(_shortStringHelper); foreach (var propertyType in memberType.PropertyTypes) { if (builtinProperties.ContainsKey(propertyType.Alias)) diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/TemplateRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/TemplateRepository.cs index aa3d02bd30..a26b818ca9 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/TemplateRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/TemplateRepository.cs @@ -24,13 +24,15 @@ namespace Umbraco.Core.Persistence.Repositories.Implement internal class TemplateRepository : NPocoRepositoryBase, ITemplateRepository { private readonly IIOHelper _ioHelper; + private readonly IShortStringHelper _shortStringHelper; private readonly IFileSystem _viewsFileSystem; private readonly ViewHelper _viewHelper; - public TemplateRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IFileSystems fileSystems, IIOHelper ioHelper) + public TemplateRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IFileSystems fileSystems, IIOHelper ioHelper, IShortStringHelper shortStringHelper) : base(scopeAccessor, cache, logger) { _ioHelper = ioHelper; + _shortStringHelper = shortStringHelper; _viewsFileSystem = fileSystems.MvcViewsFileSystem; _viewHelper = new ViewHelper(_viewsFileSystem); } @@ -327,7 +329,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement private ITemplate MapFromDto(TemplateDto dto, IUmbracoEntity[] axisDefinitions) { - var template = TemplateFactory.BuildEntity(dto, axisDefinitions, file => GetFileContent((Template) file, false)); + var template = TemplateFactory.BuildEntity(_shortStringHelper, dto, axisDefinitions, file => GetFileContent((Template) file, false)); if (dto.NodeDto.ParentId > 0) { diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/UserGroupRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/UserGroupRepository.cs index 0a66e29147..b8e4a67d78 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/UserGroupRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/UserGroupRepository.cs @@ -12,6 +12,7 @@ using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Factories; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Scoping; +using Umbraco.Core.Strings; namespace Umbraco.Core.Persistence.Repositories.Implement { @@ -20,12 +21,14 @@ namespace Umbraco.Core.Persistence.Repositories.Implement /// internal class UserGroupRepository : NPocoRepositoryBase, IUserGroupRepository { + private readonly IShortStringHelper _shortStringHelper; private readonly UserGroupWithUsersRepository _userGroupWithUsersRepository; private readonly PermissionRepository _permissionRepository; - public UserGroupRepository(IScopeAccessor scopeAccessor, AppCaches appCaches, ILogger logger) + public UserGroupRepository(IScopeAccessor scopeAccessor, AppCaches appCaches, ILogger logger, IShortStringHelper shortStringHelper) : base(scopeAccessor, appCaches, logger) { + _shortStringHelper = shortStringHelper; _userGroupWithUsersRepository = new UserGroupWithUsersRepository(this, scopeAccessor, appCaches, logger); _permissionRepository = new PermissionRepository(scopeAccessor, appCaches, logger); } @@ -79,7 +82,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement sql.Where($"umbracoUserGroup.id IN ({innerSql.SQL})"); AppendGroupBy(sql); - return Database.Fetch(sql).Select(UserGroupFactory.BuildEntity); + return Database.Fetch(sql).Select(x => UserGroupFactory.BuildEntity(_shortStringHelper, x)); } public void AddOrUpdateGroupWithUsers(IUserGroup userGroup, int[] userIds) @@ -179,7 +182,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement if (dto == null) return null; - var userGroup = UserGroupFactory.BuildEntity(dto); + var userGroup = UserGroupFactory.BuildEntity(_shortStringHelper, dto); return userGroup; } @@ -196,7 +199,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement sql.OrderBy(x => x.Id); // required for references var dtos = Database.FetchOneToMany(x => x.UserGroup2AppDtos, sql); - return dtos.Select(UserGroupFactory.BuildEntity); + return dtos.Select(x=>UserGroupFactory.BuildEntity(_shortStringHelper, x)); } protected override IEnumerable PerformGetByQuery(IQuery query) @@ -209,7 +212,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement sql.OrderBy(x => x.Id); // required for references var dtos = Database.FetchOneToMany(x => x.UserGroup2AppDtos, sql); - return dtos.Select(UserGroupFactory.BuildEntity); + return dtos.Select(x => UserGroupFactory.BuildEntity(_shortStringHelper, x)); } #endregion diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/UserRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/UserRepository.cs index 38cdfe3331..f3db5c5906 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/UserRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/UserRepository.cs @@ -45,7 +45,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement _mapperCollection = mapperCollection ?? throw new ArgumentNullException(nameof(mapperCollection)); _globalSettings = globalSettings ?? throw new ArgumentNullException(nameof(globalSettings)); _passwordConfiguration = passwordConfiguration ?? throw new ArgumentNullException(nameof(passwordConfiguration)); - } + } /// /// Returns a serialized dictionary of the password configuration that is stored against the user in the database @@ -77,7 +77,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement if (dtos.Count == 0) return null; PerformGetReferencedDtos(dtos); - return UserFactory.BuildEntity(dtos[0]); + return UserFactory.BuildEntity(_globalSettings, dtos[0]); } /// @@ -237,7 +237,7 @@ ORDER BY colName"; var users = new IUser[dtos.Count]; var i = 0; foreach (var dto in dtos) - users[i++] = UserFactory.BuildEntity(dto); + users[i++] = UserFactory.BuildEntity(_globalSettings, dto); return users; } @@ -250,14 +250,14 @@ ORDER BY colName"; var users = new IUser[dtos.Count]; var i = 0; foreach (var dto in dtos) - users[i++] = UserFactory.BuildEntity(dto); + users[i++] = UserFactory.BuildEntity(_globalSettings, dto); return users; } private IUser GetWith(Action> with, bool includeReferences) { var dto = GetDtoWith(with, includeReferences); - return dto == null ? null : UserFactory.BuildEntity(dto); + return dto == null ? null : UserFactory.BuildEntity(_globalSettings, dto); } private UserDto GetDtoWith(Action> with, bool includeReferences) @@ -795,7 +795,7 @@ ORDER BY colName"; // map references PerformGetReferencedDtos(pagedResult.Items); - return pagedResult.Items.Select(UserFactory.BuildEntity); + return pagedResult.Items.Select(x => UserFactory.BuildEntity(_globalSettings, x)); } private Sql ApplyFilter(Sql sql, Sql filterSql, bool hasWhereClause) @@ -866,7 +866,7 @@ ORDER BY colName"; private IEnumerable ConvertFromDtos(IEnumerable dtos) { - return dtos.Select(UserFactory.BuildEntity); + return dtos.Select(x => UserFactory.BuildEntity(_globalSettings, x)); } } } diff --git a/src/Umbraco.Core/Security/BackOfficeUserStore.cs b/src/Umbraco.Core/Security/BackOfficeUserStore.cs index d9a9ac9424..5dcc472224 100644 --- a/src/Umbraco.Core/Security/BackOfficeUserStore.cs +++ b/src/Umbraco.Core/Security/BackOfficeUserStore.cs @@ -78,7 +78,7 @@ namespace Umbraco.Core.Security var emptyPasswordValue = Constants.Security.EmptyPasswordPrefix + aspHasher.HashPassword(Guid.NewGuid().ToString("N")); - var userEntity = new User(user.Name, user.Email, user.UserName, emptyPasswordValue) + var userEntity = new User(_globalSettings, user.Name, user.Email, user.UserName, emptyPasswordValue) { DefaultToLiveEditing = false, Language = user.Culture ?? _globalSettings.DefaultUILanguage, diff --git a/src/Umbraco.Core/Services/Implement/EntityXmlSerializer.cs b/src/Umbraco.Core/Services/Implement/EntityXmlSerializer.cs index 8c7297b552..f3b904dcd4 100644 --- a/src/Umbraco.Core/Services/Implement/EntityXmlSerializer.cs +++ b/src/Umbraco.Core/Services/Implement/EntityXmlSerializer.cs @@ -23,6 +23,7 @@ namespace Umbraco.Core.Services.Implement private readonly IUserService _userService; private readonly ILocalizationService _localizationService; private readonly UrlSegmentProviderCollection _urlSegmentProviders; + private readonly IShortStringHelper _shortStringHelper; public EntityXmlSerializer( IContentService contentService, @@ -31,7 +32,8 @@ namespace Umbraco.Core.Services.Implement IUserService userService, ILocalizationService localizationService, IContentTypeService contentTypeService, - UrlSegmentProviderCollection urlSegmentProviders) + UrlSegmentProviderCollection urlSegmentProviders, + IShortStringHelper shortStringHelper) { _contentTypeService = contentTypeService; _mediaService = mediaService; @@ -40,6 +42,7 @@ namespace Umbraco.Core.Services.Implement _userService = userService; _localizationService = localizationService; _urlSegmentProviders = urlSegmentProviders; + _shortStringHelper = shortStringHelper; } /// @@ -53,7 +56,7 @@ namespace Umbraco.Core.Services.Implement var nodeName = content.ContentType.Alias.ToSafeAlias(); - var xml = SerializeContentBase(content, content.GetUrlSegment(_urlSegmentProviders), nodeName, published); + var xml = SerializeContentBase(content, content.GetUrlSegment(_shortStringHelper, _urlSegmentProviders), nodeName, published); xml.Add(new XAttribute("nodeType", content.ContentType.Id)); xml.Add(new XAttribute("nodeTypeAlias", content.ContentType.Alias)); @@ -100,7 +103,7 @@ namespace Umbraco.Core.Services.Implement var nodeName = media.ContentType.Alias.ToSafeAlias(); const bool published = false; // always false for media - var xml = SerializeContentBase(media, media.GetUrlSegment(_urlSegmentProviders), nodeName, published); + var xml = SerializeContentBase(media, media.GetUrlSegment(_shortStringHelper, _urlSegmentProviders), nodeName, published); xml.Add(new XAttribute("nodeType", media.ContentType.Id)); xml.Add(new XAttribute("nodeTypeAlias", media.ContentType.Alias)); diff --git a/src/Umbraco.Core/Services/Implement/FileService.cs b/src/Umbraco.Core/Services/Implement/FileService.cs index bf6fd6bb74..ebfc82c50c 100644 --- a/src/Umbraco.Core/Services/Implement/FileService.cs +++ b/src/Umbraco.Core/Services/Implement/FileService.cs @@ -11,6 +11,7 @@ using Umbraco.Core.Models; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; +using Umbraco.Core.Strings; namespace Umbraco.Core.Services.Implement { @@ -26,6 +27,7 @@ namespace Umbraco.Core.Services.Implement private readonly IPartialViewRepository _partialViewRepository; private readonly IPartialViewMacroRepository _partialViewMacroRepository; private readonly IAuditRepository _auditRepository; + private readonly IShortStringHelper _shortStringHelper; private const string PartialViewHeader = "@inherits Umbraco.Web.Mvc.UmbracoViewPage"; private const string PartialViewMacroHeader = "@inherits Umbraco.Web.Macros.PartialViewMacroPage"; @@ -33,7 +35,7 @@ namespace Umbraco.Core.Services.Implement public FileService(IScopeProvider uowProvider, IIOHelper ioHelper, ILogger logger, IEventMessagesFactory eventMessagesFactory, IStylesheetRepository stylesheetRepository, IScriptRepository scriptRepository, ITemplateRepository templateRepository, IPartialViewRepository partialViewRepository, IPartialViewMacroRepository partialViewMacroRepository, - IAuditRepository auditRepository) + IAuditRepository auditRepository, IShortStringHelper shortStringHelper) : base(uowProvider, logger, eventMessagesFactory) { _ioHelper = ioHelper; @@ -43,6 +45,7 @@ namespace Umbraco.Core.Services.Implement _partialViewRepository = partialViewRepository; _partialViewMacroRepository = partialViewMacroRepository; _auditRepository = auditRepository; + _shortStringHelper = shortStringHelper; } #region Stylesheets @@ -305,7 +308,7 @@ namespace Umbraco.Core.Services.Implement /// public Attempt> CreateTemplateForContentType(string contentTypeAlias, string contentTypeName, int userId = Constants.Security.SuperUserId) { - var template = new Template(contentTypeName, + var template = new Template(_shortStringHelper, contentTypeName, //NOTE: We are NOT passing in the content type alias here, we want to use it's name since we don't // want to save template file names as camelCase, the Template ctor will clean the alias as // `alias.ToCleanString(CleanStringType.UnderscoreAlias)` which has been the default. @@ -386,7 +389,7 @@ namespace Umbraco.Core.Services.Implement } // file might already be on disk, if so grab the content to avoid overwriting - var template = new Template(name, alias) + var template = new Template(_shortStringHelper, name, alias) { Content = GetViewContent(alias) ?? content }; diff --git a/src/Umbraco.Core/Services/Implement/UserService.cs b/src/Umbraco.Core/Services/Implement/UserService.cs index 128b33c6c2..2bc9caaba8 100644 --- a/src/Umbraco.Core/Services/Implement/UserService.cs +++ b/src/Umbraco.Core/Services/Implement/UserService.cs @@ -113,7 +113,7 @@ namespace Umbraco.Core.Services.Implement if (loginExists) throw new ArgumentException("Login already exists"); // causes rollback // causes rollback - user = new User + user = new User(_globalSettings) { DefaultToLiveEditing = false, Email = email, @@ -474,7 +474,7 @@ namespace Umbraco.Core.Services.Implement { case MemberCountType.All: query = Query(); - break; + break; case MemberCountType.LockedOut: query = Query().Where(x => x.IsLockedOut); break; diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index ab4f013e6a..b1da4e6c6c 100755 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -186,23 +186,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + @@ -216,7 +209,6 @@ - @@ -275,10 +267,6 @@ - - - - @@ -320,24 +308,7 @@ - - - - - - - - - - - - - - - - - @@ -385,7 +356,6 @@ - @@ -766,5 +736,8 @@ Umbraco.Infrastructure + + + \ No newline at end of file diff --git a/src/Umbraco.Examine/ContentValueSetBuilder.cs b/src/Umbraco.Examine/ContentValueSetBuilder.cs index 9cbc311639..b2f8ae720b 100644 --- a/src/Umbraco.Examine/ContentValueSetBuilder.cs +++ b/src/Umbraco.Examine/ContentValueSetBuilder.cs @@ -16,15 +16,18 @@ namespace Umbraco.Examine { private readonly UrlSegmentProviderCollection _urlSegmentProviders; private readonly IUserService _userService; + private readonly IShortStringHelper _shortStringHelper; public ContentValueSetBuilder(PropertyEditorCollection propertyEditors, UrlSegmentProviderCollection urlSegmentProviders, IUserService userService, + IShortStringHelper shortStringHelper, bool publishedValuesOnly) : base(propertyEditors, publishedValuesOnly) { _urlSegmentProviders = urlSegmentProviders; _userService = userService; + _shortStringHelper = shortStringHelper; } /// @@ -39,7 +42,7 @@ namespace Umbraco.Examine { var isVariant = c.ContentType.VariesByCulture(); - var urlValue = c.GetUrlSegment(_urlSegmentProviders); //Always add invariant urlName + var urlValue = c.GetUrlSegment(_shortStringHelper, _urlSegmentProviders); //Always add invariant urlName var values = new Dictionary> { {"icon", c.ContentType.Icon?.Yield() ?? Enumerable.Empty()}, @@ -71,7 +74,7 @@ namespace Umbraco.Examine foreach (var culture in c.AvailableCultures) { - var variantUrl = c.GetUrlSegment(_urlSegmentProviders, culture); + var variantUrl = c.GetUrlSegment(_shortStringHelper, _urlSegmentProviders, culture); var lowerCulture = culture.ToLowerInvariant(); values[$"urlName_{lowerCulture}"] = variantUrl?.Yield() ?? Enumerable.Empty(); values[$"nodeName_{lowerCulture}"] = (PublishedValuesOnly diff --git a/src/Umbraco.Examine/MediaValueSetBuilder.cs b/src/Umbraco.Examine/MediaValueSetBuilder.cs index 03e7f4944b..fd77c180dc 100644 --- a/src/Umbraco.Examine/MediaValueSetBuilder.cs +++ b/src/Umbraco.Examine/MediaValueSetBuilder.cs @@ -18,15 +18,17 @@ namespace Umbraco.Examine private readonly UrlSegmentProviderCollection _urlSegmentProviders; private readonly IUserService _userService; private readonly ILogger _logger; + private readonly IShortStringHelper _shortStringHelper; public MediaValueSetBuilder(PropertyEditorCollection propertyEditors, UrlSegmentProviderCollection urlSegmentProviders, - IUserService userService, ILogger logger) + IUserService userService, ILogger logger, IShortStringHelper shortStringHelper) : base(propertyEditors, false) { _urlSegmentProviders = urlSegmentProviders; _userService = userService; _logger = logger; + _shortStringHelper = shortStringHelper; } /// @@ -34,7 +36,7 @@ namespace Umbraco.Examine { foreach (var m in media) { - var urlValue = m.GetUrlSegment(_urlSegmentProviders); + var urlValue = m.GetUrlSegment(_shortStringHelper, _urlSegmentProviders); var umbracoFilePath = string.Empty; var umbracoFile = string.Empty; diff --git a/src/Umbraco.Core/Models/Content.cs b/src/Umbraco.Infrastructure/Models/Content.cs similarity index 100% rename from src/Umbraco.Core/Models/Content.cs rename to src/Umbraco.Infrastructure/Models/Content.cs diff --git a/src/Umbraco.Core/Models/ContentBaseExtensions.cs b/src/Umbraco.Infrastructure/Models/ContentBaseExtensions.cs similarity index 77% rename from src/Umbraco.Core/Models/ContentBaseExtensions.cs rename to src/Umbraco.Infrastructure/Models/ContentBaseExtensions.cs index 43e3506a84..15003cd981 100644 --- a/src/Umbraco.Core/Models/ContentBaseExtensions.cs +++ b/src/Umbraco.Infrastructure/Models/ContentBaseExtensions.cs @@ -8,7 +8,7 @@ namespace Umbraco.Core.Strings /// /// Provides extension methods to IContentBase to get url segments. /// - internal static class ContentBaseExtensions + public static class ContentBaseExtensions { /// /// Gets the url segment for a specified content and culture. @@ -17,13 +17,13 @@ namespace Umbraco.Core.Strings /// The culture. /// /// The url segment. - public static string GetUrlSegment(this IContentBase content, IEnumerable urlSegmentProviders, string culture = null) + public static string GetUrlSegment(this IContentBase content, IShortStringHelper shortStringHelper, IEnumerable urlSegmentProviders, string culture = null) { if (content == null) throw new ArgumentNullException(nameof(content)); if (urlSegmentProviders == null) throw new ArgumentNullException(nameof(urlSegmentProviders)); var url = urlSegmentProviders.Select(p => p.GetUrlSegment(content, culture)).FirstOrDefault(u => u != null); - url = url ?? new DefaultUrlSegmentProvider().GetUrlSegment(content, culture); // be safe + url = url ?? new DefaultUrlSegmentProvider(shortStringHelper).GetUrlSegment(content, culture); // be safe return url; } } diff --git a/src/Umbraco.Core/Models/ContentRepositoryExtensions.cs b/src/Umbraco.Infrastructure/Models/ContentRepositoryExtensions.cs similarity index 99% rename from src/Umbraco.Core/Models/ContentRepositoryExtensions.cs rename to src/Umbraco.Infrastructure/Models/ContentRepositoryExtensions.cs index ffda3de194..6d1f565944 100644 --- a/src/Umbraco.Core/Models/ContentRepositoryExtensions.cs +++ b/src/Umbraco.Infrastructure/Models/ContentRepositoryExtensions.cs @@ -7,7 +7,7 @@ namespace Umbraco.Core.Models /// /// Extension methods used to manipulate content variations by the document repository /// - internal static class ContentRepositoryExtensions + public static class ContentRepositoryExtensions { /// /// Gets the cultures that have been flagged for unpublishing. diff --git a/src/Umbraco.Core/Models/ContentType.cs b/src/Umbraco.Infrastructure/Models/ContentType.cs similarity index 95% rename from src/Umbraco.Core/Models/ContentType.cs rename to src/Umbraco.Infrastructure/Models/ContentType.cs index 453670253e..908ed31434 100644 --- a/src/Umbraco.Core/Models/ContentType.cs +++ b/src/Umbraco.Infrastructure/Models/ContentType.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Runtime.Serialization; +using Umbraco.Core.Strings; namespace Umbraco.Core.Models { @@ -23,7 +24,7 @@ namespace Umbraco.Core.Models /// /// Only use this for creating ContentTypes at the root (with ParentId -1). /// - public ContentType(int parentId) : base(parentId) + public ContentType(IShortStringHelper shortStringHelper, int parentId) : base(shortStringHelper, parentId) { _allowedTemplates = new List(); } @@ -35,8 +36,8 @@ namespace Umbraco.Core.Models /// Use this to ensure inheritance from parent. /// /// - public ContentType(IContentType parent, string alias) - : base(parent, alias) + public ContentType(IShortStringHelper shortStringHelper, IContentType parent, string alias) + : base(shortStringHelper, parent, alias) { _allowedTemplates = new List(); } diff --git a/src/Umbraco.Core/Models/ContentTypeBase.cs b/src/Umbraco.Infrastructure/Models/ContentTypeBase.cs similarity index 97% rename from src/Umbraco.Core/Models/ContentTypeBase.cs rename to src/Umbraco.Infrastructure/Models/ContentTypeBase.cs index a42419c66a..9823bb8a1d 100644 --- a/src/Umbraco.Core/Models/ContentTypeBase.cs +++ b/src/Umbraco.Infrastructure/Models/ContentTypeBase.cs @@ -17,6 +17,8 @@ namespace Umbraco.Core.Models [DebuggerDisplay("Id: {Id}, Name: {Name}, Alias: {Alias}")] public abstract class ContentTypeBase : TreeEntityBase, IContentTypeBase { + private readonly IShortStringHelper _shortStringHelper; + private string _alias; private string _description; private string _icon = "icon-folder"; @@ -30,8 +32,9 @@ namespace Umbraco.Core.Models private bool _hasPropertyTypeBeenRemoved; private ContentVariation _variations; - protected ContentTypeBase(int parentId) + protected ContentTypeBase(IShortStringHelper shortStringHelper, int parentId) { + _shortStringHelper = shortStringHelper; if (parentId == 0) throw new ArgumentOutOfRangeException(nameof(parentId)); ParentId = parentId; @@ -46,15 +49,16 @@ namespace Umbraco.Core.Models _variations = ContentVariation.Nothing; } - protected ContentTypeBase(IContentTypeBase parent) - : this(parent, null) + protected ContentTypeBase(IShortStringHelper shortStringHelper, IContentTypeBase parent) + : this(shortStringHelper, parent, null) { } - protected ContentTypeBase(IContentTypeBase parent, string alias) + protected ContentTypeBase(IShortStringHelper shortStringHelper, IContentTypeBase parent, string alias) { if (parent == null) throw new ArgumentNullException(nameof(parent)); SetParent(parent); + _shortStringHelper = shortStringHelper; _alias = alias; _allowedContentTypes = new List(); _propertyGroups = new PropertyGroupCollection(); @@ -121,7 +125,7 @@ namespace Umbraco.Core.Models { get => _alias; set => SetPropertyValueAndDetectChanges( - value.ToCleanString(CleanStringType.Alias | CleanStringType.UmbracoCase), + value.ToCleanString(_shortStringHelper, CleanStringType.Alias | CleanStringType.UmbracoCase), ref _alias, nameof(Alias)); } diff --git a/src/Umbraco.Core/Models/ContentTypeCompositionBase.cs b/src/Umbraco.Infrastructure/Models/ContentTypeCompositionBase.cs similarity index 96% rename from src/Umbraco.Core/Models/ContentTypeCompositionBase.cs rename to src/Umbraco.Infrastructure/Models/ContentTypeCompositionBase.cs index 9db0eb9b41..1467ee9b92 100644 --- a/src/Umbraco.Core/Models/ContentTypeCompositionBase.cs +++ b/src/Umbraco.Infrastructure/Models/ContentTypeCompositionBase.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using Umbraco.Core.Exceptions; +using Umbraco.Core.Strings; namespace Umbraco.Core.Models { @@ -16,15 +17,15 @@ namespace Umbraco.Core.Models private List _contentTypeComposition = new List(); internal List RemovedContentTypeKeyTracker = new List(); - protected ContentTypeCompositionBase(int parentId) : base(parentId) + protected ContentTypeCompositionBase(IShortStringHelper shortStringHelper, int parentId) : base(shortStringHelper, parentId) { } - protected ContentTypeCompositionBase(IContentTypeComposition parent) - : this(parent, null) + protected ContentTypeCompositionBase(IShortStringHelper shortStringHelper,IContentTypeComposition parent) + : this(shortStringHelper, parent, null) { } - protected ContentTypeCompositionBase(IContentTypeComposition parent, string alias) - : base(parent, alias) + protected ContentTypeCompositionBase(IShortStringHelper shortStringHelper, IContentTypeComposition parent, string alias) + : base(shortStringHelper, parent, alias) { AddContentType(parent); } diff --git a/src/Umbraco.Core/Models/DataType.cs b/src/Umbraco.Infrastructure/Models/DataType.cs similarity index 100% rename from src/Umbraco.Core/Models/DataType.cs rename to src/Umbraco.Infrastructure/Models/DataType.cs diff --git a/src/Umbraco.Core/Models/GridValue.cs b/src/Umbraco.Infrastructure/Models/GridValue.cs similarity index 100% rename from src/Umbraco.Core/Models/GridValue.cs rename to src/Umbraco.Infrastructure/Models/GridValue.cs diff --git a/src/Umbraco.Core/Models/Identity/UserLoginInfoWrapper.cs b/src/Umbraco.Infrastructure/Models/Identity/UserLoginInfoWrapper.cs similarity index 59% rename from src/Umbraco.Core/Models/Identity/UserLoginInfoWrapper.cs rename to src/Umbraco.Infrastructure/Models/Identity/UserLoginInfoWrapper.cs index 926d919ca9..425b721fa7 100644 --- a/src/Umbraco.Core/Models/Identity/UserLoginInfoWrapper.cs +++ b/src/Umbraco.Infrastructure/Models/Identity/UserLoginInfoWrapper.cs @@ -1,14 +1,12 @@ -using Microsoft.AspNet.Identity; - -namespace Umbraco.Core.Models.Identity +namespace Umbraco.Core.Models.Identity { internal class UserLoginInfoWrapper : IUserLoginInfo { - private readonly UserLoginInfo _info; + private readonly IUserLoginInfo _info; - public static IUserLoginInfo Wrap(UserLoginInfo info) => new UserLoginInfoWrapper(info); + public static IUserLoginInfo Wrap(IUserLoginInfo info) => new UserLoginInfoWrapper(info); - private UserLoginInfoWrapper(UserLoginInfo info) + private UserLoginInfoWrapper(IUserLoginInfo info) { _info = info; } diff --git a/src/Umbraco.Core/Models/Language.cs b/src/Umbraco.Infrastructure/Models/Language.cs similarity index 95% rename from src/Umbraco.Core/Models/Language.cs rename to src/Umbraco.Infrastructure/Models/Language.cs index 7d5fda3e06..e83c59443d 100644 --- a/src/Umbraco.Core/Models/Language.cs +++ b/src/Umbraco.Infrastructure/Models/Language.cs @@ -14,15 +14,18 @@ namespace Umbraco.Core.Models [DataContract(IsReference = true)] public class Language : EntityBase, ILanguage { + private readonly IGlobalSettings _globalSettings; + private string _isoCode; private string _cultureName; private bool _isDefaultVariantLanguage; private bool _mandatory; private int? _fallbackLanguageId; - public Language(string isoCode) + public Language(IGlobalSettings globalSettings, string isoCode) { IsoCode = isoCode; + _globalSettings = globalSettings; } /// @@ -74,8 +77,7 @@ namespace Umbraco.Core.Models try { - var globalSettings = (IGlobalSettings) Composing.Current.Factory.GetInstance(typeof(IGlobalSettings)); - var defaultUiCulture = CultureInfo.GetCultureInfo(globalSettings.DefaultUILanguage); + var defaultUiCulture = CultureInfo.GetCultureInfo(_globalSettings.DefaultUILanguage); Thread.CurrentThread.CurrentUICulture = defaultUiCulture; // get name - new-ing an instance to get proper display name diff --git a/src/Umbraco.Core/Models/Macro.cs b/src/Umbraco.Infrastructure/Models/Macro.cs similarity index 91% rename from src/Umbraco.Core/Models/Macro.cs rename to src/Umbraco.Infrastructure/Models/Macro.cs index 4f9e79f482..95e3477212 100644 --- a/src/Umbraco.Core/Models/Macro.cs +++ b/src/Umbraco.Infrastructure/Models/Macro.cs @@ -16,8 +16,11 @@ namespace Umbraco.Core.Models [DataContract(IsReference = true)] public class Macro : EntityBase, IMacro { - public Macro() + private readonly IShortStringHelper _shortStringHelper; + + public Macro(IShortStringHelper shortStringHelper) { + _shortStringHelper = shortStringHelper; _properties = new MacroPropertyCollection(); _properties.CollectionChanged += PropertiesChanged; _addedProperties = new List(); @@ -37,14 +40,14 @@ namespace Umbraco.Core.Models /// /// /// - public Macro(int id, Guid key, bool useInEditor, int cacheDuration, string @alias, string name, bool cacheByPage, bool cacheByMember, bool dontRender, string macroSource, MacroTypes macroType) - : this() + public Macro(IShortStringHelper shortStringHelper, int id, Guid key, bool useInEditor, int cacheDuration, string @alias, string name, bool cacheByPage, bool cacheByMember, bool dontRender, string macroSource, MacroTypes macroType) + : this(shortStringHelper) { Id = id; Key = key; UseInEditor = useInEditor; CacheDuration = cacheDuration; - Alias = alias.ToCleanString(CleanStringType.Alias); + Alias = alias.ToCleanString(shortStringHelper,CleanStringType.Alias); Name = name; CacheByPage = cacheByPage; CacheByMember = cacheByMember; @@ -64,7 +67,7 @@ namespace Umbraco.Core.Models /// /// /// - public Macro(string @alias, string name, + public Macro(IShortStringHelper shortStringHelper, string @alias, string name, string macroSource, MacroTypes macroType, bool cacheByPage = false, @@ -72,11 +75,11 @@ namespace Umbraco.Core.Models bool dontRender = true, bool useInEditor = false, int cacheDuration = 0) - : this() + : this(shortStringHelper) { UseInEditor = useInEditor; CacheDuration = cacheDuration; - Alias = alias.ToCleanString(CleanStringType.Alias); + Alias = alias.ToCleanString(shortStringHelper, CleanStringType.Alias); Name = name; CacheByPage = cacheByPage; CacheByMember = cacheByMember; @@ -142,7 +145,7 @@ namespace Umbraco.Core.Models } public override void ResetDirtyProperties(bool rememberDirty) - { + { base.ResetDirtyProperties(rememberDirty); _addedProperties.Clear(); @@ -171,7 +174,7 @@ namespace Umbraco.Core.Models public string Alias { get => _alias; - set => SetPropertyValueAndDetectChanges(value.ToCleanString(CleanStringType.Alias), ref _alias, nameof(Alias)); + set => SetPropertyValueAndDetectChanges(value.ToCleanString(_shortStringHelper, CleanStringType.Alias), ref _alias, nameof(Alias)); } /// @@ -265,13 +268,13 @@ namespace Umbraco.Core.Models base.PerformDeepClone(clone); var clonedEntity = (Macro)clone; - + clonedEntity._addedProperties = new List(); clonedEntity._removedProperties = new List(); clonedEntity._properties = (MacroPropertyCollection)Properties.DeepClone(); //re-assign the event handler clonedEntity._properties.CollectionChanged += clonedEntity.PropertiesChanged; - + } } } diff --git a/src/Umbraco.Core/Models/Media.cs b/src/Umbraco.Infrastructure/Models/Media.cs similarity index 100% rename from src/Umbraco.Core/Models/Media.cs rename to src/Umbraco.Infrastructure/Models/Media.cs diff --git a/src/Umbraco.Core/Models/MediaExtensions.cs b/src/Umbraco.Infrastructure/Models/MediaExtensions.cs similarity index 100% rename from src/Umbraco.Core/Models/MediaExtensions.cs rename to src/Umbraco.Infrastructure/Models/MediaExtensions.cs diff --git a/src/Umbraco.Core/Models/MediaType.cs b/src/Umbraco.Infrastructure/Models/MediaType.cs similarity index 79% rename from src/Umbraco.Core/Models/MediaType.cs rename to src/Umbraco.Infrastructure/Models/MediaType.cs index 2f087979f7..0c59ba6750 100644 --- a/src/Umbraco.Core/Models/MediaType.cs +++ b/src/Umbraco.Infrastructure/Models/MediaType.cs @@ -1,5 +1,6 @@ using System; using System.Runtime.Serialization; +using Umbraco.Core.Strings; namespace Umbraco.Core.Models { @@ -17,7 +18,7 @@ namespace Umbraco.Core.Models /// /// Only use this for creating MediaTypes at the root (with ParentId -1). /// - public MediaType(int parentId) : base(parentId) + public MediaType(IShortStringHelper shortStringHelper, int parentId) : base(shortStringHelper, parentId) { } @@ -26,7 +27,7 @@ namespace Umbraco.Core.Models /// /// Use this to ensure inheritance from parent. /// - public MediaType(IMediaType parent) : this(parent, null) + public MediaType(IShortStringHelper shortStringHelper,IMediaType parent) : this(shortStringHelper, parent, null) { } @@ -36,8 +37,8 @@ namespace Umbraco.Core.Models /// Use this to ensure inheritance from parent. /// /// - public MediaType(IMediaType parent, string alias) - : base(parent, alias) + public MediaType(IShortStringHelper shortStringHelper, IMediaType parent, string alias) + : base(shortStringHelper, parent, alias) { } diff --git a/src/Umbraco.Core/Models/Member.cs b/src/Umbraco.Infrastructure/Models/Member.cs similarity index 99% rename from src/Umbraco.Core/Models/Member.cs rename to src/Umbraco.Infrastructure/Models/Member.cs index a01840d0c8..ed2cce3068 100644 --- a/src/Umbraco.Core/Models/Member.cs +++ b/src/Umbraco.Infrastructure/Models/Member.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Runtime.Serialization; -using Umbraco.Core.Composing; +using Umbraco.Composing; using Umbraco.Core.Logging; namespace Umbraco.Core.Models diff --git a/src/Umbraco.Core/Models/MemberType.cs b/src/Umbraco.Infrastructure/Models/MemberType.cs similarity index 91% rename from src/Umbraco.Core/Models/MemberType.cs rename to src/Umbraco.Infrastructure/Models/MemberType.cs index 4633775a43..1d3e44bc53 100644 --- a/src/Umbraco.Core/Models/MemberType.cs +++ b/src/Umbraco.Infrastructure/Models/MemberType.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Runtime.Serialization; +using Umbraco.Core.Strings; namespace Umbraco.Core.Models { @@ -11,23 +12,26 @@ namespace Umbraco.Core.Models [DataContract(IsReference = true)] public class MemberType : ContentTypeCompositionBase, IMemberType { + private readonly IShortStringHelper _shortStringHelper; public const bool SupportsPublishingConst = false; //Dictionary is divided into string: PropertyTypeAlias, Tuple: MemberCanEdit, VisibleOnProfile, PropertyTypeId private string _alias; - public MemberType(int parentId) : base(parentId) + public MemberType(IShortStringHelper shortStringHelper, int parentId) : base(shortStringHelper, parentId) { + _shortStringHelper = shortStringHelper; MemberTypePropertyTypes = new Dictionary(); } - public MemberType(IContentTypeComposition parent) : this(parent, null) + public MemberType(IShortStringHelper shortStringHelper, IContentTypeComposition parent) : this(shortStringHelper, parent, null) { } - public MemberType(IContentTypeComposition parent, string alias) - : base(parent, alias) + public MemberType(IShortStringHelper shortStringHelper, IContentTypeComposition parent, string alias) + : base(shortStringHelper, parent, alias) { + _shortStringHelper = shortStringHelper; MemberTypePropertyTypes = new Dictionary(); } @@ -67,7 +71,7 @@ namespace Umbraco.Core.Models var newVal = value == "_umbracoSystemDefaultProtectType" ? value - : (value == null ? string.Empty : value.ToSafeAlias()); + : (value == null ? string.Empty : value.ToSafeAlias(_shortStringHelper)); SetPropertyValueAndDetectChanges(newVal, ref _alias, nameof(Alias)); } diff --git a/src/Umbraco.Core/Models/Membership/User.cs b/src/Umbraco.Infrastructure/Models/Membership/User.cs similarity index 96% rename from src/Umbraco.Core/Models/Membership/User.cs rename to src/Umbraco.Infrastructure/Models/Membership/User.cs index 6ec82325d5..ed35aea8f3 100644 --- a/src/Umbraco.Core/Models/Membership/User.cs +++ b/src/Umbraco.Infrastructure/Models/Membership/User.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using Umbraco.Core.Composing; +using Umbraco.Core.Configuration; using Umbraco.Core.Models.Entities; namespace Umbraco.Core.Models.Membership @@ -17,11 +18,11 @@ namespace Umbraco.Core.Models.Membership /// /// Constructor for creating a new/empty user /// - public User() + public User(IGlobalSettings globalSettings) { SessionTimeout = 60; _userGroups = new HashSet(); - _language = Current.Configs.Global().DefaultUILanguage; // TODO: inject + _language = globalSettings.DefaultUILanguage; _isApproved = true; _isLockedOut = false; _startContentIds = new int[] { }; @@ -37,8 +38,8 @@ namespace Umbraco.Core.Models.Membership /// /// /// - public User(string name, string email, string username, string rawPasswordValue) - : this() + public User(IGlobalSettings globalSettings, string name, string email, string username, string rawPasswordValue) + : this(globalSettings) { if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Value cannot be null or whitespace.", "name"); if (string.IsNullOrWhiteSpace(email)) throw new ArgumentException("Value cannot be null or whitespace.", "email"); @@ -67,8 +68,8 @@ namespace Umbraco.Core.Models.Membership /// /// /// - public User(int id, string name, string email, string username, string rawPasswordValue, IEnumerable userGroups, int[] startContentIds, int[] startMediaIds) - : this() + public User(IGlobalSettings globalSettings, int id, string name, string email, string username, string rawPasswordValue, IEnumerable userGroups, int[] startContentIds, int[] startMediaIds) + : this(globalSettings) { //we allow whitespace for this value so just check null if (rawPasswordValue == null) throw new ArgumentNullException("rawPasswordValue"); diff --git a/src/Umbraco.Core/Models/Membership/UserGroup.cs b/src/Umbraco.Infrastructure/Models/Membership/UserGroup.cs similarity index 88% rename from src/Umbraco.Core/Models/Membership/UserGroup.cs rename to src/Umbraco.Infrastructure/Models/Membership/UserGroup.cs index 31421f990d..c66463af79 100644 --- a/src/Umbraco.Core/Models/Membership/UserGroup.cs +++ b/src/Umbraco.Infrastructure/Models/Membership/UserGroup.cs @@ -13,6 +13,7 @@ namespace Umbraco.Core.Models.Membership [DataContract(IsReference = true)] public class UserGroup : EntityBase, IUserGroup, IReadOnlyUserGroup { + private readonly IShortStringHelper _shortStringHelper; private int? _startContentId; private int? _startMediaId; private string _alias; @@ -30,8 +31,9 @@ namespace Umbraco.Core.Models.Membership /// /// Constructor to create a new user group /// - public UserGroup() + public UserGroup(IShortStringHelper shortStringHelper) { + _shortStringHelper = shortStringHelper; _sectionCollection = new List(); } @@ -43,8 +45,8 @@ namespace Umbraco.Core.Models.Membership /// /// /// - public UserGroup(int userCount, string alias, string name, IEnumerable permissions, string icon) - : this() + public UserGroup(IShortStringHelper shortStringHelper, int userCount, string alias, string name, IEnumerable permissions, string icon) + : this(shortStringHelper) { UserCount = userCount; _alias = alias; @@ -78,7 +80,7 @@ namespace Umbraco.Core.Models.Membership public string Alias { get => _alias; - set => SetPropertyValueAndDetectChanges(value.ToCleanString(CleanStringType.Alias | CleanStringType.UmbracoCase), ref _alias, nameof(Alias)); + set => SetPropertyValueAndDetectChanges(value.ToCleanString(_shortStringHelper, CleanStringType.Alias | CleanStringType.UmbracoCase), ref _alias, nameof(Alias)); } [DataMember] diff --git a/src/Umbraco.Core/Models/ObjectTypes.cs b/src/Umbraco.Infrastructure/Models/ObjectTypes.cs similarity index 100% rename from src/Umbraco.Core/Models/ObjectTypes.cs rename to src/Umbraco.Infrastructure/Models/ObjectTypes.cs diff --git a/src/Umbraco.Core/Models/Property.cs b/src/Umbraco.Infrastructure/Models/Property.cs similarity index 100% rename from src/Umbraco.Core/Models/Property.cs rename to src/Umbraco.Infrastructure/Models/Property.cs diff --git a/src/Umbraco.Core/Models/PropertyCollection.cs b/src/Umbraco.Infrastructure/Models/PropertyCollection.cs similarity index 100% rename from src/Umbraco.Core/Models/PropertyCollection.cs rename to src/Umbraco.Infrastructure/Models/PropertyCollection.cs diff --git a/src/Umbraco.Core/Models/PropertyType.cs b/src/Umbraco.Infrastructure/Models/PropertyType.cs similarity index 88% rename from src/Umbraco.Core/Models/PropertyType.cs rename to src/Umbraco.Infrastructure/Models/PropertyType.cs index d749b7f4bd..a7ac63f70f 100644 --- a/src/Umbraco.Core/Models/PropertyType.cs +++ b/src/Umbraco.Infrastructure/Models/PropertyType.cs @@ -16,6 +16,7 @@ namespace Umbraco.Core.Models [DebuggerDisplay("Id: {Id}, Name: {Name}, Alias: {Alias}")] public class PropertyType : EntityBase, IPropertyType, IEquatable { + private readonly IShortStringHelper _shortStringHelper; private readonly bool _forceValueStorageType; private string _name; private string _alias; @@ -35,9 +36,10 @@ namespace Umbraco.Core.Models /// /// Initializes a new instance of the class. /// - public PropertyType(IDataType dataType) + public PropertyType(IShortStringHelper shortStringHelper, IDataType dataType) { if (dataType == null) throw new ArgumentNullException(nameof(dataType)); + _shortStringHelper = shortStringHelper; if (dataType.HasIdentity) _dataTypeId = dataType.Id; @@ -50,8 +52,8 @@ namespace Umbraco.Core.Models /// /// Initializes a new instance of the class. /// - public PropertyType(IDataType dataType, string propertyTypeAlias) - : this(dataType) + public PropertyType(IShortStringHelper shortStringHelper, IDataType dataType, string propertyTypeAlias) + : this(shortStringHelper, dataType) { _alias = SanitizeAlias(propertyTypeAlias); } @@ -59,16 +61,16 @@ namespace Umbraco.Core.Models /// /// Initializes a new instance of the class. /// - public PropertyType(string propertyEditorAlias, ValueStorageType valueStorageType) - : this(propertyEditorAlias, valueStorageType, false) + public PropertyType(IShortStringHelper shortStringHelper,string propertyEditorAlias, ValueStorageType valueStorageType) + : this(shortStringHelper, propertyEditorAlias, valueStorageType, false) { } /// /// Initializes a new instance of the class. /// - public PropertyType(string propertyEditorAlias, ValueStorageType valueStorageType, string propertyTypeAlias) - : this(propertyEditorAlias, valueStorageType, false, propertyTypeAlias) + public PropertyType(IShortStringHelper shortStringHelper,string propertyEditorAlias, ValueStorageType valueStorageType, string propertyTypeAlias) + : this(shortStringHelper, propertyEditorAlias, valueStorageType, false, propertyTypeAlias) { } @@ -77,8 +79,9 @@ namespace Umbraco.Core.Models /// /// Set to true to force the value storage type. Values assigned to /// the property, eg from the underlying datatype, will be ignored. - internal PropertyType(string propertyEditorAlias, ValueStorageType valueStorageType, bool forceValueStorageType, string propertyTypeAlias = null) + internal PropertyType(IShortStringHelper shortStringHelper, string propertyEditorAlias, ValueStorageType valueStorageType, bool forceValueStorageType, string propertyTypeAlias = null) { + _shortStringHelper = shortStringHelper; _propertyEditorAlias = propertyEditorAlias; _valueStorageType = valueStorageType; _forceValueStorageType = forceValueStorageType; @@ -234,7 +237,7 @@ namespace Umbraco.Core.Models /// /// Sanitizes a property type alias. /// - private static string SanitizeAlias(string value) + private string SanitizeAlias(string value) { //NOTE: WE are doing this because we don't want to do a ToSafeAlias when the alias is the special case of // being prefixed with Constants.PropertyEditors.InternalGenericPropertiesPrefix @@ -242,7 +245,7 @@ namespace Umbraco.Core.Models return value.StartsWith(Constants.PropertyEditors.InternalGenericPropertiesPrefix) ? value - : value.ToCleanString(CleanStringType.Alias | CleanStringType.UmbracoCase); + : value.ToCleanString(_shortStringHelper, CleanStringType.Alias | CleanStringType.UmbracoCase); } /// diff --git a/src/Umbraco.Core/Models/PublishedContent/IndexedArrayItem.cs b/src/Umbraco.Infrastructure/Models/PublishedContent/IndexedArrayItem.cs similarity index 98% rename from src/Umbraco.Core/Models/PublishedContent/IndexedArrayItem.cs rename to src/Umbraco.Infrastructure/Models/PublishedContent/IndexedArrayItem.cs index 18a5587a65..17495ae165 100644 --- a/src/Umbraco.Core/Models/PublishedContent/IndexedArrayItem.cs +++ b/src/Umbraco.Infrastructure/Models/PublishedContent/IndexedArrayItem.cs @@ -14,7 +14,7 @@ namespace Umbraco.Core.Models.PublishedContent public int Index { get; } - public int TotalCount { get; internal set; } + public int TotalCount { get; set; } public bool IsFirst() { diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedContentModel.cs b/src/Umbraco.Infrastructure/Models/PublishedContent/PublishedContentModel.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedContentModel.cs rename to src/Umbraco.Infrastructure/Models/PublishedContent/PublishedContentModel.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedContentTypeFactory.cs b/src/Umbraco.Infrastructure/Models/PublishedContent/PublishedContentTypeFactory.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedContentTypeFactory.cs rename to src/Umbraco.Infrastructure/Models/PublishedContent/PublishedContentTypeFactory.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedModelFactory.cs b/src/Umbraco.Infrastructure/Models/PublishedContent/PublishedModelFactory.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedModelFactory.cs rename to src/Umbraco.Infrastructure/Models/PublishedContent/PublishedModelFactory.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/VariationContextAccessorExtensions.cs b/src/Umbraco.Infrastructure/Models/PublishedContent/VariationContextAccessorExtensions.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/VariationContextAccessorExtensions.cs rename to src/Umbraco.Infrastructure/Models/PublishedContent/VariationContextAccessorExtensions.cs diff --git a/src/Umbraco.Core/Models/Template.cs b/src/Umbraco.Infrastructure/Models/Template.cs similarity index 78% rename from src/Umbraco.Core/Models/Template.cs rename to src/Umbraco.Infrastructure/Models/Template.cs index db473972e3..e1dead8f92 100644 --- a/src/Umbraco.Core/Models/Template.cs +++ b/src/Umbraco.Infrastructure/Models/Template.cs @@ -12,19 +12,21 @@ namespace Umbraco.Core.Models public class Template : File, ITemplate { private string _alias; + private readonly IShortStringHelper _shortStringHelper; private string _name; private string _masterTemplateAlias; private Lazy _masterTemplateId; - public Template(string name, string alias) - : this(name, alias, (Func) null) + public Template(IShortStringHelper shortStringHelper, string name, string alias) + : this(shortStringHelper, name, alias, (Func) null) { } - internal Template(string name, string alias, Func getFileContent) + internal Template(IShortStringHelper shortStringHelper, string name, string alias, Func getFileContent) : base(string.Empty, getFileContent) { + _shortStringHelper = shortStringHelper; _name = name; - _alias = alias.ToCleanString(CleanStringType.UnderscoreAlias); + _alias = alias.ToCleanString(shortStringHelper, CleanStringType.UnderscoreAlias); _masterTemplateId = new Lazy(() => -1); } @@ -52,7 +54,7 @@ namespace Umbraco.Core.Models public new string Alias { get => _alias; - set => SetPropertyValueAndDetectChanges(value.ToCleanString(CleanStringType.UnderscoreAlias), ref _alias, nameof(Alias)); + set => SetPropertyValueAndDetectChanges(value.ToCleanString(_shortStringHelper, CleanStringType.UnderscoreAlias), ref _alias, nameof(Alias)); } /// diff --git a/src/Umbraco.Core/Models/TemplateOnDisk.cs b/src/Umbraco.Infrastructure/Models/TemplateOnDisk.cs similarity index 89% rename from src/Umbraco.Core/Models/TemplateOnDisk.cs rename to src/Umbraco.Infrastructure/Models/TemplateOnDisk.cs index a8420adcb6..3b571c6ffc 100644 --- a/src/Umbraco.Core/Models/TemplateOnDisk.cs +++ b/src/Umbraco.Infrastructure/Models/TemplateOnDisk.cs @@ -1,5 +1,6 @@ using System; using System.Runtime.Serialization; +using Umbraco.Core.Strings; namespace Umbraco.Core.Models { @@ -15,8 +16,8 @@ namespace Umbraco.Core.Models /// /// The name of the template. /// The alias of the template. - public TemplateOnDisk(string name, string alias) - : base(name, alias) + public TemplateOnDisk(IShortStringHelper shortStringHelper, string name, string alias) + : base(shortStringHelper, name, alias) { IsOnDisk = true; } diff --git a/src/Umbraco.ModelsBuilder.Embedded/Umbraco.ModelsBuilder.Embedded.csproj b/src/Umbraco.ModelsBuilder.Embedded/Umbraco.ModelsBuilder.Embedded.csproj index eb61e2a2c8..f4a1780ad2 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Umbraco.ModelsBuilder.Embedded.csproj +++ b/src/Umbraco.ModelsBuilder.Embedded/Umbraco.ModelsBuilder.Embedded.csproj @@ -109,6 +109,10 @@ {31785BC3-256C-4613-B2F5-A1B0BDDED8C1} Umbraco.Core + + {3ae7bf57-966b-45a5-910a-954d7c554441} + Umbraco.Infrastructure + {651e1350-91b6-44b7-bd60-7207006d7003} Umbraco.Web diff --git a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs index de64ac4e48..8b9507dab8 100644 --- a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs +++ b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs @@ -56,7 +56,7 @@ namespace Umbraco.Tests.Cache.PublishedCache private IMediaType MakeNewMediaType(IUser user, string text, int parentId = -1) { - var mt = new MediaType(parentId) { Name = text, Alias = text, Thumbnail = "icon-folder", Icon = "icon-folder" }; + var mt = new MediaType(ShortStringHelper, parentId) { Name = text, Alias = text, Thumbnail = "icon-folder", Icon = "icon-folder" }; ServiceContext.MediaTypeService.Save(mt); return mt; } diff --git a/src/Umbraco.Tests/Issues/U9560.cs b/src/Umbraco.Tests/Issues/U9560.cs index e422cbc86b..e3f1ee087d 100644 --- a/src/Umbraco.Tests/Issues/U9560.cs +++ b/src/Umbraco.Tests/Issues/U9560.cs @@ -17,10 +17,10 @@ namespace Umbraco.Tests.Issues public void Test() { // create a content type and some properties - var contentType = new ContentType(-1); + var contentType = new ContentType(ShortStringHelper, -1); contentType.Alias = "test"; contentType.Name = "test"; - var propertyType = new PropertyType("test", ValueStorageType.Ntext, "prop") { Name = "Prop", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; + var propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "prop") { Name = "Prop", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; contentType.PropertyTypeCollection.Add(propertyType); Core.Composing.Current.Services.ContentTypeService.Save(contentType); diff --git a/src/Umbraco.Tests/Membership/UmbracoServiceMembershipProviderTests.cs b/src/Umbraco.Tests/Membership/UmbracoServiceMembershipProviderTests.cs index 85f57e3103..3875637ecb 100644 --- a/src/Umbraco.Tests/Membership/UmbracoServiceMembershipProviderTests.cs +++ b/src/Umbraco.Tests/Membership/UmbracoServiceMembershipProviderTests.cs @@ -79,7 +79,7 @@ namespace Umbraco.Tests.Membership { IMember createdMember = null; var memberType = MockedContentTypes.CreateSimpleMemberType(); - foreach (var p in ConventionsHelper.GetStandardPropertyTypeStubs()) + foreach (var p in ConventionsHelper.GetStandardPropertyTypeStubs(TestHelper.ShortStringHelper)) { memberType.AddPropertyType(p.Value); } diff --git a/src/Umbraco.Tests/Models/Collections/PropertyCollectionTests.cs b/src/Umbraco.Tests/Models/Collections/PropertyCollectionTests.cs index 404dc5ba74..e36e89e183 100644 --- a/src/Umbraco.Tests/Models/Collections/PropertyCollectionTests.cs +++ b/src/Umbraco.Tests/Models/Collections/PropertyCollectionTests.cs @@ -3,6 +3,7 @@ using System.Linq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Models; +using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.Testing; @@ -16,8 +17,8 @@ namespace Umbraco.Tests.Models.Collections { var collection = new PropertyCollection(); - collection.Add(new Property(new PropertyType("propEditor", ValueStorageType.Nvarchar, "test"))); - collection.Add(new Property(new PropertyType("propEditor", ValueStorageType.Nvarchar, "Test"))); + collection.Add(new Property(new PropertyType(TestHelper.ShortStringHelper, "propEditor", ValueStorageType.Nvarchar, "test"))); + collection.Add(new Property(new PropertyType(TestHelper.ShortStringHelper, "propEditor", ValueStorageType.Nvarchar, "Test"))); Assert.AreEqual(1, collection.Count); } @@ -27,7 +28,7 @@ namespace Umbraco.Tests.Models.Collections { var collection = new PropertyCollection(); - collection.Add(new Property(new PropertyType("propEditor", ValueStorageType.Nvarchar, "test"))); + collection.Add(new Property(new PropertyType(TestHelper.ShortStringHelper, "propEditor", ValueStorageType.Nvarchar, "test"))); Assert.IsTrue(collection.Contains("Test")); } diff --git a/src/Umbraco.Tests/Models/ContentTests.cs b/src/Umbraco.Tests/Models/ContentTests.cs index f5b222e0d9..83c65e0c6a 100644 --- a/src/Umbraco.Tests/Models/ContentTests.cs +++ b/src/Umbraco.Tests/Models/ContentTests.cs @@ -64,7 +64,7 @@ namespace Umbraco.Tests.Models [Test] public void Variant_Culture_Names_Track_Dirty_Changes() { - var contentType = new ContentType(-1) { Alias = "contentType" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "contentType" }; contentType.Variations = ContentVariation.Culture; Mock.Get(_contentTypeService).As().Setup(x => x.Get(It.IsAny())).Returns(contentType); @@ -94,7 +94,7 @@ namespace Umbraco.Tests.Models [Test] public void Variant_Published_Culture_Names_Track_Dirty_Changes() { - var contentType = new ContentType(-1) { Alias = "contentType" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "contentType" }; var content = new Content("content", -1, contentType) { Id = 1, VersionId = 1 }; const string langFr = "fr-FR"; @@ -129,8 +129,8 @@ namespace Umbraco.Tests.Models { var contentType = MockedContentTypes.CreateSimpleContentType(); //add non-grouped properties - contentType.AddPropertyType(new PropertyType("test", ValueStorageType.Ntext, "nonGrouped1") { Name = "Non Grouped 1", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentType.AddPropertyType(new PropertyType("test", ValueStorageType.Ntext, "nonGrouped2") { Name = "Non Grouped 2", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "nonGrouped1") { Name = "Non Grouped 1", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "nonGrouped2") { Name = "Non Grouped 2", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); //ensure that nothing is marked as dirty contentType.ResetDirtyProperties(false); @@ -396,7 +396,7 @@ namespace Umbraco.Tests.Models var asDirty = (ICanBeDirty)clone; Assert.IsFalse(asDirty.IsPropertyDirty("Properties")); - var propertyType = new PropertyType("test", ValueStorageType.Ntext, "blah"); + var propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "blah"); var newProperty = new Property(1, propertyType); newProperty.SetValue("blah"); clone.Properties.Add(newProperty); @@ -602,7 +602,7 @@ namespace Umbraco.Tests.Models var contentType = MockedContentTypes.CreateTextPageContentType(); // Act - contentType.PropertyGroups["Content"].PropertyTypes.Add(new PropertyType("test", ValueStorageType.Ntext, "subtitle") + contentType.PropertyGroups["Content"].PropertyTypes.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "Optional subtitle", @@ -625,7 +625,7 @@ namespace Umbraco.Tests.Models var content = MockedContent.CreateTextpageContent(contentType, "Textpage", -1); // Act - var propertyType = new PropertyType("test", ValueStorageType.Ntext, "subtitle") + var propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "Optional subtitle", Mandatory = false, SortOrder = 3, DataTypeId = -88 }; @@ -649,7 +649,7 @@ namespace Umbraco.Tests.Models var content = MockedContent.CreateTextpageContent(contentType, "Textpage", -1); // Act - var propertyType = new PropertyType("test", ValueStorageType.Ntext, "subtitle") + var propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "Optional subtitle", @@ -680,7 +680,7 @@ namespace Umbraco.Tests.Models var content = MockedContent.CreateTextpageContent(contentType, "Textpage", -1); // Act - note that the PropertyType's properties like SortOrder is not updated through the Content object - var propertyType = new PropertyType("test", ValueStorageType.Ntext, "title") + var propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "title") { Name = "Title", Description = "Title description added", Mandatory = false, SortOrder = 10, DataTypeId = -88 }; @@ -910,7 +910,7 @@ namespace Umbraco.Tests.Models contentType.ResetDirtyProperties(); // Act - var propertyType = new PropertyType("test", ValueStorageType.Ntext, "subtitle") + var propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "Optional subtitle", @@ -935,7 +935,7 @@ namespace Umbraco.Tests.Models new PropertyTypeCollection(true, new List { - new PropertyType("test", ValueStorageType.Ntext, "coauthor") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "coauthor") { Name = "Co-Author", Description = "Name of the Co-Author", @@ -966,7 +966,7 @@ namespace Umbraco.Tests.Models new PropertyTypeCollection(true, new List { - new PropertyType("test", ValueStorageType.Ntext, "coauthor") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "coauthor") { Name = "Co-Author", Description = "Name of the Co-Author", @@ -999,7 +999,7 @@ namespace Umbraco.Tests.Models var mixin1 = MockedContentTypes.CreateSimpleContentType("mixin1", "Mixin1", new PropertyTypeCollection(true, new List { - new PropertyType("test", ValueStorageType.Ntext, "coauthor") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "coauthor") { Name = "Co-Author", Description = "Name of the Co-Author", @@ -1011,7 +1011,7 @@ namespace Umbraco.Tests.Models var mixin2 = MockedContentTypes.CreateSimpleContentType("mixin2", "Mixin2", new PropertyTypeCollection(true, new List { - new PropertyType("test", ValueStorageType.Ntext, "author") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "author") { Name = "Author", Description = "Name of the Author", diff --git a/src/Umbraco.Tests/Models/ContentTypeTests.cs b/src/Umbraco.Tests/Models/ContentTypeTests.cs index afb9ea1bdf..2de45bd647 100644 --- a/src/Umbraco.Tests/Models/ContentTypeTests.cs +++ b/src/Umbraco.Tests/Models/ContentTypeTests.cs @@ -7,6 +7,7 @@ using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Entities; using Umbraco.Core.Serialization; +using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.TestHelpers.Stubs; using Umbraco.Tests.Testing; @@ -24,12 +25,12 @@ namespace Umbraco.Tests.Models contentType.PropertyGroups.Add(new PropertyGroup(new PropertyTypeCollection(false, new[] { - new PropertyType("testPropertyEditor", ValueStorageType.Nvarchar){ Alias = "myPropertyType" } + new PropertyType(TestHelper.ShortStringHelper, "testPropertyEditor", ValueStorageType.Nvarchar){ Alias = "myPropertyType" } }))); Assert.Throws(() => contentType.PropertyTypeCollection.Add( - new PropertyType("testPropertyEditor", ValueStorageType.Nvarchar) { Alias = "myPropertyType" })); + new PropertyType(TestHelper.ShortStringHelper, "testPropertyEditor", ValueStorageType.Nvarchar) { Alias = "myPropertyType" })); } @@ -41,10 +42,10 @@ namespace Umbraco.Tests.Models contentType.PropertyGroups.Add(new PropertyGroup(new PropertyTypeCollection(false, new[] { - new PropertyType("testPropertyEditor", ValueStorageType.Nvarchar){ Alias = "myPropertyType" } + new PropertyType(TestHelper.ShortStringHelper, "testPropertyEditor", ValueStorageType.Nvarchar){ Alias = "myPropertyType" } }))); - contentType.PropertyTypeCollection.Add(new PropertyType("testPropertyEditor", ValueStorageType.Nvarchar) { Alias = "myPropertyType2" }); + contentType.PropertyTypeCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "testPropertyEditor", ValueStorageType.Nvarchar) { Alias = "myPropertyType2" }); var toUpdate = contentType.PropertyTypeCollection["myPropertyType2"]; @@ -82,14 +83,14 @@ namespace Umbraco.Tests.Models } //add a property type without a property group contentType.PropertyTypeCollection.Add( - new PropertyType("test", ValueStorageType.Ntext, "title2") { Name = "Title2", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext, "title2") { Name = "Title2", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentType.AllowedTemplates = new[] { new Template("Name", "name") { Id = 200 }, new Template("Name2", "name2") { Id = 201 } }; + contentType.AllowedTemplates = new[] { new Template(TestHelper.ShortStringHelper, "Name", "name") { Id = 200 }, new Template(TestHelper.ShortStringHelper, "Name2", "name2") { Id = 201 } }; contentType.AllowedContentTypes = new[] { new ContentTypeSort(new Lazy(() => 888), 8, "sub"), new ContentTypeSort(new Lazy(() => 889), 9, "sub2") }; contentType.Id = 10; contentType.CreateDate = DateTime.Now; contentType.CreatorId = 22; - contentType.SetDefaultTemplate(new Template((string)"Test Template", (string)"testTemplate") + contentType.SetDefaultTemplate(new Template(TestHelper.ShortStringHelper, (string)"Test Template", (string)"testTemplate") { Id = 88 }); @@ -152,12 +153,12 @@ namespace Umbraco.Tests.Models { group.Id = ++i; } - contentType.AllowedTemplates = new[] { new Template((string)"Name", (string)"name") { Id = 200 }, new Template((string)"Name2", (string)"name2") { Id = 201 } }; + contentType.AllowedTemplates = new[] { new Template(TestHelper.ShortStringHelper, (string)"Name", (string)"name") { Id = 200 }, new Template(TestHelper.ShortStringHelper, (string)"Name2", (string)"name2") { Id = 201 } }; contentType.AllowedContentTypes = new[] { new ContentTypeSort(new Lazy(() => 888), 8, "sub"), new ContentTypeSort(new Lazy(() => 889), 9, "sub2") }; contentType.Id = 10; contentType.CreateDate = DateTime.Now; contentType.CreatorId = 22; - contentType.SetDefaultTemplate(new Template((string)"Test Template", (string)"testTemplate") + contentType.SetDefaultTemplate(new Template(TestHelper.ShortStringHelper, (string)"Test Template", (string)"testTemplate") { Id = 88 }); @@ -202,12 +203,12 @@ namespace Umbraco.Tests.Models { group.Id = ++i; } - contentType.AllowedTemplates = new[] { new Template((string)"Name", (string)"name") { Id = 200 }, new Template((string)"Name2", (string)"name2") { Id = 201 } }; + contentType.AllowedTemplates = new[] { new Template(TestHelper.ShortStringHelper, (string)"Name", (string)"name") { Id = 200 }, new Template(TestHelper.ShortStringHelper, (string)"Name2", (string)"name2") { Id = 201 } }; contentType.AllowedContentTypes = new[] { new ContentTypeSort(new Lazy(() => 888), 8, "sub"), new ContentTypeSort(new Lazy(() => 889), 9, "sub2") }; contentType.Id = 10; contentType.CreateDate = DateTime.Now; contentType.CreatorId = 22; - contentType.SetDefaultTemplate(new Template((string)"Test Template", (string)"testTemplate") + contentType.SetDefaultTemplate(new Template(TestHelper.ShortStringHelper, (string)"Test Template", (string)"testTemplate") { Id = 88 }); @@ -278,7 +279,7 @@ namespace Umbraco.Tests.Models var asDirty = (ICanBeDirty)clone; Assert.IsFalse(asDirty.IsPropertyDirty("PropertyTypes")); - clone.AddPropertyType(new PropertyType("test", ValueStorageType.Nvarchar, "blah")); + clone.AddPropertyType(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Nvarchar, "blah")); Assert.IsTrue(asDirty.IsPropertyDirty("PropertyTypes")); Assert.IsFalse(asDirty.IsPropertyDirty("PropertyGroups")); clone.AddPropertyGroup("hello"); @@ -297,12 +298,12 @@ namespace Umbraco.Tests.Models { propertyType.Id = ++i; } - contentType.AllowedTemplates = new[] { new Template((string)"Name", (string)"name") { Id = 200 }, new Template((string)"Name2", (string)"name2") { Id = 201 } }; + contentType.AllowedTemplates = new[] { new Template(TestHelper.ShortStringHelper, (string)"Name", (string)"name") { Id = 200 }, new Template(TestHelper.ShortStringHelper, (string)"Name2", (string)"name2") { Id = 201 } }; contentType.AllowedContentTypes = new[] { new ContentTypeSort(new Lazy(() => 888), 8, "sub"), new ContentTypeSort(new Lazy(() => 889), 9, "sub2") }; contentType.Id = 10; contentType.CreateDate = DateTime.Now; contentType.CreatorId = 22; - contentType.SetDefaultTemplate(new Template((string)"Test Template", (string)"testTemplate") + contentType.SetDefaultTemplate(new Template(TestHelper.ShortStringHelper, (string)"Test Template", (string)"testTemplate") { Id = 88 }); diff --git a/src/Umbraco.Tests/Models/ContentXmlTest.cs b/src/Umbraco.Tests/Models/ContentXmlTest.cs index fbef2cc103..023895654d 100644 --- a/src/Umbraco.Tests/Models/ContentXmlTest.cs +++ b/src/Umbraco.Tests/Models/ContentXmlTest.cs @@ -28,7 +28,7 @@ namespace Umbraco.Tests.Models ServiceContext.ContentService.Save(content, Constants.Security.SuperUserId); var nodeName = content.ContentType.Alias.ToSafeAlias(); - var urlName = content.GetUrlSegment(new[]{new DefaultUrlSegmentProvider() }); + var urlName = content.GetUrlSegment(ShortStringHelper, new[]{new DefaultUrlSegmentProvider(ShortStringHelper) }); // Act XElement element = content.ToXml(Factory.GetInstance()); diff --git a/src/Umbraco.Tests/Models/DictionaryItemTests.cs b/src/Umbraco.Tests/Models/DictionaryItemTests.cs index 70d1efda87..835cfd96f1 100644 --- a/src/Umbraco.Tests/Models/DictionaryItemTests.cs +++ b/src/Umbraco.Tests/Models/DictionaryItemTests.cs @@ -5,6 +5,7 @@ using Newtonsoft.Json; using NUnit.Framework; using Umbraco.Core.Models; using Umbraco.Core.Serialization; +using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests.Models { @@ -24,7 +25,7 @@ namespace Umbraco.Tests.Models UpdateDate = DateTime.Now, Translations = new[] { - new DictionaryTranslation(new Language("en-AU") + new DictionaryTranslation(new Language(SettingsForTests.GenerateMockGlobalSettings(),"en-AU") { CreateDate = DateTime.Now, CultureName = "en", @@ -39,7 +40,7 @@ namespace Umbraco.Tests.Models Key = Guid.NewGuid(), UpdateDate = DateTime.Now }, - new DictionaryTranslation(new Language("en-US") + new DictionaryTranslation(new Language(SettingsForTests.GenerateMockGlobalSettings(),"en-US") { CreateDate = DateTime.Now, CultureName = "en", @@ -95,7 +96,7 @@ namespace Umbraco.Tests.Models UpdateDate = DateTime.Now, Translations = new[] { - new DictionaryTranslation(new Language("en-AU") + new DictionaryTranslation(new Language(SettingsForTests.GenerateMockGlobalSettings(),"en-AU") { CreateDate = DateTime.Now, CultureName = "en", @@ -110,7 +111,7 @@ namespace Umbraco.Tests.Models Key = Guid.NewGuid(), UpdateDate = DateTime.Now }, - new DictionaryTranslation(new Language("en-US") + new DictionaryTranslation(new Language(SettingsForTests.GenerateMockGlobalSettings(),"en-US") { CreateDate = DateTime.Now, CultureName = "en", @@ -128,7 +129,7 @@ namespace Umbraco.Tests.Models } }; - + var json = JsonConvert.SerializeObject(item); Debug.Print(json); } diff --git a/src/Umbraco.Tests/Models/DictionaryTranslationTests.cs b/src/Umbraco.Tests/Models/DictionaryTranslationTests.cs index 7999537e7a..f7e6f8b283 100644 --- a/src/Umbraco.Tests/Models/DictionaryTranslationTests.cs +++ b/src/Umbraco.Tests/Models/DictionaryTranslationTests.cs @@ -3,18 +3,23 @@ using System.Diagnostics; using System.Linq; using Newtonsoft.Json; using NUnit.Framework; +using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Core.Serialization; +using Umbraco.Core.Strings; +using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests.Models { [TestFixture] public class DictionaryTranslationTests { + private IGlobalSettings GlobalSettings { get; } = SettingsForTests.GenerateMockGlobalSettings(); + [Test] public void Can_Deep_Clone() { - var item = new DictionaryTranslation(new Language("en-AU") + var item = new DictionaryTranslation(new Language(GlobalSettings, "en-AU") { CreateDate = DateTime.Now, CultureName = "en", @@ -56,7 +61,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Serialize_Without_Error() { - var item = new DictionaryTranslation(new Language("en-AU") + var item = new DictionaryTranslation(new Language(GlobalSettings, "en-AU") { CreateDate = DateTime.Now, CultureName = "en", diff --git a/src/Umbraco.Tests/Models/LanguageTests.cs b/src/Umbraco.Tests/Models/LanguageTests.cs index 8e41b28b08..36986d68ae 100644 --- a/src/Umbraco.Tests/Models/LanguageTests.cs +++ b/src/Umbraco.Tests/Models/LanguageTests.cs @@ -2,18 +2,23 @@ using System.Diagnostics; using Newtonsoft.Json; using NUnit.Framework; +using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Core.Serialization; +using Umbraco.Core.Strings; +using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests.Models { [TestFixture] public class LanguageTests { + private IGlobalSettings GlobalSettings { get; } = SettingsForTests.GenerateMockGlobalSettings(); + [Test] public void Can_Deep_Clone() { - var item = new Language("en-AU") + var item = new Language(GlobalSettings, "en-AU") { CreateDate = DateTime.Now, CultureName = "AU", @@ -44,7 +49,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Serialize_Without_Error() { - var item = new Language("en-AU") + var item = new Language(GlobalSettings, "en-AU") { CreateDate = DateTime.Now, CultureName = "AU", diff --git a/src/Umbraco.Tests/Models/MacroTests.cs b/src/Umbraco.Tests/Models/MacroTests.cs index e9c5e1072b..429649a6c1 100644 --- a/src/Umbraco.Tests/Models/MacroTests.cs +++ b/src/Umbraco.Tests/Models/MacroTests.cs @@ -23,7 +23,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Deep_Clone() { - var macro = new Macro(1, Guid.NewGuid(), true, 3, "test", "Test", false, true, true, "~/script.cshtml", MacroTypes.PartialView); + var macro = new Macro(TestHelper.ShortStringHelper, 1, Guid.NewGuid(), true, 3, "test", "Test", false, true, true, "~/script.cshtml", MacroTypes.PartialView); macro.Properties.Add(new MacroProperty(6, Guid.NewGuid(), "rewq", "REWQ", 1, "asdfasdf")); var clone = (Macro)macro.DeepClone(); diff --git a/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs b/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs index 4afeab7ece..c604b11aac 100644 --- a/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs +++ b/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs @@ -696,7 +696,7 @@ namespace Umbraco.Tests.Models.Mapping var ctMain = MockedContentTypes.CreateSimpleMediaType("parent", "Parent"); //not assigned to tab - ctMain.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) + ctMain.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "umbracoUrlName", Name = "Slug", @@ -707,7 +707,7 @@ namespace Umbraco.Tests.Models.Mapping }); MockedContentTypes.EnsureAllIds(ctMain, 8888); var ctChild1 = MockedContentTypes.CreateSimpleMediaType("child1", "Child 1", ctMain, true); - ctChild1.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) + ctChild1.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "someProperty", Name = "Some Property", @@ -719,7 +719,7 @@ namespace Umbraco.Tests.Models.Mapping MockedContentTypes.EnsureAllIds(ctChild1, 7777); var contentType = MockedContentTypes.CreateSimpleMediaType("child2", "Child 2", ctChild1, true, "CustomGroup"); //not assigned to tab - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "umbracoUrlAlias", Name = "AltUrl", @@ -789,13 +789,13 @@ namespace Umbraco.Tests.Models.Mapping var ctMain = MockedContentTypes.CreateSimpleContentType(); //not assigned to tab - ctMain.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) + ctMain.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "umbracoUrlName", Name = "Slug", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); MockedContentTypes.EnsureAllIds(ctMain, 8888); var ctChild1 = MockedContentTypes.CreateSimpleContentType("child1", "Child 1", ctMain, true); - ctChild1.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) + ctChild1.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "someProperty", Name = "Some Property", @@ -807,7 +807,7 @@ namespace Umbraco.Tests.Models.Mapping MockedContentTypes.EnsureAllIds(ctChild1, 7777); var contentType = MockedContentTypes.CreateSimpleContentType("child2", "Child 2", ctChild1, true, "CustomGroup"); //not assigned to tab - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "umbracoUrlAlias", Name = "AltUrl", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); diff --git a/src/Umbraco.Tests/Models/Mapping/ContentWebModelMappingTests.cs b/src/Umbraco.Tests/Models/Mapping/ContentWebModelMappingTests.cs index 22a4def2df..247a297b57 100644 --- a/src/Umbraco.Tests/Models/Mapping/ContentWebModelMappingTests.cs +++ b/src/Umbraco.Tests/Models/Mapping/ContentWebModelMappingTests.cs @@ -208,8 +208,8 @@ namespace Umbraco.Tests.Models.Mapping var idSeed = 1; var contentType = MockedContentTypes.CreateSimpleContentType(); //add non-grouped properties - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "nonGrouped1") { Name = "Non Grouped 1", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "nonGrouped2") { Name = "Non Grouped 2", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "nonGrouped1") { Name = "Non Grouped 1", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "nonGrouped2") { Name = "Non Grouped 2", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); //set ids or it wont work contentType.Id = idSeed; foreach (var p in contentType.PropertyTypes) diff --git a/src/Umbraco.Tests/Models/Mapping/UserModelMapperTests.cs b/src/Umbraco.Tests/Models/Mapping/UserModelMapperTests.cs index 797fce2bd1..f0c26c3e8c 100644 --- a/src/Umbraco.Tests/Models/Mapping/UserModelMapperTests.cs +++ b/src/Umbraco.Tests/Models/Mapping/UserModelMapperTests.cs @@ -15,7 +15,7 @@ namespace Umbraco.Tests.Models.Mapping [Test] public void Map_UserGroupSave_To_IUserGroup() { - IUserGroup userGroup = new UserGroup(0, "alias", "name", new List { "c" }, "icon"); + IUserGroup userGroup = new UserGroup(ShortStringHelper, 0, "alias", "name", new List { "c" }, "icon"); userGroup.Id = 42; // userGroup.permissions is System.Collections.Generic.List`1[System.String] diff --git a/src/Umbraco.Tests/Models/MediaXmlTest.cs b/src/Umbraco.Tests/Models/MediaXmlTest.cs index a68272c0ce..91a19675f3 100644 --- a/src/Umbraco.Tests/Models/MediaXmlTest.cs +++ b/src/Umbraco.Tests/Models/MediaXmlTest.cs @@ -21,6 +21,8 @@ namespace Umbraco.Tests.Models [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerFixture)] public class MediaXmlTest : TestWithDatabaseBase { + + [Test] public void Can_Generate_Xml_Representation_Of_Media() { @@ -31,13 +33,12 @@ namespace Umbraco.Tests.Models // reference, so static ctor runs, so event handlers register // and then, this will reset the width, height... because the file does not exist, of course ;-( var logger = Mock.Of(); - var shortStringHelper = Mock.Of(); var scheme = Mock.Of(); var config = Mock.Of(); var dataTypeService = Mock.Of(); var localizationService = Mock.Of(); - var mediaFileSystem = new MediaFileSystem(Mock.Of(), scheme, logger, shortStringHelper); + var mediaFileSystem = new MediaFileSystem(Mock.Of(), scheme, logger, ShortStringHelper); var ignored = new FileUploadPropertyEditor(Mock.Of(), mediaFileSystem, config, dataTypeService, localizationService); var media = MockedMedia.CreateMediaImage(mediaType, -1); @@ -51,7 +52,7 @@ namespace Umbraco.Tests.Models media.SetValue(Constants.Conventions.Media.Extension, "png"); var nodeName = media.ContentType.Alias.ToSafeAlias(); - var urlName = media.GetUrlSegment(new[] { new DefaultUrlSegmentProvider() }); + var urlName = media.GetUrlSegment(ShortStringHelper, new[] { new DefaultUrlSegmentProvider(ShortStringHelper) }); // Act XElement element = media.ToXml(Factory.GetInstance()); diff --git a/src/Umbraco.Tests/Models/MemberTests.cs b/src/Umbraco.Tests/Models/MemberTests.cs index 9f902ffd77..1fe648a3bd 100644 --- a/src/Umbraco.Tests/Models/MemberTests.cs +++ b/src/Umbraco.Tests/Models/MemberTests.cs @@ -18,6 +18,7 @@ namespace Umbraco.Tests.Models [SetUp] public void Setup() { + Umbraco.Composing.Current.Logger = Current.Logger; Current.Reset(); Current.UnlockConfigs(TestHelper.GetConfigsFactory(), TestHelper.IOHelper); Current.Configs.Add(SettingsForTests.GetDefaultGlobalSettings); diff --git a/src/Umbraco.Tests/Models/PropertyGroupTests.cs b/src/Umbraco.Tests/Models/PropertyGroupTests.cs index a68b526951..f239e7b952 100644 --- a/src/Umbraco.Tests/Models/PropertyGroupTests.cs +++ b/src/Umbraco.Tests/Models/PropertyGroupTests.cs @@ -17,7 +17,7 @@ namespace Umbraco.Tests.Models var pg = new PropertyGroup( new PropertyTypeCollection(false, new[] { - new PropertyType("TestPropertyEditor", ValueStorageType.Nvarchar, "test") + new PropertyType(ShortStringHelper, "TestPropertyEditor", ValueStorageType.Nvarchar, "test") { Id = 3, CreateDate = DateTime.Now, @@ -33,7 +33,7 @@ namespace Umbraco.Tests.Models ValidationRegExp = "xxxx", ValueStorageType = ValueStorageType.Nvarchar }, - new PropertyType("TestPropertyEditor", ValueStorageType.Nvarchar, "test2") + new PropertyType(ShortStringHelper, "TestPropertyEditor", ValueStorageType.Nvarchar, "test2") { Id = 4, CreateDate = DateTime.Now, @@ -92,7 +92,7 @@ namespace Umbraco.Tests.Models var pg = new PropertyGroup( new PropertyTypeCollection(false, new[] { - new PropertyType("TestPropertyEditor", ValueStorageType.Nvarchar, "test") + new PropertyType(ShortStringHelper, "TestPropertyEditor", ValueStorageType.Nvarchar, "test") { Id = 3, CreateDate = DateTime.Now, @@ -108,7 +108,7 @@ namespace Umbraco.Tests.Models ValidationRegExp = "xxxx", ValueStorageType = ValueStorageType.Nvarchar }, - new PropertyType("TestPropertyEditor2", ValueStorageType.Nvarchar, "test2") + new PropertyType(ShortStringHelper, "TestPropertyEditor2", ValueStorageType.Nvarchar, "test2") { Id = 4, CreateDate = DateTime.Now, diff --git a/src/Umbraco.Tests/Models/PropertyTypeTests.cs b/src/Umbraco.Tests/Models/PropertyTypeTests.cs index b4d14e7bb5..0df1470169 100644 --- a/src/Umbraco.Tests/Models/PropertyTypeTests.cs +++ b/src/Umbraco.Tests/Models/PropertyTypeTests.cs @@ -14,7 +14,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Deep_Clone() { - var pt = new PropertyType("TestPropertyEditor", ValueStorageType.Nvarchar, "test") + var pt = new PropertyType(ShortStringHelper, "TestPropertyEditor", ValueStorageType.Nvarchar, "test") { Id = 3, CreateDate = DateTime.Now, @@ -69,7 +69,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Serialize_Without_Error() { - var pt = new PropertyType("TestPropertyEditor", ValueStorageType.Nvarchar, "test") + var pt = new PropertyType(ShortStringHelper, "TestPropertyEditor", ValueStorageType.Nvarchar, "test") { Id = 3, CreateDate = DateTime.Now, diff --git a/src/Umbraco.Tests/Models/TemplateTests.cs b/src/Umbraco.Tests/Models/TemplateTests.cs index b73b8d9fa0..748ccc842d 100644 --- a/src/Umbraco.Tests/Models/TemplateTests.cs +++ b/src/Umbraco.Tests/Models/TemplateTests.cs @@ -16,7 +16,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Deep_Clone() { - var item = new Template("Test", "test") + var item = new Template(ShortStringHelper, "Test", "test") { Id = 3, CreateDate = DateTime.Now, @@ -62,7 +62,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Serialize_Without_Error() { - var item = new Template("Test", "test") + var item = new Template(ShortStringHelper, "Test", "test") { Id = 3, CreateDate = DateTime.Now, diff --git a/src/Umbraco.Tests/Models/UserTests.cs b/src/Umbraco.Tests/Models/UserTests.cs index 8309544224..ba98c69729 100644 --- a/src/Umbraco.Tests/Models/UserTests.cs +++ b/src/Umbraco.Tests/Models/UserTests.cs @@ -14,6 +14,8 @@ namespace Umbraco.Tests.Models [TestFixture] public class UserTests { + private IGlobalSettings GlobalSettings { get; } = SettingsForTests.GenerateMockGlobalSettings(); + [SetUp] public void Setup() { @@ -25,7 +27,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Deep_Clone() { - var item = new User() + var item = new User(GlobalSettings) { Id = 3, Key = Guid.NewGuid(), @@ -67,7 +69,7 @@ namespace Umbraco.Tests.Models [Test] public void Can_Serialize_Without_Error() { - var item = new User + var item = new User(GlobalSettings) { Id = 3, Key = Guid.NewGuid(), diff --git a/src/Umbraco.Tests/Models/VariationTests.cs b/src/Umbraco.Tests/Models/VariationTests.cs index 2270dd595c..615b2d6420 100644 --- a/src/Umbraco.Tests/Models/VariationTests.cs +++ b/src/Umbraco.Tests/Models/VariationTests.cs @@ -1,22 +1,25 @@ using System; using Moq; using NUnit.Framework; +using NUnit.Framework.Internal; using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Configuration; -using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; using Umbraco.Core.Services.Implement; using Umbraco.Core.Strings; using Umbraco.Tests.TestHelpers; +using ILogger = Umbraco.Core.Logging.ILogger; namespace Umbraco.Tests.Models { [TestFixture] public class VariationTests { + private IShortStringHelper ShortStringHelper { get; } = TestHelper.ShortStringHelper; + [SetUp] public void SetUp() { @@ -201,7 +204,7 @@ namespace Umbraco.Tests.Models [Test] public void PropertyTests() { - var propertyType = new PropertyType("editor", ValueStorageType.Nvarchar) { Alias = "prop" }; + var propertyType = new PropertyType(TestHelper.ShortStringHelper, "editor", ValueStorageType.Nvarchar) { Alias = "prop" }; var prop = new Property(propertyType); const string langFr = "fr-FR"; @@ -297,7 +300,7 @@ namespace Umbraco.Tests.Models [Test] public void ContentNames() { - var contentType = new ContentType(-1) { Alias = "contentType" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "contentType" }; var content = new Content("content", -1, contentType) { Id = 1, VersionId = 1 }; const string langFr = "fr-FR"; @@ -338,8 +341,8 @@ namespace Umbraco.Tests.Models { const string langFr = "fr-FR"; - var propertyType = new PropertyType("editor", ValueStorageType.Nvarchar) { Alias = "prop" }; - var contentType = new ContentType(-1) { Alias = "contentType" }; + var propertyType = new PropertyType(ShortStringHelper, "editor", ValueStorageType.Nvarchar) { Alias = "prop" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "contentType" }; contentType.AddPropertyType(propertyType); var content = new Content("content", -1, contentType) { Id = 1, VersionId = 1 }; @@ -453,11 +456,11 @@ namespace Umbraco.Tests.Models // prop1 varies by Culture // prop2 is invariant - var contentType = new ContentType(-1) { Alias = "contentType" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "contentType" }; contentType.Variations |= ContentVariation.Culture; - var variantPropType = new PropertyType("editor", ValueStorageType.Nvarchar) { Alias = "prop1", Variations = ContentVariation.Culture, Mandatory = true }; - var invariantPropType = new PropertyType("editor", ValueStorageType.Nvarchar) { Alias = "prop2", Variations = ContentVariation.Nothing, Mandatory = true}; + var variantPropType = new PropertyType(ShortStringHelper, "editor", ValueStorageType.Nvarchar) { Alias = "prop1", Variations = ContentVariation.Culture, Mandatory = true }; + var invariantPropType = new PropertyType(ShortStringHelper, "editor", ValueStorageType.Nvarchar) { Alias = "prop2", Variations = ContentVariation.Nothing, Mandatory = true}; contentType.AddPropertyType(variantPropType); contentType.AddPropertyType(invariantPropType); @@ -492,8 +495,8 @@ namespace Umbraco.Tests.Models const string langUk = "en-UK"; const string langEs = "es-ES"; - var propertyType = new PropertyType("editor", ValueStorageType.Nvarchar) { Alias = "prop" }; - var contentType = new ContentType(-1) { Alias = "contentType" }; + var propertyType = new PropertyType(ShortStringHelper, "editor", ValueStorageType.Nvarchar) { Alias = "prop" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "contentType" }; contentType.AddPropertyType(propertyType); var content = new Content("content", -1, contentType) { Id = 1, VersionId = 1 }; @@ -547,9 +550,9 @@ namespace Umbraco.Tests.Models [Test] public void IsDirtyTests() { - var propertyType = new PropertyType("editor", ValueStorageType.Nvarchar) { Alias = "prop" }; + var propertyType = new PropertyType(ShortStringHelper, "editor", ValueStorageType.Nvarchar) { Alias = "prop" }; var prop = new Property(propertyType); - var contentType = new ContentType(-1) { Alias = "contentType" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "contentType" }; contentType.AddPropertyType(propertyType); var content = new Content("content", -1, contentType) { Id = 1, VersionId = 1 }; @@ -572,7 +575,7 @@ namespace Umbraco.Tests.Models [Test] public void ValidationTests() { - var propertyType = new PropertyType("editor", ValueStorageType.Nvarchar) { Alias = "prop", SupportsPublishing = true }; + var propertyType = new PropertyType(ShortStringHelper, "editor", ValueStorageType.Nvarchar) { Alias = "prop", SupportsPublishing = true }; var prop = new Property(propertyType); prop.SetValue("a"); diff --git a/src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs b/src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs index d34ddca9b1..6558956b84 100644 --- a/src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs +++ b/src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs @@ -17,6 +17,7 @@ using Umbraco.Tests.Services; using Umbraco.Tests.Services.Importing; using Umbraco.Tests.Testing; using Umbraco.Core.Composing.CompositionExtensions; +using Umbraco.Core.Configuration; using Umbraco.Core.Strings; namespace Umbraco.Tests.Packaging @@ -712,8 +713,8 @@ namespace Umbraco.Tests.Packaging private void AddLanguages() { - var norwegian = new Core.Models.Language("nb-NO"); - var english = new Core.Models.Language("en-GB"); + var norwegian = new Core.Models.Language(TestObjects.GetGlobalSettings(), "nb-NO"); + var english = new Core.Models.Language(TestObjects.GetGlobalSettings(), "en-GB"); ServiceContext.LocalizationService.Save(norwegian, 0); ServiceContext.LocalizationService.Save(english, 0); } diff --git a/src/Umbraco.Tests/Packaging/PackageInstallationTest.cs b/src/Umbraco.Tests/Packaging/PackageInstallationTest.cs index d58e1df0b3..ef3d64965b 100644 --- a/src/Umbraco.Tests/Packaging/PackageInstallationTest.cs +++ b/src/Umbraco.Tests/Packaging/PackageInstallationTest.cs @@ -50,7 +50,9 @@ namespace Umbraco.Tests.Packaging ServiceContext.ContentTypeService, ServiceContext.ContentService, Factory.GetInstance(), Factory.GetInstance(), - Factory.GetInstance()); + Factory.GetInstance(), + Factory.GetInstance() + ); private IPackageInstallation PackageInstallation => new PackageInstallation( PackageDataInstallation, diff --git a/src/Umbraco.Tests/Persistence/NPocoTests/PetaPocoCachesTest.cs b/src/Umbraco.Tests/Persistence/NPocoTests/PetaPocoCachesTest.cs index 5372a12ac2..75cfbe5698 100644 --- a/src/Umbraco.Tests/Persistence/NPocoTests/PetaPocoCachesTest.cs +++ b/src/Umbraco.Tests/Persistence/NPocoTests/PetaPocoCachesTest.cs @@ -133,7 +133,7 @@ namespace Umbraco.Tests.Persistence.NPocoTests contentService.GetContentForRelease(DateTime.Now); - ((ContentService)contentService).GetPublishedDescendants(new Content("Test", -1, new ContentType(-1)) + ((ContentService)contentService).GetPublishedDescendants(new Content("Test", -1, new ContentType(ShortStringHelper, -1)) { Id = id1, Path = "-1," + id1 @@ -174,7 +174,7 @@ namespace Umbraco.Tests.Persistence.NPocoTests } contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory" + Guid.NewGuid().ToString("N"), "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs index 4a9c8d4b71..95e2ad9a67 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs @@ -29,31 +29,31 @@ namespace Umbraco.Tests.Persistence.Repositories private DocumentRepository CreateRepository(IScopeAccessor scopeAccessor, out ContentTypeRepository contentTypeRepository) { - var langRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger); - var templateRepository = new TemplateRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var langRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger,TestObjects.GetGlobalSettings()); + var templateRepository = new TemplateRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepository = new TagRepository(scopeAccessor, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, AppCaches.Disabled); - contentTypeRepository = new ContentTypeRepository(scopeAccessor, AppCaches.Disabled, Logger, commonRepository, langRepository); - var languageRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger); + var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, AppCaches.Disabled, ShortStringHelper); + contentTypeRepository = new ContentTypeRepository(scopeAccessor, AppCaches.Disabled, Logger, commonRepository, langRepository, ShortStringHelper); + var languageRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); var repository = new DocumentRepository(scopeAccessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } private ContentTypeRepository CreateRepository(IScopeAccessor scopeAccessor) { - var langRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger); - var templateRepository = new TemplateRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); - var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, AppCaches.Disabled); - var contentTypeRepository = new ContentTypeRepository(scopeAccessor, AppCaches.Disabled, Logger, commonRepository, langRepository); + var langRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + var templateRepository = new TemplateRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); + var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, AppCaches.Disabled, ShortStringHelper); + var contentTypeRepository = new ContentTypeRepository(scopeAccessor, AppCaches.Disabled, Logger, commonRepository, langRepository, ShortStringHelper); return contentTypeRepository; } private MediaTypeRepository CreateMediaTypeRepository(IScopeAccessor scopeAccessor) { - var templateRepository = new TemplateRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); - var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, AppCaches.Disabled); - var langRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger); - var contentTypeRepository = new MediaTypeRepository(scopeAccessor, AppCaches.Disabled, Logger, commonRepository, langRepository); + var templateRepository = new TemplateRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); + var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, AppCaches.Disabled, ShortStringHelper); + var langRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + var contentTypeRepository = new MediaTypeRepository(scopeAccessor, AppCaches.Disabled, Logger, commonRepository, langRepository, ShortStringHelper); return contentTypeRepository; } @@ -71,13 +71,13 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var templateRepo = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var templateRepo = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var repository = CreateRepository((IScopeAccessor) provider); var templates = new[] { - new Template("test1", "test1"), - new Template("test2", "test2"), - new Template("test3", "test3") + new Template(ShortStringHelper, "test1", "test1"), + new Template(ShortStringHelper, "test2", "test2"), + new Template(ShortStringHelper, "test3", "test3") }; foreach (var template in templates) { @@ -122,7 +122,7 @@ namespace Umbraco.Tests.Persistence.Repositories //create a - var contentType2 = (IContentType)new ContentType(contentType, "hello") + var contentType2 = (IContentType)new ContentType(ShortStringHelper, contentType, "hello") { Name = "Blahasdfsadf" }; @@ -365,7 +365,7 @@ namespace Umbraco.Tests.Persistence.Repositories var contentType = repository.Get(NodeDto.NodeIdSeed + 1); contentType.Thumbnail = "Doc2.png"; - contentType.PropertyGroups["Content"].PropertyTypes.Add(new PropertyType("test", ValueStorageType.Ntext, "subtitle") + contentType.PropertyGroups["Content"].PropertyTypes.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "Optional Subtitle", @@ -775,7 +775,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(contentType.PropertyTypes.Count(), Is.EqualTo(4)); // Act - var urlAlias = new PropertyType("test", ValueStorageType.Nvarchar, "urlAlias") + var urlAlias = new PropertyType(ShortStringHelper, "test", ValueStorageType.Nvarchar, "urlAlias") { Name = "Url Alias", Description = "", @@ -880,7 +880,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Act var propertyGroup = contentType.PropertyGroups.First(x => x.Name == "Meta"); - propertyGroup.PropertyTypes.Add(new PropertyType("test", ValueStorageType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + propertyGroup.PropertyTypes.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); repository.Save(contentType); @@ -907,7 +907,7 @@ namespace Umbraco.Tests.Persistence.Repositories var propertyGroup = contentType.PropertyGroups.First(x => x.Name == "Meta"); - propertyGroup.PropertyTypes.Add(new PropertyType("test", ValueStorageType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + propertyGroup.PropertyTypes.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); repository.Save(contentType); @@ -944,7 +944,7 @@ namespace Umbraco.Tests.Persistence.Repositories contentType.RemovePropertyType("keywords"); //Add PropertyType var propertyGroup = contentType.PropertyGroups.First(x => x.Name == "Meta"); - propertyGroup.PropertyTypes.Add(new PropertyType("test", ValueStorageType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + propertyGroup.PropertyTypes.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); repository.Save(contentType); diff --git a/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs index 3c19e15fff..fb5a87b63d 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs @@ -42,7 +42,7 @@ namespace Umbraco.Tests.Persistence.Repositories dtRepo.Save(dataType2); var ctRepo = Factory.GetInstance(); - IContentType ct = new ContentType(-1) + IContentType ct = new ContentType(ShortStringHelper, -1) { Alias = "ct1", Name = "CT1", @@ -55,15 +55,15 @@ namespace Umbraco.Tests.Persistence.Repositories Name = "PG1", PropertyTypes = new PropertyTypeCollection(true) { - new PropertyType(dataType1, "pt1") + new PropertyType(ShortStringHelper, dataType1, "pt1") { Name = "PT1" }, - new PropertyType(dataType1, "pt2") + new PropertyType(ShortStringHelper, dataType1, "pt2") { Name = "PT2" }, - new PropertyType(dataType2, "pt3") + new PropertyType(ShortStringHelper, dataType2, "pt3") { Name = "PT3" } diff --git a/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs index 155ea1905c..e23734acc3 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs @@ -288,7 +288,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var repository = CreateRepository(); - var languageNo = new Language("nb-NO") { CultureName = "nb-NO" }; + var languageNo = new Language(TestObjects.GetGlobalSettings(), "nb-NO") { CultureName = "nb-NO" }; ServiceContext.LocalizationService.Save(languageNo); // Act @@ -373,7 +373,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var language = ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US"); - var languageDK = new Language("da-DK") { CultureName = "da-DK" }; + var languageDK = new Language(TestObjects.GetGlobalSettings(), "da-DK") { CultureName = "da-DK" }; ServiceContext.LocalizationService.Save(languageDK);//Id 2 var readMore = new DictionaryItem("Read More"); diff --git a/src/Umbraco.Tests/Persistence/Repositories/DocumentRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DocumentRepositoryTest.cs index 0b02fd522d..26a09d9b61 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DocumentRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/DocumentRepositoryTest.cs @@ -64,11 +64,11 @@ namespace Umbraco.Tests.Persistence.Repositories { appCaches = appCaches ?? AppCaches; - templateRepository = new TemplateRepository(scopeAccessor, appCaches, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + templateRepository = new TemplateRepository(scopeAccessor, appCaches, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepository = new TagRepository(scopeAccessor, appCaches, Logger); - var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, appCaches); - var languageRepository = new LanguageRepository(scopeAccessor, appCaches, Logger); - contentTypeRepository = new ContentTypeRepository(scopeAccessor, appCaches, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, appCaches, ShortStringHelper); + var languageRepository = new LanguageRepository(scopeAccessor, appCaches, Logger, TestObjects.GetGlobalSettings()); + contentTypeRepository = new ContentTypeRepository(scopeAccessor, appCaches, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository(scopeAccessor, appCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } @@ -421,7 +421,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var repository = CreateRepository((IScopeAccessor)provider, out var contentTypeRepository, out TemplateRepository templateRepository); - var template = new Template("hello", "hello"); + var template = new Template(ShortStringHelper, "hello", "hello"); templateRepository.Save(template); diff --git a/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs index a8be4f5c2a..7350d71977 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs @@ -20,11 +20,11 @@ namespace Umbraco.Tests.Persistence.Repositories private DomainRepository CreateRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository, out DocumentRepository documentRepository, out LanguageRepository languageRepository) { var accessor = (IScopeAccessor) provider; - var templateRepository = new TemplateRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var templateRepository = new TemplateRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepository = new TagRepository(accessor, Core.Cache.AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches); - languageRepository = new LanguageRepository(accessor, Core.Cache.AppCaches.Disabled, Logger); - contentTypeRepository = new ContentTypeRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches, ShortStringHelper); + languageRepository = new LanguageRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + contentTypeRepository = new ContentTypeRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); documentRepository = new DocumentRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); var domainRepository = new DomainRepository(accessor, Core.Cache.AppCaches.Disabled, Logger); return domainRepository; @@ -41,7 +41,7 @@ namespace Umbraco.Tests.Persistence.Repositories var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo); - var lang = new Language(isoName); + var lang = new Language(TestObjects.GetGlobalSettings(), isoName); langRepo.Save(lang); ct = MockedContentTypes.CreateBasicContentType("test", "Test"); @@ -196,7 +196,7 @@ namespace Umbraco.Tests.Persistence.Repositories //more test data var lang1 = langRepo.GetByIsoCode("en-AU"); - var lang2 = new Language("es"); + var lang2 = new Language(TestObjects.GetGlobalSettings(), "es"); langRepo.Save(lang2); var content2 = new Content("test", -1, ct) { CreatorId = 0, WriterId = 0 }; documentRepo.Save(content2); diff --git a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs index 85a3374cea..b1dbe7b6e0 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs @@ -4,6 +4,7 @@ using System.Linq; using Moq; using NUnit.Framework; using Umbraco.Core.Cache; +using Umbraco.Core.Configuration; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; @@ -27,7 +28,7 @@ namespace Umbraco.Tests.Persistence.Repositories private LanguageRepository CreateRepository(IScopeProvider provider) { - return new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + return new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), TestObjects.GetGlobalSettings()); } [Test] @@ -61,7 +62,7 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(provider); var au = CultureInfo.GetCultureInfo("en-AU"); - var language = (ILanguage)new Language(au.Name) + var language = (ILanguage)new Language(TestObjects.GetGlobalSettings(), au.Name) { CultureName = au.DisplayName, FallbackLanguageId = 1 @@ -185,7 +186,7 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(provider); // Act - var languageBR = new Language("pt-BR") { CultureName = "pt-BR" }; + var languageBR = new Language(TestObjects.GetGlobalSettings(), "pt-BR") { CultureName = "pt-BR" }; repository.Save(languageBR); // Assert @@ -207,7 +208,7 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(provider); // Act - var languageBR = new Language("pt-BR") { CultureName = "pt-BR", IsDefault = true, IsMandatory = true }; + var languageBR = new Language(TestObjects.GetGlobalSettings(), "pt-BR") { CultureName = "pt-BR", IsDefault = true, IsMandatory = true }; repository.Save(languageBR); // Assert @@ -229,7 +230,7 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(provider); // Act - var languageBR = new Language("pt-BR") + var languageBR = new Language(TestObjects.GetGlobalSettings(), "pt-BR") { CultureName = "pt-BR", FallbackLanguageId = 1 @@ -252,16 +253,16 @@ namespace Umbraco.Tests.Persistence.Repositories { var repository = CreateRepository(provider); - var languageBR = (ILanguage)new Language("pt-BR") { CultureName = "pt-BR", IsDefault = true, IsMandatory = true }; + var languageBR = (ILanguage)new Language(TestObjects.GetGlobalSettings(), "pt-BR") { CultureName = "pt-BR", IsDefault = true, IsMandatory = true }; repository.Save(languageBR); - var languageEN = new Language("en-AU") { CultureName = "en-AU" }; + var languageEN = new Language(TestObjects.GetGlobalSettings(), "en-AU") { CultureName = "en-AU" }; repository.Save(languageEN); Assert.IsTrue(languageBR.IsDefault); Assert.IsTrue(languageBR.IsMandatory); // Act - var languageNZ = new Language("en-NZ") { CultureName = "en-NZ", IsDefault = true, IsMandatory = true }; + var languageNZ = new Language(TestObjects.GetGlobalSettings(), "en-NZ") { CultureName = "en-NZ", IsDefault = true, IsMandatory = true }; repository.Save(languageNZ); languageBR = repository.Get(languageBR.Id); @@ -389,16 +390,16 @@ namespace Umbraco.Tests.Persistence.Repositories { //Id 1 is en-US - when Umbraco is installed - var languageDK = new Language("da-DK") { CultureName = "da-DK" }; + var languageDK = new Language(TestObjects.GetGlobalSettings(), "da-DK") { CultureName = "da-DK" }; ServiceContext.LocalizationService.Save(languageDK);//Id 2 - var languageSE = new Language("sv-SE") { CultureName = "sv-SE" }; + var languageSE = new Language(TestObjects.GetGlobalSettings(), "sv-SE") { CultureName = "sv-SE" }; ServiceContext.LocalizationService.Save(languageSE);//Id 3 - var languageDE = new Language("de-DE") { CultureName = "de-DE" }; + var languageDE = new Language(TestObjects.GetGlobalSettings(), "de-DE") { CultureName = "de-DE" }; ServiceContext.LocalizationService.Save(languageDE);//Id 4 - var languagePT = new Language("pt-PT") { CultureName = "pt-PT" }; + var languagePT = new Language(TestObjects.GetGlobalSettings(), "pt-PT") { CultureName = "pt-PT" }; ServiceContext.LocalizationService.Save(languagePT);//Id 5 } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs index 6f215f4a35..4b9d0436ec 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs @@ -35,9 +35,9 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); - var macro = new Macro("test1", "Test", "~/views/macropartials/test.cshtml", MacroTypes.PartialView); + var macro = new Macro(ShortStringHelper, "test1", "Test", "~/views/macropartials/test.cshtml", MacroTypes.PartialView); ; Assert.Throws(() => repository.Save(macro)); @@ -52,11 +52,11 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); var macro = repository.Get(1); macro.Alias = "test2"; - + Assert.Throws(() => repository.Save(macro)); } @@ -69,7 +69,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Assert Assert.That(repository, Is.Not.Null); @@ -83,7 +83,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Act var macro = repository.Get(1); @@ -111,7 +111,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Act var macros = repository.GetMany(); @@ -129,7 +129,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Act var query = scope.SqlContext.Query().Where(x => x.Alias.ToUpper() == "TEST1"); @@ -147,7 +147,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Act var query = scope.SqlContext.Query().Where(x => x.Name.StartsWith("Test")); @@ -165,10 +165,10 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Act - var macro = new Macro("test", "Test", "~/views/macropartials/test.cshtml", MacroTypes.PartialView); + var macro = new Macro(ShortStringHelper, "test", "Test", "~/views/macropartials/test.cshtml", MacroTypes.PartialView); macro.Properties.Add(new MacroProperty("test", "Test", 0, "test")); repository.Save(macro); @@ -186,7 +186,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Act var macro = repository.Get(2); @@ -221,7 +221,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Act var macro = repository.Get(3); @@ -242,7 +242,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); // Act var exists = repository.Exists(3); @@ -261,7 +261,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -287,9 +287,9 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); - var macro = new Macro("newmacro", "A new macro", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView); + var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView); macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor")); repository.Save(macro); @@ -312,9 +312,9 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); - var macro = new Macro("newmacro", "A new macro", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView); + var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView); macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor")); repository.Save(macro); @@ -336,9 +336,9 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); - var macro = new Macro("newmacro", "A new macro", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView); + var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView); var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor"); var prop2 = new MacroProperty("blah2", "New2", 3, "test.editor"); @@ -367,7 +367,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -394,7 +394,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -422,11 +422,11 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); - repository.Save(new Macro("test1", "Test1", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView)); - repository.Save(new Macro("test2", "Test2", "~/views/macropartials/test2.cshtml", MacroTypes.PartialView)); - repository.Save(new Macro("test3", "Tet3", "~/views/macropartials/test3.cshtml", MacroTypes.PartialView)); + repository.Save(new Macro(ShortStringHelper, "test1", "Test1", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView)); + repository.Save(new Macro(ShortStringHelper, "test2", "Test2", "~/views/macropartials/test2.cshtml", MacroTypes.PartialView)); + repository.Save(new Macro(ShortStringHelper, "test3", "Tet3", "~/views/macropartials/test3.cshtml", MacroTypes.PartialView)); scope.Complete(); } diff --git a/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs index 56db88419a..98b1ad4aae 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs @@ -34,10 +34,10 @@ namespace Umbraco.Tests.Persistence.Repositories appCaches = appCaches ?? AppCaches; var scopeAccessor = (IScopeAccessor) provider; - var templateRepository = new TemplateRepository(scopeAccessor, appCaches, Logger, TestObjects.GetFileSystemsMock(), IOHelper); - var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, appCaches); - var languageRepository = new LanguageRepository(scopeAccessor, appCaches, Logger); - mediaTypeRepository = new MediaTypeRepository(scopeAccessor, appCaches, Logger, commonRepository, languageRepository); + var templateRepository = new TemplateRepository(scopeAccessor, appCaches, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); + var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, appCaches, ShortStringHelper); + var languageRepository = new LanguageRepository(scopeAccessor, appCaches, Logger, TestObjects.GetGlobalSettings()); + mediaTypeRepository = new MediaTypeRepository(scopeAccessor, appCaches, Logger, commonRepository, languageRepository, ShortStringHelper); var tagRepository = new TagRepository(scopeAccessor, appCaches, Logger); var repository = new MediaRepository(scopeAccessor, appCaches, Logger, mediaTypeRepository, tagRepository, Mock.Of()); return repository; diff --git a/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs index 4bda37c15c..6ffbdaca10 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs @@ -21,10 +21,10 @@ namespace Umbraco.Tests.Persistence.Repositories private MediaTypeRepository CreateRepository(IScopeProvider provider) { var cacheHelper = AppCaches.Disabled; - var templateRepository = new TemplateRepository((IScopeAccessor)provider, cacheHelper, Logger, TestObjects.GetFileSystemsMock(), IOHelper); - var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, templateRepository, AppCaches); - var languageRepository = new LanguageRepository((IScopeAccessor)provider, AppCaches, Logger); - return new MediaTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var templateRepository = new TemplateRepository((IScopeAccessor)provider, cacheHelper, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); + var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository((IScopeAccessor)provider, AppCaches, Logger, TestObjects.GetGlobalSettings()); + return new MediaTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); } private EntityContainerRepository CreateContainerRepository(IScopeProvider provider) @@ -56,7 +56,7 @@ namespace Umbraco.Tests.Persistence.Repositories //create a - var contentType2 = (IMediaType)new MediaType(contentType, "hello") + var contentType2 = (IMediaType)new MediaType(ShortStringHelper, contentType, "hello") { Name = "Blahasdfsadf" }; @@ -218,7 +218,7 @@ namespace Umbraco.Tests.Persistence.Repositories var mediaType = repository.Get(NodeDto.NodeIdSeed); mediaType.Thumbnail = "Doc2.png"; - mediaType.PropertyGroups["Media"].PropertyTypes.Add(new PropertyType("test", ValueStorageType.Ntext, "subtitle") + mediaType.PropertyGroups["Media"].PropertyTypes.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "Optional Subtitle", diff --git a/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs index 5a3a011a74..dbf8b2fa86 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs @@ -30,9 +30,9 @@ namespace Umbraco.Tests.Persistence.Repositories { var accessor = (IScopeAccessor) provider; var templateRepository = Mock.Of(); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches); - var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger); - memberTypeRepository = new MemberTypeRepository(accessor, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + memberTypeRepository = new MemberTypeRepository(accessor, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); memberGroupRepository = new MemberGroupRepository(accessor, AppCaches.Disabled, Logger); var tagRepo = new TagRepository(accessor, AppCaches.Disabled, Logger); var repository = new MemberRepository(accessor, AppCaches.Disabled, Logger, memberTypeRepository, memberGroupRepository, tagRepo, Mock.Of()); @@ -174,11 +174,11 @@ namespace Umbraco.Tests.Persistence.Repositories var sut = repository.Get(member.Id); Assert.That(memberType.CompositionPropertyGroups.Count(), Is.EqualTo(2)); - Assert.That(memberType.CompositionPropertyTypes.Count(), Is.EqualTo(3 + ConventionsHelper.GetStandardPropertyTypeStubs().Count)); - Assert.That(sut.Properties.Count(), Is.EqualTo(3 + ConventionsHelper.GetStandardPropertyTypeStubs().Count)); + Assert.That(memberType.CompositionPropertyTypes.Count(), Is.EqualTo(3 + ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper).Count)); + Assert.That(sut.Properties.Count(), Is.EqualTo(3 + ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper).Count)); var grp = memberType.CompositionPropertyGroups.FirstOrDefault(x => x.Name == Constants.Conventions.Member.StandardPropertiesGroupName); Assert.IsNotNull(grp); - var aliases = ConventionsHelper.GetStandardPropertyTypeStubs().Select(x => x.Key).ToArray(); + var aliases = ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper).Select(x => x.Key).ToArray(); foreach (var p in memberType.CompositionPropertyTypes.Where(x => aliases.Contains(x.Alias))) { Assert.AreEqual(grp.Id, p.PropertyGroupId.Value); diff --git a/src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs index fc5504fd6f..b8c60f97fe 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs @@ -23,9 +23,9 @@ namespace Umbraco.Tests.Persistence.Repositories private MemberTypeRepository CreateRepository(IScopeProvider provider) { var templateRepository = Mock.Of(); - var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, templateRepository, AppCaches); - var languageRepository = new LanguageRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of()); - return new MemberTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository((IScopeAccessor)provider, AppCaches.Disabled, Mock.Of(), TestObjects.GetGlobalSettings()); + return new MemberTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), commonRepository, languageRepository, ShortStringHelper); } [Test] @@ -41,7 +41,7 @@ namespace Umbraco.Tests.Persistence.Repositories var sut = repository.Get(memberType.Id); - var standardProps = ConventionsHelper.GetStandardPropertyTypeStubs(); + var standardProps = ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper); Assert.That(sut, Is.Not.Null); Assert.That(sut.PropertyGroups.Count, Is.EqualTo(2)); @@ -236,7 +236,7 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Bug_Changing_Built_In_Member_Type_Property_Type_Aliases_Results_In_Exception() { - var stubs = ConventionsHelper.GetStandardPropertyTypeStubs(); + var stubs = ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper); var provider = TestObjects.GetScopeProvider(Logger); using (provider.CreateScope()) @@ -281,7 +281,7 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Built_In_Member_Type_Properties_Are_Automatically_Added_When_Creating() { - var stubs = ConventionsHelper.GetStandardPropertyTypeStubs(); + var stubs = ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper); var provider = TestObjects.GetScopeProvider(Logger); using (provider.CreateScope()) @@ -312,7 +312,7 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Built_In_Member_Type_Properties_Missing_Are_Automatically_Added_When_Creating() { - var stubs = ConventionsHelper.GetStandardPropertyTypeStubs(); + var stubs = ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper); var provider = TestObjects.GetScopeProvider(Logger); using (provider.CreateScope()) diff --git a/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs index 66d6bb9619..86b19728c0 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs @@ -305,11 +305,11 @@ namespace Umbraco.Tests.Persistence.Repositories private DocumentRepository CreateRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository) { var accessor = (IScopeAccessor) provider; - var templateRepository = new TemplateRepository(accessor, AppCaches, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var templateRepository = new TemplateRepository(accessor, AppCaches, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepository = new TagRepository(accessor, AppCaches, Logger); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches); - var languageRepository = new LanguageRepository(accessor, AppCaches, Logger); - contentTypeRepository = new ContentTypeRepository(accessor, AppCaches, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository(accessor, AppCaches, Logger, TestObjects.GetGlobalSettings()); + contentTypeRepository = new ContentTypeRepository(accessor, AppCaches, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository(accessor, AppCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs index b186e344ae..a4fd133c88 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs @@ -953,11 +953,11 @@ namespace Umbraco.Tests.Persistence.Repositories private DocumentRepository CreateContentRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository) { var accessor = (IScopeAccessor) provider; - var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepository = new TagRepository(accessor, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches.Disabled); - var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger); - contentTypeRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches.Disabled, ShortStringHelper); + var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + contentTypeRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository(accessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } @@ -965,11 +965,11 @@ namespace Umbraco.Tests.Persistence.Repositories private MediaRepository CreateMediaRepository(IScopeProvider provider, out MediaTypeRepository mediaTypeRepository) { var accessor = (IScopeAccessor) provider; - var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepository = new TagRepository(accessor, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches.Disabled); - var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger); - mediaTypeRepository = new MediaTypeRepository(accessor, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches.Disabled, ShortStringHelper); + var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + mediaTypeRepository = new MediaTypeRepository(accessor, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new MediaRepository(accessor, AppCaches.Disabled, Logger, mediaTypeRepository, tagRepository, Mock.Of()); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs index 0bb761a2ac..953a85fa16 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs @@ -28,7 +28,7 @@ namespace Umbraco.Tests.Persistence.Repositories private ITemplateRepository CreateRepository(IScopeProvider provider) { - return new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, _fileSystems, IOHelper); + return new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, _fileSystems, IOHelper, ShortStringHelper); } public override void SetUp() @@ -62,7 +62,7 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(ScopeProvider); // Act - var template = new Template("test", "test"); + var template = new Template(ShortStringHelper, "test", "test"); repository.Save(template); @@ -81,7 +81,7 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(ScopeProvider); // Act - var template = new Template("test", "test") + var template = new Template(ShortStringHelper, "test", "test") { Content = ViewHelper.GetDefaultFileContent() }; @@ -105,11 +105,11 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(ScopeProvider); //NOTE: This has to be persisted first - var template = new Template("test", "test"); + var template = new Template(ShortStringHelper, "test", "test"); repository.Save(template); // Act - var template2 = new Template("test2", "test2"); + var template2 = new Template(ShortStringHelper, "test2", "test2"); template2.SetMasterTemplate(template); repository.Save(template2); @@ -131,13 +131,13 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(ScopeProvider); // Act - var template = new Template("test", "test") + var template = new Template(ShortStringHelper, "test", "test") { Content = ViewHelper.GetDefaultFileContent() }; repository.Save(template); - var template2 = new Template("test", "test") + var template2 = new Template(ShortStringHelper, "test", "test") { Content = ViewHelper.GetDefaultFileContent() }; @@ -157,13 +157,13 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(ScopeProvider); // Act - var template = new Template("test", "test") + var template = new Template(ShortStringHelper, "test", "test") { Content = ViewHelper.GetDefaultFileContent() }; repository.Save(template); - var template2 = new Template("test1", "test1") + var template2 = new Template(ShortStringHelper, "test1", "test1") { Content = ViewHelper.GetDefaultFileContent() }; @@ -188,7 +188,7 @@ namespace Umbraco.Tests.Persistence.Repositories var repository = CreateRepository(ScopeProvider); // Act - var template = new Template("test", "test") + var template = new Template(ShortStringHelper, "test", "test") { Content = ViewHelper.GetDefaultFileContent() }; @@ -213,7 +213,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var repository = CreateRepository(ScopeProvider); - var template = new Template("test", "test") + var template = new Template(ShortStringHelper, "test", "test") { Content = ViewHelper.GetDefaultFileContent() }; @@ -239,9 +239,9 @@ namespace Umbraco.Tests.Persistence.Repositories var templateRepository = CreateRepository(ScopeProvider); var tagRepository = new TagRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository(ScopeProvider, templateRepository, AppCaches); - var languageRepository = new LanguageRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger); - var contentTypeRepository = new ContentTypeRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(ScopeProvider, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + var contentTypeRepository = new ContentTypeRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); var contentRepo = new DocumentRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage"); @@ -250,7 +250,7 @@ namespace Umbraco.Tests.Persistence.Repositories var textpage = MockedContent.CreateSimpleContent(contentType); contentRepo.Save(textpage); - var template = new Template("test", "test") + var template = new Template(ShortStringHelper, "test", "test") { Content = @"<%@ Master Language=""C#"" %>" }; @@ -276,15 +276,15 @@ namespace Umbraco.Tests.Persistence.Repositories { var repository = CreateRepository(ScopeProvider); - var parent = new Template("parent", "parent") + var parent = new Template(ShortStringHelper, "parent", "parent") { Content = @"<%@ Master Language=""C#"" %>" }; - var child = new Template("child", "child") + var child = new Template(ShortStringHelper, "child", "child") { Content = @"<%@ Master Language=""C#"" %>" }; - var baby = new Template("baby", "baby") + var baby = new Template(ShortStringHelper, "baby", "baby") { Content = @"<%@ Master Language=""C#"" %>" }; @@ -403,15 +403,15 @@ namespace Umbraco.Tests.Persistence.Repositories { var repository = CreateRepository(ScopeProvider); - var parent = new Template("parent", "parent"); - var child1 = new Template("child1", "child1"); - var toddler1 = new Template("toddler1", "toddler1"); - var toddler2 = new Template("toddler2", "toddler2"); - var baby1 = new Template("baby1", "baby1"); - var child2 = new Template("child2", "child2"); - var toddler3 = new Template("toddler3", "toddler3"); - var toddler4 = new Template("toddler4", "toddler4"); - var baby2 = new Template("baby2", "baby2"); + var parent = new Template(ShortStringHelper, "parent", "parent"); + var child1 = new Template(ShortStringHelper, "child1", "child1"); + var toddler1 = new Template(ShortStringHelper, "toddler1", "toddler1"); + var toddler2 = new Template(ShortStringHelper, "toddler2", "toddler2"); + var baby1 = new Template(ShortStringHelper, "baby1", "baby1"); + var child2 = new Template(ShortStringHelper, "child2", "child2"); + var toddler3 = new Template(ShortStringHelper, "toddler3", "toddler3"); + var toddler4 = new Template(ShortStringHelper, "toddler4", "toddler4"); + var baby2 = new Template(ShortStringHelper, "baby2", "baby2"); child1.MasterTemplateAlias = parent.Alias; child1.MasterTemplateId = new Lazy(() => parent.Id); @@ -463,11 +463,11 @@ namespace Umbraco.Tests.Persistence.Repositories { var repository = CreateRepository(ScopeProvider); - var parent = new Template("parent", "parent"); - var child1 = new Template("child1", "child1"); - var child2 = new Template("child2", "child2"); - var toddler1 = new Template("toddler1", "toddler1"); - var toddler2 = new Template("toddler2", "toddler2"); + var parent = new Template(ShortStringHelper, "parent", "parent"); + var child1 = new Template(ShortStringHelper, "child1", "child1"); + var child2 = new Template(ShortStringHelper, "child2", "child2"); + var toddler1 = new Template(ShortStringHelper, "toddler1", "toddler1"); + var toddler2 = new Template(ShortStringHelper, "toddler2", "toddler2"); child1.MasterTemplateAlias = parent.Alias; child1.MasterTemplateId = new Lazy(() => parent.Id); @@ -501,8 +501,8 @@ namespace Umbraco.Tests.Persistence.Repositories { var repository = CreateRepository(ScopeProvider); - var parent = new Template("parent", "parent"); - var child1 = new Template("child1", "child1"); + var parent = new Template(ShortStringHelper, "parent", "parent"); + var child1 = new Template(ShortStringHelper, "child1", "child1"); child1.MasterTemplateAlias = parent.Alias; child1.MasterTemplateId = new Lazy(() => parent.Id); @@ -546,41 +546,41 @@ namespace Umbraco.Tests.Persistence.Repositories private IEnumerable CreateHierarchy(ITemplateRepository repository) { - var parent = new Template("parent", "parent") + var parent = new Template(ShortStringHelper, "parent", "parent") { Content = @"<%@ Master Language=""C#"" %>" }; - var child1 = new Template("child1", "child1") + var child1 = new Template(ShortStringHelper, "child1", "child1") { Content = @"<%@ Master Language=""C#"" %>" }; - var toddler1 = new Template("toddler1", "toddler1") + var toddler1 = new Template(ShortStringHelper, "toddler1", "toddler1") { Content = @"<%@ Master Language=""C#"" %>" }; - var toddler2 = new Template("toddler2", "toddler2") + var toddler2 = new Template(ShortStringHelper, "toddler2", "toddler2") { Content = @"<%@ Master Language=""C#"" %>" }; - var baby1 = new Template("baby1", "baby1") + var baby1 = new Template(ShortStringHelper, "baby1", "baby1") { Content = @"<%@ Master Language=""C#"" %>" }; - var child2 = new Template("child2", "child2") + var child2 = new Template(ShortStringHelper, "child2", "child2") { Content = @"<%@ Master Language=""C#"" %>" }; - var toddler3 = new Template("toddler3", "toddler3") + var toddler3 = new Template(ShortStringHelper, "toddler3", "toddler3") { Content = @"<%@ Master Language=""C#"" %>" }; - var toddler4 = new Template("toddler4", "toddler4") + var toddler4 = new Template(ShortStringHelper, "toddler4", "toddler4") { Content = @"<%@ Master Language=""C#"" %>" }; - var baby2 = new Template("baby2", "baby2") + var baby2 = new Template(ShortStringHelper, "baby2", "baby2") { Content = @"<%@ Master Language=""C#"" %>" }; diff --git a/src/Umbraco.Tests/Persistence/Repositories/UserGroupRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/UserGroupRepositoryTest.cs index 311372ef10..a051980ad2 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/UserGroupRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/UserGroupRepositoryTest.cs @@ -19,7 +19,7 @@ namespace Umbraco.Tests.Persistence.Repositories { private UserGroupRepository CreateRepository(IScopeProvider provider) { - return new UserGroupRepository((IScopeAccessor) provider, Core.Cache.AppCaches.Disabled, Mock.Of()); + return new UserGroupRepository((IScopeAccessor) provider, Core.Cache.AppCaches.Disabled, Mock.Of(), ShortStringHelper); } [Test] @@ -56,7 +56,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Act repository.Save(userGroup1); - + repository.Save(userGroup2); scope.Complete(); @@ -99,7 +99,7 @@ namespace Umbraco.Tests.Persistence.Repositories var userGroup = MockedUserGroup.CreateUserGroup(); repository.Save(userGroup); - + // Act var resolved = repository.Get(userGroup.Id); @@ -128,10 +128,10 @@ namespace Umbraco.Tests.Persistence.Repositories // Act repository.Save(userGroup); - + var id = userGroup.Id; - var repository2 = new UserGroupRepository((IScopeAccessor) provider, Core.Cache.AppCaches.Disabled, Logger); + var repository2 = new UserGroupRepository((IScopeAccessor) provider, Core.Cache.AppCaches.Disabled, Logger, ShortStringHelper); repository2.Delete(userGroup); scope.Complete(); diff --git a/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs index 553f77d05b..1ebb12237f 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs @@ -25,10 +25,10 @@ namespace Umbraco.Tests.Persistence.Repositories private MediaRepository CreateMediaRepository(IScopeProvider provider, out IMediaTypeRepository mediaTypeRepository) { var accessor = (IScopeAccessor) provider; - var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches); - var languageRepository = new LanguageRepository(accessor, AppCaches, Logger); - mediaTypeRepository = new MediaTypeRepository(accessor, AppCaches, Mock.Of(), commonRepository, languageRepository); + var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); + var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository(accessor, AppCaches, Logger, TestObjects.GetGlobalSettings()); + mediaTypeRepository = new MediaTypeRepository(accessor, AppCaches, Mock.Of(), commonRepository, languageRepository, ShortStringHelper); var tagRepository = new TagRepository(accessor, AppCaches, Mock.Of()); var repository = new MediaRepository(accessor, AppCaches, Mock.Of(), mediaTypeRepository, tagRepository, Mock.Of()); return repository; @@ -43,11 +43,11 @@ namespace Umbraco.Tests.Persistence.Repositories private DocumentRepository CreateContentRepository(IScopeProvider provider, out IContentTypeRepository contentTypeRepository, out ITemplateRepository templateRepository) { var accessor = (IScopeAccessor) provider; - templateRepository = new TemplateRepository(accessor, AppCaches, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + templateRepository = new TemplateRepository(accessor, AppCaches, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepository = new TagRepository(accessor, AppCaches, Logger); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches); - var languageRepository = new LanguageRepository(accessor, AppCaches, Logger); - contentTypeRepository = new ContentTypeRepository(accessor, AppCaches, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository(accessor, AppCaches, Logger, TestObjects.GetGlobalSettings()); + contentTypeRepository = new ContentTypeRepository(accessor, AppCaches, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository(accessor, AppCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } @@ -62,7 +62,7 @@ namespace Umbraco.Tests.Persistence.Repositories private UserGroupRepository CreateUserGroupRepository(IScopeProvider provider) { var accessor = (IScopeAccessor) provider; - return new UserGroupRepository(accessor, AppCaches.Disabled, Logger); + return new UserGroupRepository(accessor, AppCaches.Disabled, Logger, ShortStringHelper); } [Test] diff --git a/src/Umbraco.Tests/PropertyEditors/MultiValuePropertyEditorTests.cs b/src/Umbraco.Tests/PropertyEditors/MultiValuePropertyEditorTests.cs index c86414d906..06aec6fa30 100644 --- a/src/Umbraco.Tests/PropertyEditors/MultiValuePropertyEditorTests.cs +++ b/src/Umbraco.Tests/PropertyEditors/MultiValuePropertyEditorTests.cs @@ -47,7 +47,7 @@ namespace Umbraco.Tests.PropertyEditors var dataTypeService = new TestObjects.TestDataTypeService(dataType); - var prop = new Property(1, new PropertyType(dataType)); + var prop = new Property(1, new PropertyType(TestHelper.ShortStringHelper, dataType)); prop.SetValue("Value 1,Value 2,Value 3"); var valueEditor = dataType.Editor.GetValueEditor(); @@ -76,7 +76,7 @@ namespace Umbraco.Tests.PropertyEditors var dataTypeService = new TestObjects.TestDataTypeService(dataType); - var prop = new Property(1, new PropertyType(dataType)); + var prop = new Property(1, new PropertyType(TestHelper.ShortStringHelper, dataType)); prop.SetValue("Value 2"); var result = dataType.Editor.GetValueEditor().ConvertDbToString(prop.PropertyType, prop.GetValue()); diff --git a/src/Umbraco.Tests/PropertyEditors/PropertyEditorValueConverterTests.cs b/src/Umbraco.Tests/PropertyEditors/PropertyEditorValueConverterTests.cs index ad07501296..33c8b2ae1d 100644 --- a/src/Umbraco.Tests/PropertyEditors/PropertyEditorValueConverterTests.cs +++ b/src/Umbraco.Tests/PropertyEditors/PropertyEditorValueConverterTests.cs @@ -8,6 +8,7 @@ using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.PropertyEditors; using Umbraco.Core.PropertyEditors.ValueConverters; using Umbraco.Core.Serialization; +using Umbraco.Tests.TestHelpers; using Umbraco.Web.PropertyEditors; using Umbraco.Web.PropertyEditors.ValueConverters; @@ -95,7 +96,7 @@ namespace Umbraco.Tests.PropertyEditors var publishedPropType = new PublishedPropertyType( new PublishedContentType(1234, "test", PublishedItemType.Content, Enumerable.Empty(), Enumerable.Empty(), ContentVariation.Nothing), - new PropertyType("test", ValueStorageType.Nvarchar) { DataTypeId = 123 }, + new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Nvarchar) { DataTypeId = 123 }, new PropertyValueConverterCollection(Enumerable.Empty()), Mock.Of(), mockPublishedContentTypeFactory.Object); diff --git a/src/Umbraco.Tests/PropertyEditors/PropertyEditorValueEditorTests.cs b/src/Umbraco.Tests/PropertyEditors/PropertyEditorValueEditorTests.cs index 56fc6f95ee..134a1e3711 100644 --- a/src/Umbraco.Tests/PropertyEditors/PropertyEditorValueEditorTests.cs +++ b/src/Umbraco.Tests/PropertyEditors/PropertyEditorValueEditorTests.cs @@ -45,7 +45,7 @@ namespace Umbraco.Tests.PropertyEditors [TestCase("hello world", false)] public void Value_Editor_Can_Convert_To_Json_Object_For_Editor(string value, bool isOk) { - var prop = new Property(1, new PropertyType("test", ValueStorageType.Nvarchar)); + var prop = new Property(1, new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Nvarchar)); prop.SetValue(value); var valueEditor = TestHelper.CreateDataValueEditor(ValueTypes.String); @@ -117,7 +117,7 @@ namespace Umbraco.Tests.PropertyEditors [TestCase(ValueTypes.DateTime, "", "")] //test empty string for date public void Value_Editor_Can_Serialize_Value(string valueType, object val, string expected) { - var prop = new Property(1, new PropertyType("test", ValueStorageType.Nvarchar)); + var prop = new Property(1, new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Nvarchar)); prop.SetValue(val); var valueEditor = TestHelper.CreateDataValueEditor(valueType); @@ -132,7 +132,7 @@ namespace Umbraco.Tests.PropertyEditors var value = 12.34M; var valueEditor = TestHelper.CreateDataValueEditor(ValueTypes.Decimal); - var prop = new Property(1, new PropertyType("test", ValueStorageType.Decimal)); + var prop = new Property(1, new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Decimal)); prop.SetValue(value); var result = valueEditor.ToEditor(prop); @@ -144,7 +144,7 @@ namespace Umbraco.Tests.PropertyEditors { var valueEditor = TestHelper.CreateDataValueEditor(ValueTypes.Decimal); - var prop = new Property(1, new PropertyType("test", ValueStorageType.Decimal)); + var prop = new Property(1, new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Decimal)); prop.SetValue(string.Empty); var result = valueEditor.ToEditor(prop); @@ -157,7 +157,7 @@ namespace Umbraco.Tests.PropertyEditors var now = DateTime.Now; var valueEditor = TestHelper.CreateDataValueEditor(ValueTypes.Date); - var prop = new Property(1, new PropertyType("test", ValueStorageType.Date)); + var prop = new Property(1, new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Date)); prop.SetValue(now); var result = valueEditor.ToEditor(prop); diff --git a/src/Umbraco.Tests/PublishedContent/NuCacheChildrenTests.cs b/src/Umbraco.Tests/PublishedContent/NuCacheChildrenTests.cs index eaa2dc05fb..8ed57152d9 100644 --- a/src/Umbraco.Tests/PublishedContent/NuCacheChildrenTests.cs +++ b/src/Umbraco.Tests/PublishedContent/NuCacheChildrenTests.cs @@ -77,12 +77,12 @@ namespace Umbraco.Tests.PublishedContent dataType }; - var propertyType = new PropertyType("Umbraco.Void.Editor", ValueStorageType.Nvarchar) { Alias = "prop", DataTypeId = 3, Variations = ContentVariation.Nothing }; - _contentTypeInvariant = new ContentType(-1) { Id = 2, Alias = "itype", Variations = ContentVariation.Nothing }; + var propertyType = new PropertyType(TestHelper.ShortStringHelper, "Umbraco.Void.Editor", ValueStorageType.Nvarchar) { Alias = "prop", DataTypeId = 3, Variations = ContentVariation.Nothing }; + _contentTypeInvariant = new ContentType(TestHelper.ShortStringHelper, -1) { Id = 2, Alias = "itype", Variations = ContentVariation.Nothing }; _contentTypeInvariant.AddPropertyType(propertyType); - propertyType = new PropertyType("Umbraco.Void.Editor", ValueStorageType.Nvarchar) { Alias = "prop", DataTypeId = 3, Variations = ContentVariation.Culture }; - _contentTypeVariant = new ContentType(-1) { Id = 3, Alias = "vtype", Variations = ContentVariation.Culture }; + propertyType = new PropertyType(TestHelper.ShortStringHelper, "Umbraco.Void.Editor", ValueStorageType.Nvarchar) { Alias = "prop", DataTypeId = 3, Variations = ContentVariation.Culture }; + _contentTypeVariant = new ContentType(TestHelper.ShortStringHelper, -1) { Id = 3, Alias = "vtype", Variations = ContentVariation.Culture }; _contentTypeVariant.AddPropertyType(propertyType); var contentTypes = new[] @@ -163,7 +163,7 @@ namespace Umbraco.Tests.PublishedContent globalSettings, Mock.Of(), Mock.Of(), - new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider() }), + new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider(TestHelper.ShortStringHelper) }), typeFinder, hostingEnvironment); diff --git a/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs b/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs index 86024d84b6..4f4562e07f 100644 --- a/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs +++ b/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs @@ -127,8 +127,8 @@ namespace Umbraco.Tests.PublishedContent dataType }; - _propertyType = new PropertyType("Umbraco.Void.Editor", ValueStorageType.Nvarchar) { Alias = "prop", DataTypeId = 3, Variations = ContentVariation.Culture }; - _contentType = new ContentType(-1) { Id = 2, Alias = "alias-ct", Variations = ContentVariation.Culture }; + _propertyType = new PropertyType(TestHelper.ShortStringHelper, "Umbraco.Void.Editor", ValueStorageType.Nvarchar) { Alias = "prop", DataTypeId = 3, Variations = ContentVariation.Culture }; + _contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Id = 2, Alias = "alias-ct", Variations = ContentVariation.Culture }; _contentType.AddPropertyType(_propertyType); var contentTypes = new[] @@ -204,7 +204,7 @@ namespace Umbraco.Tests.PublishedContent globalSettings, Mock.Of(), Mock.Of(), - new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider() }), + new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider(TestHelper.ShortStringHelper) }), typeFinder, TestHelper.GetHostingEnvironment()); diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs index ced4c012f8..85e880e8bb 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs @@ -74,9 +74,9 @@ namespace Umbraco.Tests.PublishedContent if (_createContentTypes) { var contentTypeService = Current.Services.ContentTypeService; - var baseType = new ContentType(-1) { Alias = "base", Name = "Base" }; + var baseType = new ContentType(ShortStringHelper, -1) { Alias = "base", Name = "Base" }; const string contentTypeAlias = "inherited"; - var inheritedType = new ContentType(baseType, contentTypeAlias) { Alias = contentTypeAlias, Name = "Inherited" }; + var inheritedType = new ContentType(ShortStringHelper, baseType, contentTypeAlias) { Alias = contentTypeAlias, Name = "Inherited" }; contentTypeService.Save(baseType); contentTypeService.Save(inheritedType); _contentTypes = new Dictionary diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentLanguageVariantTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentLanguageVariantTests.cs index 62447742ff..26b56a07d4 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentLanguageVariantTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentLanguageVariantTests.cs @@ -7,6 +7,7 @@ using NUnit.Framework; using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Services; +using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; using Umbraco.Web; using Current = Umbraco.Web.Composing.Current; @@ -33,21 +34,22 @@ namespace Umbraco.Tests.PublishedContent private static void MockLocalizationService(ServiceContext serviceContext) { + var globalSettings = SettingsForTests.GenerateMockGlobalSettings(); // Set up languages. // Spanish falls back to English and Italian to Spanish (and then to English). // French has no fall back. // Danish, Swedish and Norweigan create an invalid loop. var languages = new List { - new Language("en-US") { Id = 1, CultureName = "English", IsDefault = true }, - new Language("fr") { Id = 2, CultureName = "French" }, - new Language("es") { Id = 3, CultureName = "Spanish", FallbackLanguageId = 1 }, - new Language("it") { Id = 4, CultureName = "Italian", FallbackLanguageId = 3 }, - new Language("de") { Id = 5, CultureName = "German" }, - new Language("da") { Id = 6, CultureName = "Danish", FallbackLanguageId = 8 }, - new Language("sv") { Id = 7, CultureName = "Swedish", FallbackLanguageId = 6 }, - new Language("no") { Id = 8, CultureName = "Norweigan", FallbackLanguageId = 7 }, - new Language("nl") { Id = 9, CultureName = "Dutch", FallbackLanguageId = 1 } + new Language(globalSettings, "en-US") { Id = 1, CultureName = "English", IsDefault = true }, + new Language(globalSettings, "fr") { Id = 2, CultureName = "French" }, + new Language(globalSettings, "es") { Id = 3, CultureName = "Spanish", FallbackLanguageId = 1 }, + new Language(globalSettings, "it") { Id = 4, CultureName = "Italian", FallbackLanguageId = 3 }, + new Language(globalSettings, "de") { Id = 5, CultureName = "German" }, + new Language(globalSettings, "da") { Id = 6, CultureName = "Danish", FallbackLanguageId = 8 }, + new Language(globalSettings, "sv") { Id = 7, CultureName = "Swedish", FallbackLanguageId = 6 }, + new Language(globalSettings, "no") { Id = 8, CultureName = "Norweigan", FallbackLanguageId = 7 }, + new Language(globalSettings, "nl") { Id = 9, CultureName = "Dutch", FallbackLanguageId = 1 } }; var localizationService = Mock.Get(serviceContext.LocalizationService); diff --git a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs index 9f14637959..1ca0d82835 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs @@ -51,7 +51,7 @@ namespace Umbraco.Tests.PublishedContent private IMediaType MakeNewMediaType(IUser user, string text, int parentId = -1) { - var mt = new MediaType(parentId) { Name = text, Alias = text, Thumbnail = "icon-folder", Icon = "icon-folder" }; + var mt = new MediaType(ShortStringHelper, parentId) { Name = text, Alias = text, Thumbnail = "icon-folder", Icon = "icon-folder" }; ServiceContext.MediaTypeService.Save(mt); return mt; } @@ -89,7 +89,7 @@ namespace Umbraco.Tests.PublishedContent var mType = MockedContentTypes.CreateImageMediaType("image2"); //lets add an RTE to this mType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Nvarchar, "content") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Nvarchar, "content") { Name = "Rich Text", DataTypeId = -87 //tiny mce diff --git a/src/Umbraco.Tests/Routing/ContentFinderByUrlAndTemplateTests.cs b/src/Umbraco.Tests/Routing/ContentFinderByUrlAndTemplateTests.cs index 5efd8668d5..f74c68777e 100644 --- a/src/Umbraco.Tests/Routing/ContentFinderByUrlAndTemplateTests.cs +++ b/src/Umbraco.Tests/Routing/ContentFinderByUrlAndTemplateTests.cs @@ -17,7 +17,7 @@ namespace Umbraco.Tests.Routing { Template CreateTemplate(string alias) { - var template = new Template(alias, alias); + var template = new Template(ShortStringHelper, alias, alias); template.Content = ""; // else saving throws with a dirty internal error Current.Services.FileService.SaveTemplate(template); return template; diff --git a/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs b/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs index 46b10929cf..8ff5d1cedc 100644 --- a/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs +++ b/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs @@ -29,7 +29,7 @@ namespace Umbraco.Tests.Routing { var allLangs = isoCodes .Select(CultureInfo.GetCultureInfo) - .Select(culture => new Language(culture.Name) + .Select(culture => new Language(TestObjects.GetGlobalSettings(), culture.Name) { CultureName = culture.DisplayName, IsDefault = true, diff --git a/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs b/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs index 06c4b5be6d..3994ff9c6e 100644 --- a/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs +++ b/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs @@ -84,7 +84,7 @@ namespace Umbraco.Tests.Routing Template CreateTemplate(string alias) { var name = "Template"; - var template = new Template(name, alias); + var template = new Template(ShortStringHelper, name, alias); template.Content = ""; // else saving throws with a dirty internal error Current.Services.FileService.SaveTemplate(template); return template; diff --git a/src/Umbraco.Tests/Routing/UrlRoutesTests.cs b/src/Umbraco.Tests/Routing/UrlRoutesTests.cs index 4b8d708df6..0c608d3e94 100644 --- a/src/Umbraco.Tests/Routing/UrlRoutesTests.cs +++ b/src/Umbraco.Tests/Routing/UrlRoutesTests.cs @@ -58,7 +58,7 @@ namespace Umbraco.Tests.Routing base.Initialize(); if (FirstTestInFixture) - ServiceContext.ContentTypeService.Save(new ContentType(-1) { Alias = "Doc", Name = "name" }); + ServiceContext.ContentTypeService.Save(new ContentType(ShortStringHelper, -1) { Alias = "Doc", Name = "name" }); } #endregion diff --git a/src/Umbraco.Tests/Runtimes/StandaloneTests.cs b/src/Umbraco.Tests/Runtimes/StandaloneTests.cs index 325f138915..b0eea91bf4 100644 --- a/src/Umbraco.Tests/Runtimes/StandaloneTests.cs +++ b/src/Umbraco.Tests/Runtimes/StandaloneTests.cs @@ -179,7 +179,7 @@ namespace Umbraco.Tests.Runtimes Assert.IsNull(content); // create a document type and a document - var contentType = new ContentType(-1) { Alias = "ctype", Name = "ctype" }; + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = "ctype", Name = "ctype" }; factory.GetInstance().Save(contentType); content = new Content("test", -1, contentType); contentService.Save(content); diff --git a/src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs b/src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs index 950d8c84c1..22afd913fb 100644 --- a/src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs @@ -102,7 +102,7 @@ namespace Umbraco.Tests.Scoping Factory.GetInstance(), Factory.GetInstance(), Mock.Of(), - new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider() }), + new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider(ShortStringHelper) }), typeFinder, hostingEnvironment); } @@ -143,7 +143,7 @@ namespace Umbraco.Tests.Scoping _distributedCacheBinder.BindEvents(true); // create document type, document - var contentType = new ContentType(-1) { Alias = "CustomDocument", Name = "Custom Document" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "CustomDocument", Name = "Custom Document" }; Current.Services.ContentTypeService.Save(contentType); var item = new Content("name", -1, contentType); diff --git a/src/Umbraco.Tests/Scoping/ScopedRepositoryTests.cs b/src/Umbraco.Tests/Scoping/ScopedRepositoryTests.cs index ae4544bf87..7b3f9cbe70 100644 --- a/src/Umbraco.Tests/Scoping/ScopedRepositoryTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopedRepositoryTests.cs @@ -63,7 +63,7 @@ namespace Umbraco.Tests.Scoping var service = Current.Services.UserService; var globalCache = Current.AppCaches.IsolatedCaches.GetOrCreate(typeof(IUser)); - var user = (IUser)new User("name", "email", "username", "rawPassword"); + var user = (IUser)new User(TestObjects.GetGlobalSettings(), "name", "email", "username", "rawPassword"); service.Save(user); // global cache contains the entity @@ -140,7 +140,7 @@ namespace Umbraco.Tests.Scoping var service = Current.Services.LocalizationService; var globalCache = Current.AppCaches.IsolatedCaches.GetOrCreate(typeof (ILanguage)); - var lang = (ILanguage) new Language("fr-FR"); + var lang = (ILanguage) new Language(TestObjects.GetGlobalSettings(), "fr-FR"); service.Save(lang); // global cache has been flushed, reload @@ -232,7 +232,7 @@ namespace Umbraco.Tests.Scoping var service = Current.Services.LocalizationService; var globalCache = Current.AppCaches.IsolatedCaches.GetOrCreate(typeof (IDictionaryItem)); - var lang = (ILanguage)new Language("fr-FR"); + var lang = (ILanguage)new Language(TestObjects.GetGlobalSettings(), "fr-FR"); service.Save(lang); var item = (IDictionaryItem) new DictionaryItem("item-key"); diff --git a/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs b/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs index 91a6934e18..d57845ec10 100644 --- a/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs @@ -88,7 +88,7 @@ namespace Umbraco.Tests.Scoping Assert.AreSame(XmlStore, ((PublishedContentCache) umbracoContext.Content).XmlStore); // create document type, document - var contentType = new ContentType(-1) { Alias = "CustomDocument", Name = "Custom Document" }; + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "CustomDocument", Name = "Custom Document" }; Current.Services.ContentTypeService.Save(contentType); var item = new Content("name", -1, contentType); @@ -202,7 +202,7 @@ namespace Umbraco.Tests.Scoping Assert.AreSame(XmlStore, ((PublishedContentCache)umbracoContext.Content).XmlStore); // create document type - var contentType = new ContentType(-1) { Alias = "CustomDocument", Name = "Custom Document" }; + var contentType = new ContentType(ShortStringHelper,-1) { Alias = "CustomDocument", Name = "Custom Document" }; Current.Services.ContentTypeService.Save(contentType); // wire cache refresher diff --git a/src/Umbraco.Tests/Services/ContentServiceEventTests.cs b/src/Umbraco.Tests/Services/ContentServiceEventTests.cs index 0cb301fcad..26f6d37456 100644 --- a/src/Umbraco.Tests/Services/ContentServiceEventTests.cs +++ b/src/Umbraco.Tests/Services/ContentServiceEventTests.cs @@ -35,7 +35,7 @@ namespace Umbraco.Tests.Services { var languageService = ServiceContext.LocalizationService; - languageService.Save(new Language("fr-FR")); + languageService.Save(new Language(TestObjects.GetGlobalSettings(), "fr-FR")); var contentTypeService = ServiceContext.ContentTypeService; @@ -104,7 +104,7 @@ namespace Umbraco.Tests.Services var contentService = ServiceContext.ContentService; IContent document = new Content("content", -1, contentType); - + void OnSaving(IContentService sender, ContentSavingEventArgs e) { var saved = e.SavedEntities.First(); @@ -122,7 +122,7 @@ namespace Umbraco.Tests.Services //we're only dealing with invariant here var propValue = saved.Properties["title"].Values.First(x => x.Culture == null && x.Segment == null); - + Assert.AreEqual("title", propValue.EditedValue); Assert.IsNull(propValue.PublishedValue); } @@ -138,7 +138,7 @@ namespace Umbraco.Tests.Services ContentService.Saving -= OnSaving; ContentService.Saved -= OnSaved; } - + } [Test] @@ -146,7 +146,7 @@ namespace Umbraco.Tests.Services { var languageService = ServiceContext.LocalizationService; - languageService.Save(new Language("fr-FR")); + languageService.Save(new Language(TestObjects.GetGlobalSettings(), "fr-FR")); var contentTypeService = ServiceContext.ContentTypeService; @@ -244,7 +244,7 @@ namespace Umbraco.Tests.Services Assert.AreEqual("title", propValue.PublishedValue); } - //We are binding to Saving (not Publishing), because the Publishing event is really just used for cancelling, it should not be + //We are binding to Saving (not Publishing), because the Publishing event is really just used for cancelling, it should not be //used for setting values and it won't actually work! This is because the Publishing event is raised AFTER the values on the model //are published, but Saving is raised BEFORE. ContentService.Saving += OnSaving; @@ -292,7 +292,7 @@ namespace Umbraco.Tests.Services saved.SetValue("title", "title"); } - //We are binding to Saving (not Publishing), because the Publishing event is really just used for cancelling, it should not be + //We are binding to Saving (not Publishing), because the Publishing event is really just used for cancelling, it should not be //used for setting values and it won't actually work! This is because the Publishing event is raised AFTER the values on the model //are published, but Saving is raised BEFORE. ContentService.Saving += OnSaving; @@ -312,7 +312,7 @@ namespace Umbraco.Tests.Services { var languageService = ServiceContext.LocalizationService; - languageService.Save(new Language("fr-FR")); + languageService.Save(new Language(TestObjects.GetGlobalSettings(), "fr-FR")); var contentTypeService = ServiceContext.ContentTypeService; diff --git a/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs b/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs index 9f55fe2e45..0d67ba9417 100644 --- a/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs +++ b/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs @@ -163,11 +163,11 @@ namespace Umbraco.Tests.Services var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepo = new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, tRepository, AppCaches); - var languageRepository = new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, tRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository); // Act @@ -197,11 +197,11 @@ namespace Umbraco.Tests.Services var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepo = new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, tRepository, AppCaches); - var languageRepository = new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, tRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository); // Act @@ -229,11 +229,11 @@ namespace Umbraco.Tests.Services var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepo = new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository((IScopeAccessor) provider, tRepository, AppCaches); - var languageRepository = new LanguageRepository((IScopeAccessor)provider, AppCaches.Disabled, Logger); - var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository((IScopeAccessor) provider, tRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository((IScopeAccessor)provider, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository); // Act @@ -264,11 +264,11 @@ namespace Umbraco.Tests.Services var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepo = new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, tRepository, AppCaches); - var languageRepository = new LanguageRepository((IScopeAccessor)provider, AppCaches.Disabled, Logger); - var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository((IScopeAccessor)provider, tRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository((IScopeAccessor)provider, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository); // Act diff --git a/src/Umbraco.Tests/Services/ContentServicePublishBranchTests.cs b/src/Umbraco.Tests/Services/ContentServicePublishBranchTests.cs index d2343d3dea..3a3f8f369e 100644 --- a/src/Umbraco.Tests/Services/ContentServicePublishBranchTests.cs +++ b/src/Umbraco.Tests/Services/ContentServicePublishBranchTests.cs @@ -425,30 +425,30 @@ namespace Umbraco.Tests.Services private void CreateTypes(out IContentType iContentType, out IContentType vContentType) { - var langDe = new Language("de") { IsDefault = true }; + var langDe = new Language(TestObjects.GetGlobalSettings(), "de") { IsDefault = true }; ServiceContext.LocalizationService.Save(langDe); - var langRu = new Language("ru"); + var langRu = new Language(TestObjects.GetGlobalSettings(), "ru"); ServiceContext.LocalizationService.Save(langRu); - var langEs = new Language("es"); + var langEs = new Language(TestObjects.GetGlobalSettings(), "es"); ServiceContext.LocalizationService.Save(langEs); - iContentType = new ContentType(-1) + iContentType = new ContentType(ShortStringHelper, -1) { Alias = "ict", Name = "Invariant Content Type", Variations = ContentVariation.Nothing }; - iContentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "ip") { Variations = ContentVariation.Nothing }); + iContentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "ip") { Variations = ContentVariation.Nothing }); ServiceContext.ContentTypeService.Save(iContentType); - vContentType = new ContentType(-1) + vContentType = new ContentType(ShortStringHelper, -1) { Alias = "vct", Name = "Variant Content Type", Variations = ContentVariation.Culture }; - vContentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "ip") { Variations = ContentVariation.Nothing }); - vContentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "vp") { Variations = ContentVariation.Culture }); + vContentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "ip") { Variations = ContentVariation.Nothing }); + vContentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "vp") { Variations = ContentVariation.Culture }); ServiceContext.ContentTypeService.Save(vContentType); } diff --git a/src/Umbraco.Tests/Services/ContentServiceTagsTests.cs b/src/Umbraco.Tests/Services/ContentServiceTagsTests.cs index 6b4f2942f7..81b24983a3 100644 --- a/src/Umbraco.Tests/Services/ContentServiceTagsTests.cs +++ b/src/Umbraco.Tests/Services/ContentServiceTagsTests.cs @@ -47,7 +47,7 @@ namespace Umbraco.Tests.Services var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -79,14 +79,14 @@ namespace Umbraco.Tests.Services public void TagsCanBeVariant() { var languageService = ServiceContext.LocalizationService; - languageService.Save(new Language("fr-FR")); // en-US is already there + languageService.Save(new Language(TestObjects.GetGlobalSettings(), "fr-FR")); // en-US is already there var contentService = ServiceContext.ContentService; var contentTypeService = ServiceContext.ContentTypeService; var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041, Variations = ContentVariation.Culture @@ -140,7 +140,7 @@ namespace Umbraco.Tests.Services var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); PropertyType propertyType; contentType.PropertyGroups.First().PropertyTypes.Add( - propertyType = new PropertyType("test", ValueStorageType.Ntext, "tags") + propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -203,7 +203,7 @@ namespace Umbraco.Tests.Services public void TagsCanBecomeInvariant() { var languageService = ServiceContext.LocalizationService; - languageService.Save(new Language("fr-FR")); // en-US is already there + languageService.Save(new Language(TestObjects.GetGlobalSettings(), "fr-FR")); // en-US is already there var enId = ServiceContext.LocalizationService.GetLanguageIdByIsoCode("en-US").Value; @@ -213,7 +213,7 @@ namespace Umbraco.Tests.Services var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); PropertyType propertyType; contentType.PropertyGroups.First().PropertyTypes.Add( - propertyType = new PropertyType("test", ValueStorageType.Ntext, "tags") + propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041, Variations = ContentVariation.Culture @@ -260,7 +260,7 @@ namespace Umbraco.Tests.Services public void TagsCanBecomeInvariant2() { var languageService = ServiceContext.LocalizationService; - languageService.Save(new Language("fr-FR")); // en-US is already there + languageService.Save(new Language(TestObjects.GetGlobalSettings(), "fr-FR")); // en-US is already there var enId = ServiceContext.LocalizationService.GetLanguageIdByIsoCode("en-US").Value; @@ -270,7 +270,7 @@ namespace Umbraco.Tests.Services var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); PropertyType propertyType; contentType.PropertyGroups.First().PropertyTypes.Add( - propertyType = new PropertyType("test", ValueStorageType.Ntext, "tags") + propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041, Variations = ContentVariation.Culture @@ -307,7 +307,7 @@ namespace Umbraco.Tests.Services public void TagsCanBecomeInvariantByPropertyType() { var languageService = ServiceContext.LocalizationService; - languageService.Save(new Language("fr-FR")); // en-US is already there + languageService.Save(new Language(TestObjects.GetGlobalSettings(), "fr-FR")); // en-US is already there var enId = ServiceContext.LocalizationService.GetLanguageIdByIsoCode("en-US").Value; @@ -317,7 +317,7 @@ namespace Umbraco.Tests.Services var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); PropertyType propertyType; contentType.PropertyGroups.First().PropertyTypes.Add( - propertyType = new PropertyType("test", ValueStorageType.Ntext, "tags") + propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041, Variations = ContentVariation.Culture @@ -364,7 +364,7 @@ namespace Umbraco.Tests.Services public void TagsCanBecomeInvariantByPropertyTypeAndBackToVariant() { var languageService = ServiceContext.LocalizationService; - languageService.Save(new Language("fr-FR")); // en-US is already there + languageService.Save(new Language(TestObjects.GetGlobalSettings(), "fr-FR")); // en-US is already there var enId = ServiceContext.LocalizationService.GetLanguageIdByIsoCode("en-US").Value; @@ -374,7 +374,7 @@ namespace Umbraco.Tests.Services var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); PropertyType propertyType; contentType.PropertyGroups.First().PropertyTypes.Add( - propertyType = new PropertyType("test", ValueStorageType.Ntext, "tags") + propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041, Variations = ContentVariation.Culture @@ -407,7 +407,7 @@ namespace Umbraco.Tests.Services var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -438,7 +438,7 @@ namespace Umbraco.Tests.Services var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -471,7 +471,7 @@ namespace Umbraco.Tests.Services var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -547,7 +547,7 @@ namespace Umbraco.Tests.Services var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -574,7 +574,7 @@ namespace Umbraco.Tests.Services var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -628,7 +628,7 @@ namespace Umbraco.Tests.Services var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -679,7 +679,7 @@ namespace Umbraco.Tests.Services // create content type with a tag property var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); - contentType.PropertyGroups.First().PropertyTypes.Add(new PropertyType("test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); + contentType.PropertyGroups.First().PropertyTypes.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); contentTypeService.Save(contentType); // create a content with tags and publish @@ -713,7 +713,7 @@ namespace Umbraco.Tests.Services var contentTypeService = ServiceContext.ContentTypeService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -747,7 +747,7 @@ namespace Umbraco.Tests.Services var contentTypeService = ServiceContext.ContentTypeService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -781,7 +781,7 @@ namespace Umbraco.Tests.Services var contentTypeService = ServiceContext.ContentTypeService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); diff --git a/src/Umbraco.Tests/Services/ContentServiceTests.cs b/src/Umbraco.Tests/Services/ContentServiceTests.cs index fbcfd751cf..ecd8b21aee 100644 --- a/src/Umbraco.Tests/Services/ContentServiceTests.cs +++ b/src/Umbraco.Tests/Services/ContentServiceTests.cs @@ -172,8 +172,8 @@ namespace Umbraco.Tests.Services [Test] public void Perform_Scheduled_Publishing() { - var langUk = new Language("en-GB") { IsDefault = true }; - var langFr = new Language("fr-FR"); + var langUk = new Language(TestObjects.GetGlobalSettings(), "en-GB") { IsDefault = true }; + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); ServiceContext.LocalizationService.Save(langFr); ServiceContext.LocalizationService.Save(langUk); @@ -466,7 +466,7 @@ namespace Umbraco.Tests.Services [Test] public void Can_Save_New_Content_With_Explicit_User() { - var user = new User + var user = new User(TestObjects.GetGlobalSettings()) { Name = "Test", Email = "test@test.com", @@ -835,8 +835,8 @@ namespace Umbraco.Tests.Services [Test] public void Unpublishing_Mandatory_Language_Unpublishes_Document() { - var langUk = new Language("en-GB") { IsDefault = true, IsMandatory = true }; - var langFr = new Language("fr-FR"); + var langUk = new Language(TestObjects.GetGlobalSettings(), "en-GB") { IsDefault = true, IsMandatory = true }; + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); ServiceContext.LocalizationService.Save(langFr); ServiceContext.LocalizationService.Save(langUk); @@ -932,8 +932,8 @@ namespace Umbraco.Tests.Services { // Arrange - var langGB = new Language("en-GB") { IsDefault = true }; - var langFr = new Language("fr-FR"); + var langGB = new Language(TestObjects.GetGlobalSettings(), "en-GB") { IsDefault = true }; + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); ServiceContext.LocalizationService.Save(langFr); ServiceContext.LocalizationService.Save(langGB); @@ -1000,8 +1000,8 @@ namespace Umbraco.Tests.Services { // Arrange - var langGB = new Language("en-GB") { IsDefault = true, IsMandatory = true }; - var langFr = new Language("fr-FR"); + var langGB = new Language(TestObjects.GetGlobalSettings(), "en-GB") { IsDefault = true, IsMandatory = true }; + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); ServiceContext.LocalizationService.Save(langFr); ServiceContext.LocalizationService.Save(langGB); @@ -1179,8 +1179,8 @@ namespace Umbraco.Tests.Services { //TODO: This is using an internal API - we aren't exposing this publicly (at least for now) but we'll keep the test around - var langFr = new Language("fr"); - var langDa = new Language("da"); + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr"); + var langDa = new Language(TestObjects.GetGlobalSettings(), "da"); ServiceContext.LocalizationService.Save(langFr); ServiceContext.LocalizationService.Save(langDa); @@ -2072,8 +2072,8 @@ namespace Umbraco.Tests.Services [Test] public void Can_Rollback_Version_On_Multilingual() { - var langFr = new Language("fr"); - var langDa = new Language("da"); + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr"); + var langDa = new Language(TestObjects.GetGlobalSettings(), "da"); ServiceContext.LocalizationService.Save(langFr); ServiceContext.LocalizationService.Save(langDa); @@ -2469,7 +2469,7 @@ namespace Umbraco.Tests.Services [Test] public void PublishingTest() { - var contentType = new ContentType(Constants.System.Root) + var contentType = new ContentType(ShortStringHelper, Constants.System.Root) { Alias = "foo", Name = "Foo" @@ -2477,12 +2477,12 @@ namespace Umbraco.Tests.Services var properties = new PropertyTypeCollection(true) { - new PropertyType("test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Mandatory = false, DataTypeId = -88 }, + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Mandatory = false, DataTypeId = -88 }, }; contentType.PropertyGroups.Add(new PropertyGroup(properties) { Name = "content" }); - contentType.SetDefaultTemplate(new Template("Textpage", "textpage")); + contentType.SetDefaultTemplate(new Template(ShortStringHelper, "Textpage", "textpage")); ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! ServiceContext.ContentTypeService.Save(contentType); @@ -2601,8 +2601,8 @@ namespace Umbraco.Tests.Services { var languageService = ServiceContext.LocalizationService; - var langUk = new Language("en-GB") { IsDefault = true }; - var langFr = new Language("fr-FR"); + var langUk = new Language(TestObjects.GetGlobalSettings(), "en-GB") { IsDefault = true }; + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); languageService.Save(langFr); languageService.Save(langUk); @@ -2611,7 +2611,7 @@ namespace Umbraco.Tests.Services var contentType = contentTypeService.Get("umbTextpage"); contentType.Variations = ContentVariation.Culture; - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "prop") { Variations = ContentVariation.Culture }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "prop") { Variations = ContentVariation.Culture }); contentTypeService.Save(contentType); var contentService = ServiceContext.ContentService; @@ -2636,8 +2636,8 @@ namespace Umbraco.Tests.Services { var languageService = ServiceContext.LocalizationService; - var langUk = new Language("en-GB") { IsDefault = true }; - var langFr = new Language("fr-FR"); + var langUk = new Language(TestObjects.GetGlobalSettings(), "en-GB") { IsDefault = true }; + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); languageService.Save(langFr); languageService.Save(langUk); @@ -2673,9 +2673,9 @@ namespace Umbraco.Tests.Services { var languageService = ServiceContext.LocalizationService; - var langUk = new Language("en-GB") { IsDefault = true }; - var langFr = new Language("fr-FR"); - var langDa = new Language("da-DK"); + var langUk = new Language(TestObjects.GetGlobalSettings(), "en-GB") { IsDefault = true }; + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); + var langDa = new Language(TestObjects.GetGlobalSettings(), "da-DK"); languageService.Save(langFr); languageService.Save(langUk); @@ -2775,10 +2775,10 @@ namespace Umbraco.Tests.Services var languageService = ServiceContext.LocalizationService; //var langFr = new Language("fr-FR") { IsDefaultVariantLanguage = true }; - var langXx = new Language("pt-PT") { IsDefault = true }; - var langFr = new Language("fr-FR"); - var langUk = new Language("en-GB"); - var langDe = new Language("de-DE"); + var langXx = new Language(TestObjects.GetGlobalSettings(), "pt-PT") { IsDefault = true }; + var langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); + var langUk = new Language(TestObjects.GetGlobalSettings(), "en-GB"); + var langDe = new Language(TestObjects.GetGlobalSettings(), "de-DE"); languageService.Save(langFr); languageService.Save(langUk); @@ -2788,7 +2788,7 @@ namespace Umbraco.Tests.Services var contentType = contentTypeService.Get("umbTextpage"); contentType.Variations = ContentVariation.Culture; - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "prop") { Variations = ContentVariation.Culture }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar, "prop") { Variations = ContentVariation.Culture }); // FIXME: add test w/ an invariant prop contentTypeService.Save(contentType); @@ -3161,19 +3161,19 @@ namespace Umbraco.Tests.Services private DocumentRepository CreateRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository) { var accessor = (IScopeAccessor) provider; - var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper); + var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); var tagRepository = new TagRepository(accessor, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches); - var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger); - contentTypeRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, Logger, commonRepository, languageRepository); + var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger, TestObjects.GetGlobalSettings()); + contentTypeRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); var repository = new DocumentRepository(accessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } private void CreateEnglishAndFrenchDocumentType(out Language langUk, out Language langFr, out ContentType contentType) { - langUk = new Language("en-GB") { IsDefault = true }; - langFr = new Language("fr-FR"); + langUk = new Language(TestObjects.GetGlobalSettings(), "en-GB") { IsDefault = true }; + langFr = new Language(TestObjects.GetGlobalSettings(), "fr-FR"); ServiceContext.LocalizationService.Save(langFr); ServiceContext.LocalizationService.Save(langUk); diff --git a/src/Umbraco.Tests/Services/ContentTypeServiceExtensionsTests.cs b/src/Umbraco.Tests/Services/ContentTypeServiceExtensionsTests.cs index dd016f4b18..d0f817542b 100644 --- a/src/Umbraco.Tests/Services/ContentTypeServiceExtensionsTests.cs +++ b/src/Umbraco.Tests/Services/ContentTypeServiceExtensionsTests.cs @@ -21,7 +21,7 @@ namespace Umbraco.Tests.Services { var contentCollection = new PropertyTypeCollection(true) { - new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) {Alias = alias, Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88} + new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) {Alias = alias, Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88} }; var pg = new PropertyGroup(contentCollection) { Name = "test", SortOrder = 1 }; ct.PropertyGroups.Add(pg); @@ -61,7 +61,7 @@ namespace Umbraco.Tests.Services { var contentCollection = new PropertyTypeCollection(true) { - new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) {Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88} + new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) {Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88} }; var pg = new PropertyGroup(contentCollection) { Name = "test", SortOrder = 1 }; ct.PropertyGroups.Add(pg); @@ -98,7 +98,7 @@ namespace Umbraco.Tests.Services { var contentCollection = new PropertyTypeCollection(true) { - new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) {Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88} + new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) {Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88} }; var pg = new PropertyGroup(contentCollection) { Name = "test", SortOrder = 1 }; ct.PropertyGroups.Add(pg); diff --git a/src/Umbraco.Tests/Services/ContentTypeServiceTests.cs b/src/Umbraco.Tests/Services/ContentTypeServiceTests.cs index 652232ecad..1b48db7328 100644 --- a/src/Umbraco.Tests/Services/ContentTypeServiceTests.cs +++ b/src/Umbraco.Tests/Services/ContentTypeServiceTests.cs @@ -30,7 +30,7 @@ namespace Umbraco.Tests.Services IContentType contentType = MockedContentTypes.CreateBasicContentType(); contentType.Variations = ContentVariation.Nothing; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext) + contentCollection.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", @@ -400,8 +400,8 @@ namespace Umbraco.Tests.Services var cs = ServiceContext.ContentService; var cts = ServiceContext.ContentTypeService; var dtdYesNo = ServiceContext.DataTypeService.GetDataType(-49); - var ctBase = new ContentType(-1) { Name = "Base", Alias = "Base", Icon = "folder.gif", Thumbnail = "folder.png" }; - ctBase.AddPropertyType(new PropertyType(dtdYesNo, Constants.Conventions.Content.NaviHide) + var ctBase = new ContentType(ShortStringHelper, -1) { Name = "Base", Alias = "Base", Icon = "folder.gif", Thumbnail = "folder.png" }; + ctBase.AddPropertyType(new PropertyType(ShortStringHelper, dtdYesNo, Constants.Conventions.Content.NaviHide) { Name = "Hide From Navigation", } @@ -409,7 +409,7 @@ namespace Umbraco.Tests.Services cts.Save(ctBase); const string contentTypeAlias = "HomePage"; - var ctHomePage = new ContentType(ctBase, contentTypeAlias) + var ctHomePage = new ContentType(ShortStringHelper, ctBase, contentTypeAlias) { Name = "Home Page", Alias = contentTypeAlias, @@ -417,7 +417,7 @@ namespace Umbraco.Tests.Services Thumbnail = "folder.png", AllowedAsRoot = true }; - ctHomePage.AddPropertyType(new PropertyType(dtdYesNo, "someProperty") { Name = "Some property" } + ctHomePage.AddPropertyType(new PropertyType(ShortStringHelper, dtdYesNo, "someProperty") { Name = "Some property" } /*,"Navigation"*/); cts.Save(ctHomePage); @@ -437,7 +437,7 @@ namespace Umbraco.Tests.Services { var service = ServiceContext.ContentTypeService; - var contentType = new ContentType(-1) + var contentType = new ContentType(ShortStringHelper, -1) { Alias = "test", Name = "Test", @@ -449,9 +449,9 @@ namespace Umbraco.Tests.Services Trashed = false }; - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, DataTypeId = -88 }); - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, DataTypeId = -87 }); - contentType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "Name of the author", Mandatory = false, DataTypeId = -88 }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, DataTypeId = -88 }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, DataTypeId = -87 }); + contentType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "Name of the author", Mandatory = false, DataTypeId = -88 }); service.Save(contentType); @@ -842,7 +842,7 @@ namespace Umbraco.Tests.Services service.Save(child); // Act - var duplicatePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") + var duplicatePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -878,7 +878,7 @@ namespace Umbraco.Tests.Services service.Save(advancedPage); // Act - var duplicatePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") + var duplicatePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -932,14 +932,14 @@ namespace Umbraco.Tests.Services service.Save(contentMetaComposition); // Act - var bodyTextPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") + var bodyTextPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var bodyTextAdded = basePage.AddPropertyType(bodyTextPropertyType, "Content"); service.Save(basePage); - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -950,7 +950,7 @@ namespace Umbraco.Tests.Services service.Save(advancedPage); //NOTE: It should not be possible to Save 'BasePage' with the Title PropertyType added - var titlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") + var titlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1007,28 +1007,28 @@ namespace Umbraco.Tests.Services service.Save(metaComposition); // Act - var bodyTextPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") + var bodyTextPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var bodyTextAdded = basePage.AddPropertyType(bodyTextPropertyType, "Content"); service.Save(basePage); - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var authorAdded = contentPage.AddPropertyType(authorPropertyType, "Content"); service.Save(contentPage); - var subtitlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") + var subtitlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var subtitleAdded = advancedPage.AddPropertyType(subtitlePropertyType, "Content"); service.Save(advancedPage); - var titlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") + var titlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1087,28 +1087,28 @@ namespace Umbraco.Tests.Services service.Save(metaComposition); // Act - var bodyTextPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") + var bodyTextPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var bodyTextAdded = basePage.AddPropertyType(bodyTextPropertyType, "Content"); service.Save(basePage); - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var authorAdded = contentPage.AddPropertyType(authorPropertyType, "Content"); service.Save(contentPage); - var subtitlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") + var subtitlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var subtitleAdded = advancedPage.AddPropertyType(subtitlePropertyType, "Content"); service.Save(advancedPage); - var titlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") + var titlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1128,7 +1128,7 @@ namespace Umbraco.Tests.Services Assert.That(seoCompositionAdded, Is.True); Assert.That(metaCompositionAdded, Is.True); - var testPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "test") + var testPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "test") { Name = "Test", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1158,11 +1158,11 @@ namespace Umbraco.Tests.Services service.Save(contentMetaComposition); // Act - var subtitlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") + var subtitlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1204,22 +1204,22 @@ namespace Umbraco.Tests.Services service.Save(advancedPage); // Act - var titlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") + var titlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var titleAdded = basePage.AddPropertyType(titlePropertyType, "Content"); - var bodyTextPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") + var bodyTextPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var bodyTextAdded = contentPage.AddPropertyType(bodyTextPropertyType, "Content"); - var subtitlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") + var subtitlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var subtitleAdded = contentPage.AddPropertyType(subtitlePropertyType, "Content"); - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1277,7 +1277,7 @@ namespace Umbraco.Tests.Services service.Save(contentMetaComposition); // Act - var propertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") + var propertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1335,7 +1335,7 @@ namespace Umbraco.Tests.Services service.Save(contentPage); // add property 'prop1' to 'contentPage' group 'Content_' - var prop1 = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "testTextbox") + var prop1 = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "testTextbox") { Name = "Test Textbox", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1343,7 +1343,7 @@ namespace Umbraco.Tests.Services Assert.IsTrue(prop1Added); // add property 'prop2' to 'contentPage' group 'Content' - var prop2 = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "anotherTextbox") + var prop2 = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "anotherTextbox") { Name = "Another Test Textbox", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1393,11 +1393,11 @@ namespace Umbraco.Tests.Services service.Save(contentPage); // Act - var bodyTextPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") + var bodyTextPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; - var subtitlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") + var subtitlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1405,15 +1405,15 @@ namespace Umbraco.Tests.Services var subtitleAdded = contentPage.AddPropertyType(subtitlePropertyType, "Content");//Will be added to the "Content Meta" composition service.Save(contentPage); - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; - var descriptionPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "description") + var descriptionPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "description") { Name = "Description", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; - var keywordsPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "keywords") + var keywordsPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "keywords") { Name = "Keywords", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1462,15 +1462,15 @@ namespace Umbraco.Tests.Services service.Save(contentMetaComposition); // Act - var bodyTextPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") + var bodyTextPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; - var subtitlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") + var subtitlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "subtitle") { Name = "Subtitle", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1515,14 +1515,14 @@ namespace Umbraco.Tests.Services service.Save(contentMetaComposition); // Act - var bodyTextPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") + var bodyTextPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var bodyTextAdded = basePage.AddPropertyType(bodyTextPropertyType, "Content"); service.Save(basePage); - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1557,7 +1557,7 @@ namespace Umbraco.Tests.Services basePage.AddPropertyGroup("Meta"); service.Save(basePage); - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", @@ -1567,7 +1567,7 @@ namespace Umbraco.Tests.Services }; Assert.IsTrue(basePage.AddPropertyType(authorPropertyType, "Content")); - var titlePropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") + var titlePropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "title") { Name = "Title", Description = "", @@ -1616,14 +1616,14 @@ namespace Umbraco.Tests.Services service.Save(contentMetaComposition); // Act - var authorPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") + var authorPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "author") { Name = "Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; var authorAdded = contentPage.AddPropertyType(authorPropertyType, "Content"); service.Save(contentPage); - var bodyTextPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") + var bodyTextPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }; @@ -1649,7 +1649,7 @@ namespace Umbraco.Tests.Services //Ensure that adding a new PropertyType to the "Content"-tab also adds it to the right group - var descriptionPropertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) + var descriptionPropertyType = new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "description", Name = "Description", Description = "", Mandatory = false, SortOrder = 1,DataTypeId = -88 }; @@ -1717,7 +1717,7 @@ namespace Umbraco.Tests.Services private ContentType CreateComponent() { - var component = new ContentType(-1) + var component = new ContentType(ShortStringHelper, -1) { Alias = "component", Name = "Component", @@ -1730,7 +1730,7 @@ namespace Umbraco.Tests.Services }; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext, "componentGroup") { Name = "Component Group", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "componentGroup") { Name = "Component Group", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); component.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Component", SortOrder = 1 }); return component; @@ -1739,7 +1739,7 @@ namespace Umbraco.Tests.Services private ContentType CreateBannerComponent(ContentType parent) { const string contentTypeAlias = "banner"; - var banner = new ContentType(parent, contentTypeAlias) + var banner = new ContentType(ShortStringHelper, parent, contentTypeAlias) { Alias = contentTypeAlias, Name = "Banner Component", @@ -1751,7 +1751,7 @@ namespace Umbraco.Tests.Services Trashed = false }; - var propertyType = new PropertyType("test", ValueStorageType.Ntext, "bannerName") + var propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "bannerName") { Name = "Banner Name", Description = "", @@ -1765,7 +1765,7 @@ namespace Umbraco.Tests.Services private ContentType CreateSite() { - var site = new ContentType(-1) + var site = new ContentType(ShortStringHelper, -1) { Alias = "site", Name = "Site", @@ -1778,7 +1778,7 @@ namespace Umbraco.Tests.Services }; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext, "hostname") { Name = "Hostname", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "hostname") { Name = "Hostname", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); site.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Site Settings", SortOrder = 1 }); return site; @@ -1787,7 +1787,7 @@ namespace Umbraco.Tests.Services private ContentType CreateHomepage(ContentType parent) { const string contentTypeAlias = "homepage"; - var contentType = new ContentType(parent, contentTypeAlias) + var contentType = new ContentType(ShortStringHelper, parent, contentTypeAlias) { Alias = contentTypeAlias, Name = "Homepage", @@ -1800,9 +1800,9 @@ namespace Umbraco.Tests.Services }; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext, "author") { Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "title") { Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "bodyText") { Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); + contentCollection.Add(new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "author") { Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); contentType.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Content", SortOrder = 1 }); diff --git a/src/Umbraco.Tests/Services/ContentTypeServiceVariantsTests.cs b/src/Umbraco.Tests/Services/ContentTypeServiceVariantsTests.cs index d22e5c19e3..0f66b6e273 100644 --- a/src/Umbraco.Tests/Services/ContentTypeServiceVariantsTests.cs +++ b/src/Umbraco.Tests/Services/ContentTypeServiceVariantsTests.cs @@ -76,7 +76,7 @@ namespace Umbraco.Tests.Services Factory.GetInstance(), Factory.GetInstance(), Mock.Of(), - new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider() }), + new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider(ShortStringHelper) }), typeFinder, hostingEnvironment); } @@ -307,7 +307,7 @@ namespace Umbraco.Tests.Services var nlContentName = "Content nl-NL"; var nlCulture = "nl-NL"; - ServiceContext.LocalizationService.Save(new Language(nlCulture)); + ServiceContext.LocalizationService.Save(new Language(TestObjects.GetGlobalSettings(), nlCulture)); var includeCultureNames = contentType.Variations.HasFlag(ContentVariation.Culture); @@ -663,9 +663,9 @@ namespace Umbraco.Tests.Services // can change it to variant and back // can then switch one property to variant - var languageEn = new Language("en") { IsDefault = true }; + var languageEn = new Language(TestObjects.GetGlobalSettings(), "en") { IsDefault = true }; ServiceContext.LocalizationService.Save(languageEn); - var languageFr = new Language("fr"); + var languageFr = new Language(TestObjects.GetGlobalSettings(), "fr"); ServiceContext.LocalizationService.Save(languageFr); var contentType = CreateContentType(ContentVariation.Nothing); @@ -1256,13 +1256,13 @@ namespace Umbraco.Tests.Services private void CreateFrenchAndEnglishLangs() { - var languageEn = new Language("en") { IsDefault = true }; + var languageEn = new Language(TestObjects.GetGlobalSettings(), "en") { IsDefault = true }; ServiceContext.LocalizationService.Save(languageEn); - var languageFr = new Language("fr"); + var languageFr = new Language(TestObjects.GetGlobalSettings(), "fr"); ServiceContext.LocalizationService.Save(languageFr); } - private IContentType CreateContentType(ContentVariation variance, string alias = "contentType") => new ContentType(-1) + private IContentType CreateContentType(ContentVariation variance, string alias = "contentType") => new ContentType(ShortStringHelper, -1) { Alias = alias, Name = alias, @@ -1274,7 +1274,7 @@ namespace Umbraco.Tests.Services var propertyCollection = new PropertyTypeCollection(true); foreach (var (alias, variance) in props) - propertyCollection.Add(new PropertyType(alias, ValueStorageType.Ntext) + propertyCollection.Add(new PropertyType(ShortStringHelper, alias, ValueStorageType.Ntext) { Alias = alias, DataTypeId = -88, diff --git a/src/Umbraco.Tests/Services/EntityServiceTests.cs b/src/Umbraco.Tests/Services/EntityServiceTests.cs index 0598b8cea2..fb802420d5 100644 --- a/src/Umbraco.Tests/Services/EntityServiceTests.cs +++ b/src/Umbraco.Tests/Services/EntityServiceTests.cs @@ -31,8 +31,8 @@ namespace Umbraco.Tests.Services if (_langFr == null && _langEs == null) { - _langFr = new Language("fr-FR"); - _langEs = new Language("es-ES"); + _langFr = new Language(SettingsForTests.GenerateMockGlobalSettings(), "fr-FR"); + _langEs = new Language(SettingsForTests.GenerateMockGlobalSettings(), "es-ES"); ServiceContext.LocalizationService.Save(_langFr); ServiceContext.LocalizationService.Save(_langEs); } diff --git a/src/Umbraco.Tests/Services/EntityXmlSerializerTests.cs b/src/Umbraco.Tests/Services/EntityXmlSerializerTests.cs index 972595f2f1..cf1a974742 100644 --- a/src/Umbraco.Tests/Services/EntityXmlSerializerTests.cs +++ b/src/Umbraco.Tests/Services/EntityXmlSerializerTests.cs @@ -22,7 +22,7 @@ namespace Umbraco.Tests.Services public void Can_Export_Macro() { // Arrange - var macro = new Macro("test1", "Test", "~/views/macropartials/test.cshtml", MacroTypes.PartialView); + var macro = new Macro(ShortStringHelper, "test1", "Test", "~/views/macropartials/test.cshtml", MacroTypes.PartialView); ServiceContext.MacroService.Save(macro); // Act @@ -56,10 +56,10 @@ namespace Umbraco.Tests.Services public void Can_Export_Languages() { // Arrange - var languageNbNo = new Language("nb-NO") { CultureName = "Norwegian" }; + var languageNbNo = new Language(TestObjects.GetGlobalSettings(), "nb-NO") { CultureName = "Norwegian" }; ServiceContext.LocalizationService.Save(languageNbNo); - var languageEnGb = new Language("en-GB") { CultureName = "English (United Kingdom)" }; + var languageEnGb = new Language(TestObjects.GetGlobalSettings(), "en-GB") { CultureName = "English (United Kingdom)" }; ServiceContext.LocalizationService.Save(languageEnGb); var newPackageXml = XElement.Parse(ImportResources.Dictionary_Package); @@ -74,10 +74,10 @@ namespace Umbraco.Tests.Services private void CreateDictionaryData() { - var languageNbNo = new Language("nb-NO") { CultureName = "nb-NO" }; + var languageNbNo = new Language(TestObjects.GetGlobalSettings(), "nb-NO") { CultureName = "nb-NO" }; ServiceContext.LocalizationService.Save(languageNbNo); - var languageEnGb = new Language("en-GB") { CultureName = "en-GB" }; + var languageEnGb = new Language(TestObjects.GetGlobalSettings(), "en-GB") { CultureName = "en-GB" }; ServiceContext.LocalizationService.Save(languageEnGb); var parentItem = new DictionaryItem("Parent"); @@ -99,4 +99,4 @@ namespace Umbraco.Tests.Services ServiceContext.LocalizationService.Save(childItem); } } -} \ No newline at end of file +} diff --git a/src/Umbraco.Tests/Services/LocalizationServiceTests.cs b/src/Umbraco.Tests/Services/LocalizationServiceTests.cs index a61b208c4d..c5ff549ee3 100644 --- a/src/Umbraco.Tests/Services/LocalizationServiceTests.cs +++ b/src/Umbraco.Tests/Services/LocalizationServiceTests.cs @@ -181,7 +181,7 @@ namespace Umbraco.Tests.Services [Test] public void Can_Delete_Language() { - var norwegian = new Language("nb-NO") { CultureName = "Norwegian" }; + var norwegian = new Language(TestObjects.GetGlobalSettings(), "nb-NO") { CultureName = "Norwegian" }; ServiceContext.LocalizationService.Save(norwegian, 0); Assert.That(norwegian.HasIdentity, Is.True); var languageId = norwegian.Id; @@ -196,7 +196,7 @@ namespace Umbraco.Tests.Services public void Can_Delete_Language_Used_As_Fallback() { var danish = ServiceContext.LocalizationService.GetLanguageByIsoCode("da-DK"); - var norwegian = new Language("nb-NO") { CultureName = "Norwegian", FallbackLanguageId = danish.Id }; + var norwegian = new Language(TestObjects.GetGlobalSettings(), "nb-NO") { CultureName = "Norwegian", FallbackLanguageId = danish.Id }; ServiceContext.LocalizationService.Save(norwegian, 0); var languageId = danish.Id; @@ -346,7 +346,7 @@ namespace Umbraco.Tests.Services // Arrange var localizationService = ServiceContext.LocalizationService; var isoCode = "en-AU"; - var language = new Core.Models.Language(isoCode); + var language = new Core.Models.Language(TestObjects.GetGlobalSettings(), isoCode); // Act localizationService.Save(language); @@ -361,7 +361,7 @@ namespace Umbraco.Tests.Services { var localizationService = ServiceContext.LocalizationService; var isoCode = "en-AU"; - var language = new Core.Models.Language(isoCode); + var language = new Core.Models.Language(TestObjects.GetGlobalSettings(), isoCode); // Act localizationService.Save(language); @@ -375,14 +375,14 @@ namespace Umbraco.Tests.Services public void Set_Default_Language() { var localizationService = ServiceContext.LocalizationService; - var language = new Core.Models.Language("en-AU"); + var language = new Core.Models.Language(TestObjects.GetGlobalSettings(), "en-AU"); language.IsDefault = true; localizationService.Save(language); var result = localizationService.GetLanguageById(language.Id); Assert.IsTrue(result.IsDefault); - var language2 = new Core.Models.Language("en-NZ"); + var language2 = new Core.Models.Language(TestObjects.GetGlobalSettings(), "en-NZ"); language2.IsDefault = true; localizationService.Save(language2); var result2 = localizationService.GetLanguageById(language2.Id); @@ -398,7 +398,7 @@ namespace Umbraco.Tests.Services { var localizationService = ServiceContext.LocalizationService; var isoCode = "en-AU"; - var language = new Core.Models.Language(isoCode); + var language = new Core.Models.Language(TestObjects.GetGlobalSettings(), isoCode); localizationService.Save(language); // Act @@ -411,8 +411,8 @@ namespace Umbraco.Tests.Services public override void CreateTestData() { - var danish = new Language("da-DK") { CultureName = "Danish" }; - var english = new Language("en-GB") { CultureName = "English" }; + var danish = new Language(TestObjects.GetGlobalSettings(), "da-DK") { CultureName = "Danish" }; + var english = new Language(TestObjects.GetGlobalSettings(), "en-GB") { CultureName = "English" }; ServiceContext.LocalizationService.Save(danish, 0); ServiceContext.LocalizationService.Save(english, 0); _danishLangId = danish.Id; diff --git a/src/Umbraco.Tests/Services/MacroServiceTests.cs b/src/Umbraco.Tests/Services/MacroServiceTests.cs index 69e816585e..1d8642b402 100644 --- a/src/Umbraco.Tests/Services/MacroServiceTests.cs +++ b/src/Umbraco.Tests/Services/MacroServiceTests.cs @@ -26,11 +26,11 @@ namespace Umbraco.Tests.Services var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); - repository.Save(new Macro("test1", "Test1", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView)); - repository.Save(new Macro("test2", "Test2", "~/views/macropartials/test2.cshtml", MacroTypes.PartialView)); - repository.Save(new Macro("test3", "Tet3", "~/views/macropartials/test3.cshtml", MacroTypes.PartialView)); + repository.Save(new Macro(ShortStringHelper, "test1", "Test1", "~/views/macropartials/test1.cshtml", MacroTypes.PartialView)); + repository.Save(new Macro(ShortStringHelper, "test2", "Test2", "~/views/macropartials/test2.cshtml", MacroTypes.PartialView)); + repository.Save(new Macro(ShortStringHelper, "test3", "Tet3", "~/views/macropartials/test3.cshtml", MacroTypes.PartialView)); scope.Complete(); } } @@ -75,7 +75,7 @@ namespace Umbraco.Tests.Services var macroService = ServiceContext.MacroService; // Act - var macro = new Macro("test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); + var macro = new Macro(ShortStringHelper, "test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); macroService.Save(macro); //assert @@ -100,7 +100,7 @@ namespace Umbraco.Tests.Services { // Arrange var macroService = ServiceContext.MacroService; - var macro = new Macro("test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); + var macro = new Macro(ShortStringHelper, "test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); macroService.Save(macro); // Act @@ -119,7 +119,7 @@ namespace Umbraco.Tests.Services { // Arrange var macroService = ServiceContext.MacroService; - IMacro macro = new Macro("test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); + IMacro macro = new Macro(ShortStringHelper, "test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); macroService.Save(macro); // Act @@ -143,7 +143,7 @@ namespace Umbraco.Tests.Services { // Arrange var macroService = ServiceContext.MacroService; - IMacro macro = new Macro("test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); + IMacro macro = new Macro(ShortStringHelper, "test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); macro.Properties.Add(new MacroProperty("blah", "Blah", 0, "blah")); macroService.Save(macro); @@ -174,7 +174,7 @@ namespace Umbraco.Tests.Services { // Arrange var macroService = ServiceContext.MacroService; - IMacro macro = new Macro("test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); + IMacro macro = new Macro(ShortStringHelper, "test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); macro.Properties.Add(new MacroProperty("blah1", "Blah1", 0, "blah1")); macro.Properties.Add(new MacroProperty("blah2", "Blah2", 1, "blah2")); macro.Properties.Add(new MacroProperty("blah3", "Blah3", 2, "blah3")); @@ -218,7 +218,7 @@ namespace Umbraco.Tests.Services public void Can_Add_And_Remove_Properties() { var macroService = ServiceContext.MacroService; - var macro = new Macro("test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); + var macro = new Macro(ShortStringHelper, "test", "Test", "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); //adds some properties macro.Properties.Add(new MacroProperty("blah1", "Blah1", 0, "blah1")); @@ -253,7 +253,7 @@ namespace Umbraco.Tests.Services { // Arrange var macroService = ServiceContext.MacroService; - var macro = new Macro("test", string.Empty, "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); + var macro = new Macro(ShortStringHelper, "test", string.Empty, "~/Views/MacroPartials/Test.cshtml", MacroTypes.PartialView, cacheDuration: 1234); // Act & Assert Assert.Throws(() => macroService.Save(macro)); diff --git a/src/Umbraco.Tests/Services/MemberServiceTests.cs b/src/Umbraco.Tests/Services/MemberServiceTests.cs index e567fb4e5e..e86516b0f5 100644 --- a/src/Umbraco.Tests/Services/MemberServiceTests.cs +++ b/src/Umbraco.Tests/Services/MemberServiceTests.cs @@ -65,7 +65,7 @@ namespace Umbraco.Tests.Services // TODO: see TODO in PublishedContentType, this list contains duplicates var aliases = new[] - { + { Constants.Conventions.Member.Comments, Constants.Conventions.Member.FailedPasswordAttempts, Constants.Conventions.Member.IsApproved, @@ -823,7 +823,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Int_Value_Exact() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "number") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "number") { Name = "Number", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -847,7 +847,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Int_Value_Greater_Than() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "number") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "number") { Name = "Number", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -871,7 +871,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Int_Value_Greater_Than_Equal_To() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "number") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "number") { Name = "Number", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -895,7 +895,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Int_Value_Less_Than() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.DateTime, ValueStorageType.Date, "number") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.DateTime, ValueStorageType.Date, "number") { Name = "Number", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -919,7 +919,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Int_Value_Less_Than_Or_Equal() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "number") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "number") { Name = "Number", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -943,7 +943,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Date_Value_Exact() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") { Name = "Date", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -967,7 +967,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Date_Value_Greater_Than() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") { Name = "Date", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -991,7 +991,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Date_Value_Greater_Than_Equal_To() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") { Name = "Date", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -1015,7 +1015,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Date_Value_Less_Than() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") { Name = "Date", //NOTE: This is what really determines the db type - the above definition doesn't really do anything @@ -1039,7 +1039,7 @@ namespace Umbraco.Tests.Services public void Get_By_Property_Date_Value_Less_Than_Or_Equal() { IMemberType memberType = MockedContentTypes.CreateSimpleMemberType(); - memberType.AddPropertyType(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") + memberType.AddPropertyType(new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer, "date") { Name = "Date", //NOTE: This is what really determines the db type - the above definition doesn't really do anything diff --git a/src/Umbraco.Tests/Services/MemberTypeServiceTests.cs b/src/Umbraco.Tests/Services/MemberTypeServiceTests.cs index 3a97707b42..108c9e9bec 100644 --- a/src/Umbraco.Tests/Services/MemberTypeServiceTests.cs +++ b/src/Umbraco.Tests/Services/MemberTypeServiceTests.cs @@ -86,7 +86,7 @@ namespace Umbraco.Tests.Services var initProps = member.Properties.Count; //remove a property (NOT ONE OF THE DEFAULTS) - var standardProps = ConventionsHelper.GetStandardPropertyTypeStubs(); + var standardProps = ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper); memberType.RemovePropertyType(memberType.PropertyTypes.First(x => standardProps.ContainsKey(x.Alias) == false).Alias); ServiceContext.MemberTypeService.Save(memberType); @@ -132,7 +132,7 @@ namespace Umbraco.Tests.Services [Test] public void Rebuild_Member_Xml_On_Property_Removal() { - var standardProps = ConventionsHelper.GetStandardPropertyTypeStubs(); + var standardProps = ConventionsHelper.GetStandardPropertyTypeStubs(ShortStringHelper); var contentType1 = MockedContentTypes.CreateSimpleMemberType("test1", "Test1"); ServiceContext.MemberTypeService.Save(contentType1); diff --git a/src/Umbraco.Tests/Services/PropertyValidationServiceTests.cs b/src/Umbraco.Tests/Services/PropertyValidationServiceTests.cs index 746190d67f..463479ed43 100644 --- a/src/Umbraco.Tests/Services/PropertyValidationServiceTests.cs +++ b/src/Umbraco.Tests/Services/PropertyValidationServiceTests.cs @@ -44,13 +44,13 @@ namespace Umbraco.Tests.Services { MockObjects(out var validationService, out var dataType); - var p1 = new Property(new PropertyType(dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture}); + var p1 = new Property(new PropertyType(ShortStringHelper, dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture}); p1.SetValue("Hello", "en-US"); - var p2 = new Property(new PropertyType(dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p2 = new Property(new PropertyType(ShortStringHelper, dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); p2.SetValue("Hello", null); - var p3 = new Property(new PropertyType(dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); + var p3 = new Property(new PropertyType(ShortStringHelper, dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); p3.SetValue(null, "en-US"); //invalid - var p4 = new Property(new PropertyType(dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p4 = new Property(new PropertyType(ShortStringHelper, dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); p4.SetValue(null, null); //invalid var content = Mock.Of( @@ -68,13 +68,13 @@ namespace Umbraco.Tests.Services { MockObjects(out var validationService, out var dataType); - var p1 = new Property(new PropertyType(dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture }); + var p1 = new Property(new PropertyType(ShortStringHelper, dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture }); p1.SetValue("Hello", "en-US"); - var p2 = new Property(new PropertyType(dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p2 = new Property(new PropertyType(ShortStringHelper, dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); p2.SetValue("Hello", null); - var p3 = new Property(new PropertyType(dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); + var p3 = new Property(new PropertyType(ShortStringHelper, dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); p3.SetValue(null, "en-US"); //invalid - var p4 = new Property(new PropertyType(dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p4 = new Property(new PropertyType(ShortStringHelper, dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); p4.SetValue(null, null); //invalid var content = Mock.Of( @@ -92,13 +92,13 @@ namespace Umbraco.Tests.Services { MockObjects(out var validationService, out var dataType); - var p1 = new Property(new PropertyType(dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture }); + var p1 = new Property(new PropertyType(ShortStringHelper, dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture }); p1.SetValue(null, "en-US"); //invalid - var p2 = new Property(new PropertyType(dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p2 = new Property(new PropertyType(ShortStringHelper, dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); p2.SetValue(null, null); //invalid - var p3 = new Property(new PropertyType(dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); + var p3 = new Property(new PropertyType(ShortStringHelper, dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); p3.SetValue(null, "en-US"); //ignored because the impact isn't the default lang + the content is published - var p4 = new Property(new PropertyType(dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p4 = new Property(new PropertyType(ShortStringHelper, dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); p4.SetValue(null, null); //ignored because the impact isn't the default lang + the content is published var content = Mock.Of( @@ -116,13 +116,13 @@ namespace Umbraco.Tests.Services { MockObjects(out var validationService, out var dataType); - var p1 = new Property(new PropertyType(dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture }); + var p1 = new Property(new PropertyType(ShortStringHelper, dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture }); p1.SetValue(null, "en-US"); //ignored since this is variant - var p2 = new Property(new PropertyType(dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p2 = new Property(new PropertyType(ShortStringHelper, dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); p2.SetValue(null, null); //invalid - var p3 = new Property(new PropertyType(dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); + var p3 = new Property(new PropertyType(ShortStringHelper, dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); p3.SetValue("Hello", "en-US"); //ignored since this is variant - var p4 = new Property(new PropertyType(dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p4 = new Property(new PropertyType(ShortStringHelper, dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); p4.SetValue(null, null); //invalid var content = Mock.Of( @@ -139,13 +139,13 @@ namespace Umbraco.Tests.Services { MockObjects(out var validationService, out var dataType); - var p1 = new Property(new PropertyType(dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture }); + var p1 = new Property(new PropertyType(ShortStringHelper, dataType, "test1") { Mandatory = true, Variations = ContentVariation.Culture }); p1.SetValue(null, "en-US"); //invalid - var p2 = new Property(new PropertyType(dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p2 = new Property(new PropertyType(ShortStringHelper, dataType, "test2") { Mandatory = true, Variations = ContentVariation.Nothing }); p2.SetValue(null, null); //invalid - var p3 = new Property(new PropertyType(dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); + var p3 = new Property(new PropertyType(ShortStringHelper, dataType, "test3") { Mandatory = true, Variations = ContentVariation.Culture }); p3.SetValue(null, "en-US"); //invalid - var p4 = new Property(new PropertyType(dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); + var p4 = new Property(new PropertyType(ShortStringHelper, dataType, "test4") { Mandatory = true, Variations = ContentVariation.Nothing }); p4.SetValue(null, null); //invalid var content = Mock.Of( diff --git a/src/Umbraco.Tests/Services/SectionServiceTests.cs b/src/Umbraco.Tests/Services/SectionServiceTests.cs index cf0471a947..80a4de4bfe 100644 --- a/src/Umbraco.Tests/Services/SectionServiceTests.cs +++ b/src/Umbraco.Tests/Services/SectionServiceTests.cs @@ -34,7 +34,7 @@ namespace Umbraco.Tests.Services private IUser CreateTestUser() { - var user = new User + var user = new User(TestObjects.GetGlobalSettings()) { Name = "Test user", Username = "testUser", @@ -42,7 +42,7 @@ namespace Umbraco.Tests.Services }; ServiceContext.UserService.Save(user, false); - var userGroupA = new UserGroup + var userGroupA = new UserGroup(ShortStringHelper) { Alias = "GroupA", Name = "Group A" @@ -52,7 +52,7 @@ namespace Umbraco.Tests.Services // TODO: This is failing the test ServiceContext.UserService.Save(userGroupA, new[] { user.Id }, false); - var userGroupB = new UserGroup + var userGroupB = new UserGroup(ShortStringHelper) { Alias = "GroupB", Name = "Group B" diff --git a/src/Umbraco.Tests/Services/TagServiceTests.cs b/src/Umbraco.Tests/Services/TagServiceTests.cs index 0665210430..d2c09e413a 100644 --- a/src/Umbraco.Tests/Services/TagServiceTests.cs +++ b/src/Umbraco.Tests/Services/TagServiceTests.cs @@ -29,7 +29,7 @@ namespace Umbraco.Tests.Services var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType("test", ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "tags") { DataTypeId = 1041 }); @@ -77,7 +77,7 @@ namespace Umbraco.Tests.Services var tagService = ServiceContext.TagService; var contentType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); contentType.PropertyGroups.First().PropertyTypes.Add( - new PropertyType(Constants.PropertyEditors.Aliases.Tags, ValueStorageType.Ntext, "tags") + new PropertyType(ShortStringHelper, Constants.PropertyEditors.Aliases.Tags, ValueStorageType.Ntext, "tags") { DataTypeId = Constants.DataTypes.Tags }); diff --git a/src/Umbraco.Tests/Services/UserServiceTests.cs b/src/Umbraco.Tests/Services/UserServiceTests.cs index a96385a923..876928514c 100644 --- a/src/Umbraco.Tests/Services/UserServiceTests.cs +++ b/src/Umbraco.Tests/Services/UserServiceTests.cs @@ -721,7 +721,7 @@ namespace Umbraco.Tests.Services var hash = new HMACSHA1(); hash.Key = Encoding.Unicode.GetBytes(password); var encodedPassword = Convert.ToBase64String(hash.ComputeHash(Encoding.Unicode.GetBytes(password))); - var membershipUser = new User("JohnDoe", "john@umbraco.io", encodedPassword, encodedPassword); + var membershipUser = new User(TestObjects.GetGlobalSettings(), "JohnDoe", "john@umbraco.io", encodedPassword, encodedPassword); userService.Save(membershipUser); // Assert @@ -735,7 +735,7 @@ namespace Umbraco.Tests.Services [Test] public void Can_Add_And_Remove_Sections_From_UserGroup() { - var userGroup = new UserGroup + var userGroup = new UserGroup(ShortStringHelper) { Alias = "Group1", Name = "Group 1" @@ -779,12 +779,12 @@ namespace Umbraco.Tests.Services [Test] public void Can_Remove_Section_From_All_Assigned_UserGroups() { - var userGroup1 = new UserGroup + var userGroup1 = new UserGroup(ShortStringHelper) { Alias = "Group1", Name = "Group 1" }; - var userGroup2 = new UserGroup + var userGroup2 = new UserGroup(ShortStringHelper) { Alias = "Group2", Name = "Group 2" @@ -811,21 +811,21 @@ namespace Umbraco.Tests.Services [Test] public void Can_Add_Section_To_All_UserGroups() { - var userGroup1 = new UserGroup + var userGroup1 = new UserGroup(ShortStringHelper) { Alias = "Group1", Name = "Group 1" }; userGroup1.AddAllowedSection("test"); - var userGroup2 = new UserGroup + var userGroup2 = new UserGroup(ShortStringHelper) { Alias = "Group2", Name = "Group 2" }; userGroup2.AddAllowedSection("test"); - var userGroup3 = new UserGroup + var userGroup3 = new UserGroup(ShortStringHelper) { Alias = "Group3", Name = "Group 3" @@ -962,7 +962,7 @@ namespace Umbraco.Tests.Services private UserGroup CreateTestUserGroup(string alias = "testGroup", string name = "Test Group") { - var userGroup = new UserGroup + var userGroup = new UserGroup(ShortStringHelper) { Alias = alias, Name = name, diff --git a/src/Umbraco.Tests/Strings/StringExtensionsTests.cs b/src/Umbraco.Tests/Strings/StringExtensionsTests.cs index b43ec64a2f..a273535b62 100644 --- a/src/Umbraco.Tests/Strings/StringExtensionsTests.cs +++ b/src/Umbraco.Tests/Strings/StringExtensionsTests.cs @@ -7,6 +7,7 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Strings; +using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; using Umbraco.Web; @@ -269,7 +270,7 @@ namespace Umbraco.Tests.Strings [Test] public void ToUrlSegmentWithCulture() { - var output = "JUST-ANYTHING".ToUrlSegment(null); + var output = "JUST-ANYTHING".ToUrlSegment((string)null); Assert.AreEqual("URL-SEGMENT-CULTURE::JUST-ANYTHING", output); } diff --git a/src/Umbraco.Tests/TestHelpers/Entities/MockedContentTypes.cs b/src/Umbraco.Tests/TestHelpers/Entities/MockedContentTypes.cs index e93e8e8740..35340940df 100644 --- a/src/Umbraco.Tests/TestHelpers/Entities/MockedContentTypes.cs +++ b/src/Umbraco.Tests/TestHelpers/Entities/MockedContentTypes.cs @@ -9,7 +9,7 @@ namespace Umbraco.Tests.TestHelpers.Entities { public static ContentType CreateBasicContentType(string alias = "basePage", string name = "Base Page", IContentType parent = null) { - var contentType = parent == null ? new ContentType(-1) : new ContentType(parent, alias); + var contentType = parent == null ? new ContentType(TestHelper.ShortStringHelper, -1) : new ContentType(TestHelper.ShortStringHelper, parent, alias); contentType.Alias = alias; contentType.Name = name; @@ -28,7 +28,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateTextPageContentType(string alias = "textPage", string name = "Text Page") { - var contentType = new ContentType(-1) + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = alias, Name = name, @@ -41,12 +41,12 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); var metaCollection = new PropertyTypeCollection(true); - metaCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "keywords", Name = "Meta Keywords", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - metaCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "description", Name = "Meta Description", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -89 }); + metaCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "keywords", Name = "Meta Keywords", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + metaCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "description", Name = "Meta Description", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -89 }); contentType.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Content", SortOrder = 1 }); contentType.PropertyGroups.Add(new PropertyGroup(metaCollection) { Name = "Meta", SortOrder = 2 }); @@ -54,14 +54,14 @@ namespace Umbraco.Tests.TestHelpers.Entities //ensure that nothing is marked as dirty contentType.ResetDirtyProperties(false); - contentType.SetDefaultTemplate(new Template("Textpage", "textpage")); + contentType.SetDefaultTemplate(new Template(TestHelper.ShortStringHelper, "Textpage", "textpage")); return contentType; } public static ContentType CreateMetaContentType() { - var contentType = new ContentType(-1) + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = "meta", Name = "Meta", @@ -74,8 +74,8 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var metaCollection = new PropertyTypeCollection(true); - metaCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "metakeywords", Name = "Meta Keywords", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - metaCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "metadescription", Name = "Meta Description", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -89 }); + metaCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "metakeywords", Name = "Meta Keywords", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + metaCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "metadescription", Name = "Meta Description", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -89 }); contentType.PropertyGroups.Add(new PropertyGroup(metaCollection) { Name = "Meta", SortOrder = 2 }); @@ -87,7 +87,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateContentMetaContentType() { - var contentType = new ContentType(-1) + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = "contentMeta", Name = "Content Meta", @@ -100,7 +100,7 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var metaCollection = new PropertyTypeCollection(true); - metaCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + metaCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); contentType.PropertyGroups.Add(new PropertyGroup(metaCollection) { Name = "Content", SortOrder = 2 }); @@ -112,7 +112,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateSeoContentType() { - var contentType = new ContentType(-1) + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = "seo", Name = "Seo", @@ -125,8 +125,8 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var metaCollection = new PropertyTypeCollection(true); - metaCollection.Add(new PropertyType("seotest", ValueStorageType.Ntext) { Alias = "seokeywords", Name = "Seo Keywords", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - metaCollection.Add(new PropertyType("seotest", ValueStorageType.Ntext) { Alias = "seodescription", Name = "Seo Description", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -89 }); + metaCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "seotest", ValueStorageType.Ntext) { Alias = "seokeywords", Name = "Seo Keywords", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + metaCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "seotest", ValueStorageType.Ntext) { Alias = "seodescription", Name = "Seo Description", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -89 }); contentType.PropertyGroups.Add(new PropertyGroup(metaCollection) { Name = "Seo", SortOrder = 5 }); @@ -138,7 +138,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateSimpleContentType() { - var contentType = new ContentType(-1) + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = "simple", Name = "Simple Page", @@ -151,9 +151,9 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "author", Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "author", Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); contentType.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Content", SortOrder = 1 }); @@ -167,7 +167,7 @@ namespace Umbraco.Tests.TestHelpers.Entities { var contentType = CreateSimpleContentType(alias, name, parent, randomizeAliases, propertyGroupName); - var propertyType = new PropertyType(Constants.PropertyEditors.Aliases.Tags, ValueStorageType.Nvarchar) + var propertyType = new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Tags, ValueStorageType.Nvarchar) { Alias = RandomAlias("tags", randomizeAliases), Name = "Tags", @@ -185,7 +185,7 @@ namespace Umbraco.Tests.TestHelpers.Entities { var contentType = CreateSimpleContentType(alias, name, parent, randomizeAliases, propertyGroupName); - var propertyType = new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) + var propertyType = new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("gen", randomizeAliases), Name = "Gen", @@ -201,7 +201,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateSimpleContentType(string alias, string name, IContentType parent = null, bool randomizeAliases = false, string propertyGroupName = "Content") { - var contentType = parent == null ? new ContentType(-1) : new ContentType(parent, alias); + var contentType = parent == null ? new ContentType(TestHelper.ShortStringHelper, -1) : new ContentType(TestHelper.ShortStringHelper, parent, alias); contentType.Alias = alias; contentType.Name = name; @@ -213,9 +213,9 @@ namespace Umbraco.Tests.TestHelpers.Entities contentType.Trashed = false; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("title", randomizeAliases), Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext) { Alias = RandomAlias("bodyText", randomizeAliases), Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("author", randomizeAliases) , Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("title", randomizeAliases), Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext) { Alias = RandomAlias("bodyText", randomizeAliases), Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("author", randomizeAliases) , Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); var pg = new PropertyGroup(contentCollection) {Name = propertyGroupName, SortOrder = 1}; contentType.PropertyGroups.Add(pg); @@ -223,14 +223,14 @@ namespace Umbraco.Tests.TestHelpers.Entities //ensure that nothing is marked as dirty contentType.ResetDirtyProperties(false); - contentType.SetDefaultTemplate(new Template("Textpage", "textpage")); + contentType.SetDefaultTemplate(new Template(TestHelper.ShortStringHelper, "Textpage", "textpage")); return contentType; } public static MediaType CreateSimpleMediaType(string alias, string name, IMediaType parent = null, bool randomizeAliases = false, string propertyGroupName = "Content") { - var contentType = parent == null ? new MediaType(-1) : new MediaType(parent, alias); + var contentType = parent == null ? new MediaType(TestHelper.ShortStringHelper, -1) : new MediaType(TestHelper.ShortStringHelper, parent, alias); contentType.Alias = alias; contentType.Name = name; @@ -242,9 +242,9 @@ namespace Umbraco.Tests.TestHelpers.Entities contentType.Trashed = false; var contentCollection = new PropertyTypeCollection(false); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("title", randomizeAliases), Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext) { Alias = RandomAlias("bodyText", randomizeAliases), Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("author", randomizeAliases), Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("title", randomizeAliases), Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext) { Alias = RandomAlias("bodyText", randomizeAliases), Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = RandomAlias("author", randomizeAliases), Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); var pg = new PropertyGroup(contentCollection) { Name = propertyGroupName, SortOrder = 1 }; contentType.PropertyGroups.Add(pg); @@ -257,7 +257,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateSimpleContentType(string alias, string name, bool mandatory) { - var contentType = new ContentType(-1) + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = alias, Name = name, @@ -270,9 +270,9 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = mandatory, SortOrder = 1, DataTypeId = -88 }); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Description = "", Mandatory = mandatory, SortOrder = 2, DataTypeId = -87 }); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "author", Name = "Author", Description = "Name of the author", Mandatory = mandatory, SortOrder = 3, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = mandatory, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Description = "", Mandatory = mandatory, SortOrder = 2, DataTypeId = -87 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "author", Name = "Author", Description = "Name of the author", Mandatory = mandatory, SortOrder = 3, DataTypeId = -88 }); contentType.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Content", SortOrder = 1 }); @@ -284,7 +284,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateSimpleContentType(string alias, string name, PropertyTypeCollection collection) { - var contentType = new ContentType(-1) + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = alias, Name = name, @@ -306,7 +306,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateSimpleContentType(string alias, string name, PropertyTypeCollection collection, string propertyGroupName, IContentType parent = null) { - var contentType = parent == null ? new ContentType(-1) : new ContentType(parent, alias); + var contentType = parent == null ? new ContentType(TestHelper.ShortStringHelper, -1) : new ContentType(TestHelper.ShortStringHelper, parent, alias); contentType.Alias = alias; contentType.Name = name; @@ -340,7 +340,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static ContentType CreateAllTypesContentType(string alias, string name) { - var contentType = new ContentType(-1) + var contentType = new ContentType(TestHelper.ShortStringHelper, -1) { Alias = alias, Name = name, @@ -353,25 +353,25 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var contentCollection = new PropertyTypeCollection(true); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.Boolean, ValueStorageType.Integer) { Alias = "isTrue", Name = "Is True or False", Mandatory = false, SortOrder = 1, DataTypeId = -49 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer) { Alias = "number", Name = "Number", Mandatory = false, SortOrder = 2, DataTypeId = -51 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Mandatory = false, SortOrder = 3, DataTypeId = -87 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar) { Alias = "singleLineText", Name = "Text String", Mandatory = false, SortOrder = 4, DataTypeId = -88 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextArea, ValueStorageType.Ntext) { Alias = "multilineText", Name = "Multiple Text Strings", Mandatory = false, SortOrder = 5, DataTypeId = -89 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.UploadField, ValueStorageType.Nvarchar) { Alias = "upload", Name = "Upload Field", Mandatory = false, SortOrder = 6, DataTypeId = -90 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Nvarchar) { Alias = "label", Name = "Label", Mandatory = false, SortOrder = 7, DataTypeId = -92 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.DateTime, ValueStorageType.Date) { Alias = "dateTime", Name = "Date Time", Mandatory = false, SortOrder = 8, DataTypeId = -36 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.ColorPicker, ValueStorageType.Nvarchar) { Alias = "colorPicker", Name = "Color Picker", Mandatory = false, SortOrder = 9, DataTypeId = -37 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.DropDownListFlexible, ValueStorageType.Nvarchar) { Alias = "ddlMultiple", Name = "Dropdown List Multiple", Mandatory = false, SortOrder = 11, DataTypeId = -39 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.RadioButtonList, ValueStorageType.Nvarchar) { Alias = "rbList", Name = "Radio Button List", Mandatory = false, SortOrder = 12, DataTypeId = -40 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.DateTime, ValueStorageType.Date) { Alias = "date", Name = "Date", Mandatory = false, SortOrder = 13, DataTypeId = -36 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.DropDownListFlexible, ValueStorageType.Integer) { Alias = "ddl", Name = "Dropdown List", Mandatory = false, SortOrder = 14, DataTypeId = -42 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.CheckBoxList, ValueStorageType.Nvarchar) { Alias = "chklist", Name = "Checkbox List", Mandatory = false, SortOrder = 15, DataTypeId = -43 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.ContentPicker, ValueStorageType.Integer) { Alias = "contentPicker", Name = "Content Picker", Mandatory = false, SortOrder = 16, DataTypeId = 1046 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.MediaPicker, ValueStorageType.Integer) { Alias = "mediaPicker", Name = "Media Picker", Mandatory = false, SortOrder = 17, DataTypeId = 1048 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.MemberPicker, ValueStorageType.Integer) { Alias = "memberPicker", Name = "Member Picker", Mandatory = false, SortOrder = 18, DataTypeId = 1047 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.MultiUrlPicker, ValueStorageType.Nvarchar) { Alias = "multiUrlPicker", Name = "Multi URL Picker", Mandatory = false, SortOrder = 21, DataTypeId = 1050 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.Tags, ValueStorageType.Ntext) { Alias = "tags", Name = "Tags", Mandatory = false, SortOrder = 22, DataTypeId = 1041 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Boolean, ValueStorageType.Integer) { Alias = "isTrue", Name = "Is True or False", Mandatory = false, SortOrder = 1, DataTypeId = -49 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Integer, ValueStorageType.Integer) { Alias = "number", Name = "Number", Mandatory = false, SortOrder = 2, DataTypeId = -51 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TinyMce, ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Mandatory = false, SortOrder = 3, DataTypeId = -87 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Nvarchar) { Alias = "singleLineText", Name = "Text String", Mandatory = false, SortOrder = 4, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextArea, ValueStorageType.Ntext) { Alias = "multilineText", Name = "Multiple Text Strings", Mandatory = false, SortOrder = 5, DataTypeId = -89 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.UploadField, ValueStorageType.Nvarchar) { Alias = "upload", Name = "Upload Field", Mandatory = false, SortOrder = 6, DataTypeId = -90 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Nvarchar) { Alias = "label", Name = "Label", Mandatory = false, SortOrder = 7, DataTypeId = -92 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.DateTime, ValueStorageType.Date) { Alias = "dateTime", Name = "Date Time", Mandatory = false, SortOrder = 8, DataTypeId = -36 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.ColorPicker, ValueStorageType.Nvarchar) { Alias = "colorPicker", Name = "Color Picker", Mandatory = false, SortOrder = 9, DataTypeId = -37 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.DropDownListFlexible, ValueStorageType.Nvarchar) { Alias = "ddlMultiple", Name = "Dropdown List Multiple", Mandatory = false, SortOrder = 11, DataTypeId = -39 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.RadioButtonList, ValueStorageType.Nvarchar) { Alias = "rbList", Name = "Radio Button List", Mandatory = false, SortOrder = 12, DataTypeId = -40 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.DateTime, ValueStorageType.Date) { Alias = "date", Name = "Date", Mandatory = false, SortOrder = 13, DataTypeId = -36 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.DropDownListFlexible, ValueStorageType.Integer) { Alias = "ddl", Name = "Dropdown List", Mandatory = false, SortOrder = 14, DataTypeId = -42 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.CheckBoxList, ValueStorageType.Nvarchar) { Alias = "chklist", Name = "Checkbox List", Mandatory = false, SortOrder = 15, DataTypeId = -43 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.ContentPicker, ValueStorageType.Integer) { Alias = "contentPicker", Name = "Content Picker", Mandatory = false, SortOrder = 16, DataTypeId = 1046 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.MediaPicker, ValueStorageType.Integer) { Alias = "mediaPicker", Name = "Media Picker", Mandatory = false, SortOrder = 17, DataTypeId = 1048 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.MemberPicker, ValueStorageType.Integer) { Alias = "memberPicker", Name = "Member Picker", Mandatory = false, SortOrder = 18, DataTypeId = 1047 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.MultiUrlPicker, ValueStorageType.Nvarchar) { Alias = "multiUrlPicker", Name = "Multi URL Picker", Mandatory = false, SortOrder = 21, DataTypeId = 1050 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Tags, ValueStorageType.Ntext) { Alias = "tags", Name = "Tags", Mandatory = false, SortOrder = 22, DataTypeId = 1041 }); contentType.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Content", SortOrder = 1 }); @@ -380,7 +380,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static MediaType CreateVideoMediaType() { - var mediaType = new MediaType(-1) + var mediaType = new MediaType(TestHelper.ShortStringHelper, -1) { Alias = "video", Name = "Video", @@ -393,8 +393,8 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var contentCollection = new PropertyTypeCollection(false); - contentCollection.Add(new PropertyType("test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentCollection.Add(new PropertyType("test", ValueStorageType.Nvarchar) { Alias = "videoFile", Name = "Video File", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Nvarchar) { Alias = "videoFile", Name = "Video File", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); mediaType.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Media", SortOrder = 1 }); @@ -406,7 +406,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static MediaType CreateImageMediaType(string alias = Constants.Conventions.MediaTypes.Image) { - var mediaType = new MediaType(-1) + var mediaType = new MediaType(TestHelper.ShortStringHelper, -1) { Alias = alias, Name = "Image", @@ -419,11 +419,11 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var contentCollection = new PropertyTypeCollection(false); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.UploadField, ValueStorageType.Nvarchar) { Alias = Constants.Conventions.Media.File, Name = "File", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -90 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Integer) { Alias = Constants.Conventions.Media.Width, Name = "Width", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Integer) { Alias = Constants.Conventions.Media.Height, Name = "Height", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Integer) { Alias = Constants.Conventions.Media.Bytes, Name = "Bytes", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.Label, ValueStorageType.Nvarchar) { Alias = Constants.Conventions.Media.Extension, Name = "File Extension", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.UploadField, ValueStorageType.Nvarchar) { Alias = Constants.Conventions.Media.File, Name = "File", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -90 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Integer) { Alias = Constants.Conventions.Media.Width, Name = "Width", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Integer) { Alias = Constants.Conventions.Media.Height, Name = "Height", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Integer) { Alias = Constants.Conventions.Media.Bytes, Name = "Bytes", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.Label, ValueStorageType.Nvarchar) { Alias = Constants.Conventions.Media.Extension, Name = "File Extension", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -90 }); mediaType.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Media", SortOrder = 1 }); @@ -435,7 +435,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static MemberType CreateSimpleMemberType(string alias = null, string name = null) { - var contentType = new MemberType(-1) + var contentType = new MemberType(TestHelper.ShortStringHelper, -1) { Alias = alias ?? "simple", Name = name ?? "Simple Page", @@ -448,9 +448,9 @@ namespace Umbraco.Tests.TestHelpers.Entities }; var contentCollection = new PropertyTypeCollection(false); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); - contentCollection.Add(new PropertyType(Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "author", Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "title", Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "bodyText", Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeId = -87 }); + contentCollection.Add(new PropertyType(TestHelper.ShortStringHelper, Constants.PropertyEditors.Aliases.TextBox, ValueStorageType.Ntext) { Alias = "author", Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeId = -88 }); contentType.PropertyGroups.Add(new PropertyGroup(contentCollection) { Name = "Content", SortOrder = 1 }); diff --git a/src/Umbraco.Tests/TestHelpers/Entities/MockedPropertyTypes.cs b/src/Umbraco.Tests/TestHelpers/Entities/MockedPropertyTypes.cs index 30069d2be9..e8efc045f6 100644 --- a/src/Umbraco.Tests/TestHelpers/Entities/MockedPropertyTypes.cs +++ b/src/Umbraco.Tests/TestHelpers/Entities/MockedPropertyTypes.cs @@ -15,7 +15,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static PropertyType CreateDecimalProperty(string alias, string name, int dtdId) { return - new PropertyType("test", ValueStorageType.Decimal, alias) + new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Decimal, alias) { Name = name, Description = "Decimal property type", @@ -34,7 +34,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static PropertyType CreateIntegerProperty(string alias, string name) { return - new PropertyType("test", ValueStorageType.Integer, alias) + new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Integer, alias) { Name = name, Description = "Integer property type", @@ -53,7 +53,7 @@ namespace Umbraco.Tests.TestHelpers.Entities public static PropertyType CreateDateTimeProperty(string alias, string name) { return - new PropertyType("test", ValueStorageType.Date, alias) + new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Date, alias) { Name = name, Description = "DateTime property type", diff --git a/src/Umbraco.Tests/TestHelpers/Entities/MockedUser.cs b/src/Umbraco.Tests/TestHelpers/Entities/MockedUser.cs index 7293c53b72..f6c0c984de 100644 --- a/src/Umbraco.Tests/TestHelpers/Entities/MockedUser.cs +++ b/src/Umbraco.Tests/TestHelpers/Entities/MockedUser.cs @@ -8,7 +8,7 @@ namespace Umbraco.Tests.TestHelpers.Entities { internal static User CreateUser(string suffix = "") { - var user = new User + var user = new User(SettingsForTests.GenerateMockGlobalSettings()) { Language = "en", IsApproved = true, @@ -29,7 +29,7 @@ namespace Umbraco.Tests.TestHelpers.Entities for (int i = 0; i < amount; i++) { var name = "Member No-" + i; - var user = new User(name, "test" + i + "@test.com", "test" + i, "test" + i); + var user = new User(SettingsForTests.GenerateMockGlobalSettings(), name, "test" + i + "@test.com", "test" + i, "test" + i); onCreating?.Invoke(i, user); diff --git a/src/Umbraco.Tests/TestHelpers/Entities/MockedUserGroup.cs b/src/Umbraco.Tests/TestHelpers/Entities/MockedUserGroup.cs index 9e20133de5..ce3852c540 100644 --- a/src/Umbraco.Tests/TestHelpers/Entities/MockedUserGroup.cs +++ b/src/Umbraco.Tests/TestHelpers/Entities/MockedUserGroup.cs @@ -6,7 +6,7 @@ namespace Umbraco.Tests.TestHelpers.Entities { internal static UserGroup CreateUserGroup(string suffix = "", string[] permissions = null, string[] allowedSections = null) { - var group = new UserGroup + var group = new UserGroup(TestHelper.ShortStringHelper) { Alias = "testUserGroup" + suffix, Name = "TestUserGroup" + suffix, diff --git a/src/Umbraco.Tests/TestHelpers/TestObjects.cs b/src/Umbraco.Tests/TestHelpers/TestObjects.cs index a5bed1dca0..eeb607fec5 100644 --- a/src/Umbraco.Tests/TestHelpers/TestObjects.cs +++ b/src/Umbraco.Tests/TestHelpers/TestObjects.cs @@ -167,7 +167,7 @@ namespace Umbraco.Tests.TestHelpers var mediaService = GetLazyService(factory, c => new MediaService(scopeProvider, mediaFileSystem, logger, eventMessagesFactory, GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c))); var contentTypeService = GetLazyService(factory, c => new ContentTypeService(scopeProvider, logger, eventMessagesFactory, contentService.Value, GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c))); var mediaTypeService = GetLazyService(factory, c => new MediaTypeService(scopeProvider, logger, eventMessagesFactory, mediaService.Value, GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c))); - var fileService = GetLazyService(factory, c => new FileService(scopeProvider, ioHelper, logger, eventMessagesFactory, GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c))); + var fileService = GetLazyService(factory, c => new FileService(scopeProvider, ioHelper, logger, eventMessagesFactory, GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c), GetRepo(c), TestHelper.ShortStringHelper)); var memberTypeService = GetLazyService(factory, c => new MemberTypeService(scopeProvider, logger, eventMessagesFactory, memberService.Value, GetRepo(c), GetRepo(c), GetRepo(c))); var entityService = GetLazyService(factory, c => new EntityService(scopeProvider, logger, eventMessagesFactory, idkMap, GetRepo(c))); @@ -179,11 +179,11 @@ namespace Umbraco.Tests.TestHelpers return new PackagingService( auditService.Value, new PackagesRepository(contentService.Value, contentTypeService.Value, dataTypeService.Value, fileService.Value, macroService.Value, localizationService.Value, ioHelper, - new EntityXmlSerializer(contentService.Value, mediaService.Value, dataTypeService.Value, userService.Value, localizationService.Value, contentTypeService.Value, urlSegmentProviders), logger, umbracoVersion, globalSettings, "createdPackages.config"), + new EntityXmlSerializer(contentService.Value, mediaService.Value, dataTypeService.Value, userService.Value, localizationService.Value, contentTypeService.Value, urlSegmentProviders, TestHelper.ShortStringHelper), logger, umbracoVersion, globalSettings, "createdPackages.config"), new PackagesRepository(contentService.Value, contentTypeService.Value, dataTypeService.Value, fileService.Value, macroService.Value, localizationService.Value, ioHelper, - new EntityXmlSerializer(contentService.Value, mediaService.Value, dataTypeService.Value, userService.Value, localizationService.Value, contentTypeService.Value, urlSegmentProviders), logger, umbracoVersion, globalSettings, "installedPackages.config"), + new EntityXmlSerializer(contentService.Value, mediaService.Value, dataTypeService.Value, userService.Value, localizationService.Value, contentTypeService.Value, urlSegmentProviders, TestHelper.ShortStringHelper), logger, umbracoVersion, globalSettings, "installedPackages.config"), new PackageInstallation( - new PackageDataInstallation(logger, fileService.Value, macroService.Value, localizationService.Value, dataTypeService.Value, entityService.Value, contentTypeService.Value, contentService.Value, propertyEditorCollection, scopeProvider, shortStringHelper), + new PackageDataInstallation(logger, fileService.Value, macroService.Value, localizationService.Value, dataTypeService.Value, entityService.Value, contentTypeService.Value, contentService.Value, propertyEditorCollection, scopeProvider, shortStringHelper, GetGlobalSettings()), new PackageFileInstallation(compiledPackageXmlParser, ioHelper, new ProfilingLogger(logger, new TestProfiler())), compiledPackageXmlParser, Mock.Of(), new DirectoryInfo(ioHelper.GetRootDirectorySafe())), ioHelper); diff --git a/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs b/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs index 6dc96da007..d20a87eba9 100644 --- a/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs +++ b/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs @@ -20,6 +20,7 @@ using Umbraco.Core.Scoping; using Umbraco.Core.Services; using Umbraco.Core.Strings; using Umbraco.Examine; +using Umbraco.Tests.TestHelpers; using IContentService = Umbraco.Core.Services.IContentService; using IMediaService = Umbraco.Core.Services.IMediaService; using Version = Lucene.Net.Util.Version; @@ -33,7 +34,7 @@ namespace Umbraco.Tests.UmbracoExamine { public static ContentValueSetBuilder GetContentValueSetBuilder(PropertyEditorCollection propertyEditors, bool publishedValuesOnly) { - var contentValueSetBuilder = new ContentValueSetBuilder(propertyEditors, new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider() }), GetMockUserService(), publishedValuesOnly); + var contentValueSetBuilder = new ContentValueSetBuilder(propertyEditors, new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider(TestHelper.ShortStringHelper) }), GetMockUserService(), TestHelper.ShortStringHelper, publishedValuesOnly); return contentValueSetBuilder; } @@ -46,7 +47,7 @@ namespace Umbraco.Tests.UmbracoExamine public static MediaIndexPopulator GetMediaIndexRebuilder(PropertyEditorCollection propertyEditors, IMediaService mediaService) { - var mediaValueSetBuilder = new MediaValueSetBuilder(propertyEditors, new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider() }), GetMockUserService(), GetMockLogger()); + var mediaValueSetBuilder = new MediaValueSetBuilder(propertyEditors, new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider(TestHelper.ShortStringHelper) }), GetMockUserService(), GetMockLogger(), TestHelper.ShortStringHelper); var mediaIndexDataSource = new MediaIndexPopulator(null, mediaService, mediaValueSetBuilder); return mediaIndexDataSource; } @@ -141,8 +142,8 @@ namespace Umbraco.Tests.UmbracoExamine mediaTypeServiceMock.Setup(x => x.GetAll()) .Returns(new List { - new MediaType(-1) {Alias = "Folder", Name = "Folder", Id = 1031, Icon = "icon-folder"}, - new MediaType(-1) {Alias = "Image", Name = "Image", Id = 1032, Icon = "icon-picture"} + new MediaType(TestHelper.ShortStringHelper, -1) {Alias = "Folder", Name = "Folder", Id = 1031, Icon = "icon-folder"}, + new MediaType(TestHelper.ShortStringHelper, -1) {Alias = "Image", Name = "Image", Id = 1032, Icon = "icon-picture"} }); return mediaTypeServiceMock.Object; } diff --git a/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs b/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs index f2d9ff626d..e41169c6ec 100644 --- a/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs +++ b/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs @@ -15,6 +15,7 @@ using Newtonsoft.Json; using System.Collections.Generic; using System; using Umbraco.Core; +using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests.UmbracoExamine { @@ -39,7 +40,7 @@ namespace Umbraco.Tests.UmbracoExamine indexer.CreateIndex(); var contentType = MockedContentTypes.CreateBasicContentType(); - contentType.AddPropertyType(new PropertyType("test", ValueStorageType.Ntext) + contentType.AddPropertyType(new PropertyType(TestHelper.ShortStringHelper, "test", ValueStorageType.Ntext) { Alias = "grid", Name = "Grid", diff --git a/src/Umbraco.Tests/Web/Controllers/ContentControllerTests.cs b/src/Umbraco.Tests/Web/Controllers/ContentControllerTests.cs index 83d9623f14..cffb2a7aaf 100644 --- a/src/Umbraco.Tests/Web/Controllers/ContentControllerTests.cs +++ b/src/Umbraco.Tests/Web/Controllers/ContentControllerTests.cs @@ -57,9 +57,9 @@ namespace Umbraco.Tests.Web.Controllers var userServiceMock = new Mock(); userServiceMock.Setup(service => service.GetUserById(It.IsAny())) - .Returns((int id) => id == 1234 ? new User(1234, "Test", "test@test.com", "test@test.com", "", new List(), new int[0], new int[0]) : null); + .Returns((int id) => id == 1234 ? new User(TestObjects.GetGlobalSettings(), 1234, "Test", "test@test.com", "test@test.com", "", new List(), new int[0], new int[0]) : null); userServiceMock.Setup(x => x.GetProfileById(It.IsAny())) - .Returns((int id) => id == 1234 ? new User(1234, "Test", "test@test.com", "test@test.com", "", new List(), new int[0], new int[0]) : null); + .Returns((int id) => id == 1234 ? new User(TestObjects.GetGlobalSettings(), 1234, "Test", "test@test.com", "test@test.com", "", new List(), new int[0], new int[0]) : null); userServiceMock.Setup(service => service.GetPermissionsForPath(It.IsAny(), It.IsAny())) .Returns(new EntityPermissionSet(123, new EntityPermissionCollection(new[] { diff --git a/src/Umbraco.Tests/Web/Controllers/UsersControllerTests.cs b/src/Umbraco.Tests/Web/Controllers/UsersControllerTests.cs index 85dd303432..d983a835b8 100644 --- a/src/Umbraco.Tests/Web/Controllers/UsersControllerTests.cs +++ b/src/Umbraco.Tests/Web/Controllers/UsersControllerTests.cs @@ -74,7 +74,7 @@ namespace Umbraco.Tests.Web.Controllers userServiceMock.Setup(service => service.GetUserGroupsByAlias(It.IsAny())) .Returns(new[] { Mock.Of(group => group.Id == 123 && group.Alias == "writers" && group.Name == "Writers") }); userServiceMock.Setup(service => service.GetUserById(It.IsAny())) - .Returns((int id) => id == 1234 ? new User(1234, "Test", "test@test.com", "test@test.com", "", new List(), new int[0], new int[0]) : null); + .Returns((int id) => id == 1234 ? new User(TestObjects.GetGlobalSettings(), 1234, "Test", "test@test.com", "test@test.com", "", new List(), new int[0], new int[0]) : null); var usersController = new UsersController( Factory.GetInstance(), diff --git a/src/Umbraco.Web/Compose/BackOfficeUserAuditEventsComponent.cs b/src/Umbraco.Web/Compose/BackOfficeUserAuditEventsComponent.cs index 4244d575af..84fb0e6bb8 100644 --- a/src/Umbraco.Web/Compose/BackOfficeUserAuditEventsComponent.cs +++ b/src/Umbraco.Web/Compose/BackOfficeUserAuditEventsComponent.cs @@ -2,6 +2,7 @@ using Umbraco.Core; using Umbraco.Core.Compose; using Umbraco.Core.Composing; +using Umbraco.Core.Configuration; using Umbraco.Core.Models.Membership; using Umbraco.Core.Services; using Umbraco.Web.Security; @@ -12,11 +13,13 @@ namespace Umbraco.Web.Compose { private readonly IAuditService _auditService; private readonly IUserService _userService; + private readonly IGlobalSettings _globalSettings; - public BackOfficeUserAuditEventsComponent(IAuditService auditService, IUserService userService) + public BackOfficeUserAuditEventsComponent(IAuditService auditService, IUserService userService, IGlobalSettings globalSettings) { _auditService = auditService; _userService = userService; + _globalSettings = globalSettings; } public void Initialize() @@ -40,7 +43,7 @@ namespace Umbraco.Web.Compose private IUser GetPerformingUser(int userId) { var found = userId >= 0 ? _userService.GetUserById(userId) : null; - return found ?? AuditEventsComponent.UnknownUser; + return found ?? AuditEventsComponent.UnknownUser(_globalSettings); } private static string FormatEmail(IMembershipUser user) diff --git a/src/Umbraco.Web/Editors/Binders/MemberBinder.cs b/src/Umbraco.Web/Editors/Binders/MemberBinder.cs index 33e37adb2b..63bf0f0473 100644 --- a/src/Umbraco.Web/Editors/Binders/MemberBinder.cs +++ b/src/Umbraco.Web/Editors/Binders/MemberBinder.cs @@ -107,7 +107,7 @@ namespace Umbraco.Web.Editors.Binders /// private void FilterMembershipProviderProperties(IContentTypeBase contentType) { - var defaultProps = ConventionsHelper.GetStandardPropertyTypeStubs(); + var defaultProps = ConventionsHelper.GetStandardPropertyTypeStubs(Current.ShortStringHelper); //remove all membership properties, these values are set with the membership provider. var exclude = defaultProps.Select(x => x.Value.Alias).ToArray(); FilterContentTypeProperties(contentType, exclude); diff --git a/src/Umbraco.Web/Editors/ContentTypeController.cs b/src/Umbraco.Web/Editors/ContentTypeController.cs index 043402365c..dbcbe9987d 100644 --- a/src/Umbraco.Web/Editors/ContentTypeController.cs +++ b/src/Umbraco.Web/Editors/ContentTypeController.cs @@ -49,6 +49,7 @@ namespace Umbraco.Web.Editors public class ContentTypeController : ContentTypeControllerBase { private readonly IEntityXmlSerializer _serializer; + private readonly IGlobalSettings _globalSettings; private readonly PropertyEditorCollection _propertyEditors; private readonly IScopeProvider _scopeProvider; private readonly IShortStringHelper _shortStringHelper; @@ -65,6 +66,7 @@ namespace Umbraco.Web.Editors : base(cultureDictionary, globalSettings, umbracoContextAccessor, sqlContext, services, appCaches, logger, runtimeState, umbracoHelper) { _serializer = serializer; + _globalSettings = globalSettings; _propertyEditors = propertyEditors; _scopeProvider = scopeProvider; _shortStringHelper = shortStringHelper; @@ -227,7 +229,7 @@ namespace Umbraco.Web.Editors public CreatedContentTypeCollectionResult PostCreateCollection(int parentId, string collectionName, bool collectionCreateTemplate, string collectionItemName, bool collectionItemCreateTemplate, string collectionIcon, string collectionItemIcon) { // create item doctype - var itemDocType = new ContentType(parentId); + var itemDocType = new ContentType(_shortStringHelper, parentId); itemDocType.Name = collectionItemName; itemDocType.Alias = collectionItemName.ToSafeAlias(true); itemDocType.Icon = collectionItemIcon; @@ -243,7 +245,7 @@ namespace Umbraco.Web.Editors Services.ContentTypeService.Save(itemDocType); // create collection doctype - var collectionDocType = new ContentType(parentId); + var collectionDocType = new ContentType(_shortStringHelper, parentId); collectionDocType.Name = collectionName; collectionDocType.Alias = collectionName.ToSafeAlias(true); collectionDocType.Icon = collectionIcon; @@ -378,10 +380,10 @@ namespace Umbraco.Web.Editors if (parentId != Constants.System.Root) { var parent = Services.ContentTypeService.Get(parentId); - ct = parent != null ? new ContentType(parent, string.Empty) : new ContentType(parentId); + ct = parent != null ? new ContentType(_shortStringHelper, parent, string.Empty) : new ContentType(_shortStringHelper, parentId); } else - ct = new ContentType(parentId); + ct = new ContentType(_shortStringHelper, parentId); ct.Icon = Constants.Icons.Content; @@ -526,7 +528,7 @@ namespace Umbraco.Web.Editors } var dataInstaller = new PackageDataInstallation(Logger, Services.FileService, Services.MacroService, Services.LocalizationService, - Services.DataTypeService, Services.EntityService, Services.ContentTypeService, Services.ContentService, _propertyEditors, _scopeProvider, _shortStringHelper); + Services.DataTypeService, Services.EntityService, Services.ContentTypeService, Services.ContentService, _propertyEditors, _scopeProvider, _shortStringHelper, _globalSettings); var xd = new XmlDocument {XmlResolver = null}; xd.Load(filePath); diff --git a/src/Umbraco.Web/Editors/Filters/MemberSaveModelValidator.cs b/src/Umbraco.Web/Editors/Filters/MemberSaveModelValidator.cs index f0d9b1f1a9..fbbd7582f9 100644 --- a/src/Umbraco.Web/Editors/Filters/MemberSaveModelValidator.cs +++ b/src/Umbraco.Web/Editors/Filters/MemberSaveModelValidator.cs @@ -6,6 +6,7 @@ using System.Net.Http; using System.Web.Http.Controllers; using System.Web.Http.ModelBinding; using Umbraco.Core; +using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Services; @@ -89,7 +90,7 @@ namespace Umbraco.Web.Editors.Filters public override bool ValidateProperties(MemberSave model, IContentProperties modelWithProperties, HttpActionContext actionContext) { var propertiesToValidate = model.Properties.ToList(); - var defaultProps = ConventionsHelper.GetStandardPropertyTypeStubs(); + var defaultProps = ConventionsHelper.GetStandardPropertyTypeStubs(Current.ShortStringHelper); var exclude = defaultProps.Select(x => x.Value.Alias).ToArray(); foreach (var remove in exclude) { diff --git a/src/Umbraco.Web/Editors/LanguageController.cs b/src/Umbraco.Web/Editors/LanguageController.cs index cb7fde23db..2bb2953227 100644 --- a/src/Umbraco.Web/Editors/LanguageController.cs +++ b/src/Umbraco.Web/Editors/LanguageController.cs @@ -133,7 +133,7 @@ namespace Umbraco.Web.Editors } // create it (creating a new language cannot create a fallback cycle) - var newLang = new Core.Models.Language(culture.Name) + var newLang = new Core.Models.Language(GlobalSettings, culture.Name) { CultureName = culture.DisplayName, IsDefault = language.IsDefault, diff --git a/src/Umbraco.Web/Editors/MacroRenderingController.cs b/src/Umbraco.Web/Editors/MacroRenderingController.cs index 7aabff6822..86609a6254 100644 --- a/src/Umbraco.Web/Editors/MacroRenderingController.cs +++ b/src/Umbraco.Web/Editors/MacroRenderingController.cs @@ -14,6 +14,7 @@ using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Services; +using Umbraco.Core.Strings; namespace Umbraco.Web.Editors { @@ -30,15 +31,17 @@ namespace Umbraco.Web.Editors { private readonly IMacroService _macroService; private readonly IContentService _contentService; + private readonly IShortStringHelper _shortStringHelper; private readonly IUmbracoComponentRenderer _componentRenderer; private readonly IVariationContextAccessor _variationContextAccessor; - public MacroRenderingController(IUmbracoComponentRenderer componentRenderer, IVariationContextAccessor variationContextAccessor, IMacroService macroService, IContentService contentService) + public MacroRenderingController(IUmbracoComponentRenderer componentRenderer, IVariationContextAccessor variationContextAccessor, IMacroService macroService, IContentService contentService, IShortStringHelper shortStringHelper) { _componentRenderer = componentRenderer; _variationContextAccessor = variationContextAccessor; _macroService = macroService; _contentService = contentService; + _shortStringHelper = shortStringHelper; } /// @@ -159,7 +162,7 @@ namespace Umbraco.Web.Editors var macroName = model.Filename.TrimEnd(".cshtml"); - var macro = new Macro + var macro = new Macro(_shortStringHelper) { Alias = macroName.ToSafeAlias(), Name = macroName, diff --git a/src/Umbraco.Web/Editors/MacrosController.cs b/src/Umbraco.Web/Editors/MacrosController.cs index 06c33d503a..5254e2fc40 100644 --- a/src/Umbraco.Web/Editors/MacrosController.cs +++ b/src/Umbraco.Web/Editors/MacrosController.cs @@ -13,6 +13,7 @@ using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; +using Umbraco.Core.Strings; using Umbraco.Web.Composing; using Umbraco.Web.Models.ContentEditing; using Umbraco.Web.Mvc; @@ -30,11 +31,13 @@ namespace Umbraco.Web.Editors [UmbracoTreeAuthorize(Constants.Trees.Macros)] public class MacrosController : BackOfficeNotificationsController { + private readonly IShortStringHelper _shortStringHelper; private readonly IMacroService _macroService; - public MacrosController(IGlobalSettings globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ISqlContext sqlContext, ServiceContext services, AppCaches appCaches, IProfilingLogger logger, IRuntimeState runtimeState, UmbracoHelper umbracoHelper) + public MacrosController(IGlobalSettings globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ISqlContext sqlContext, ServiceContext services, AppCaches appCaches, IProfilingLogger logger, IRuntimeState runtimeState, UmbracoHelper umbracoHelper, IShortStringHelper shortStringHelper) : base(globalSettings, umbracoContextAccessor, sqlContext, services, appCaches, logger, runtimeState, umbracoHelper) { + _shortStringHelper = shortStringHelper; _macroService = Services.MacroService; } @@ -69,7 +72,7 @@ namespace Umbraco.Web.Editors try { - var macro = new Macro + var macro = new Macro(_shortStringHelper) { Alias = alias, Name = name, diff --git a/src/Umbraco.Web/Editors/MediaTypeController.cs b/src/Umbraco.Web/Editors/MediaTypeController.cs index f05a840ad6..e590f2860f 100644 --- a/src/Umbraco.Web/Editors/MediaTypeController.cs +++ b/src/Umbraco.Web/Editors/MediaTypeController.cs @@ -17,6 +17,7 @@ using Umbraco.Core.Configuration; using Umbraco.Core.Dictionary; using Umbraco.Core.Logging; using Umbraco.Core.Persistence; +using Umbraco.Core.Strings; using Umbraco.Web.Composing; using Constants = Umbraco.Core.Constants; using IMediaType = Umbraco.Core.Models.IMediaType; @@ -36,9 +37,12 @@ namespace Umbraco.Web.Editors [MediaTypeControllerControllerConfiguration] public class MediaTypeController : ContentTypeControllerBase { - public MediaTypeController(ICultureDictionary cultureDictionary, IGlobalSettings globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ISqlContext sqlContext, ServiceContext services, AppCaches appCaches, IProfilingLogger logger, IRuntimeState runtimeState, UmbracoHelper umbracoHelper) + private readonly IShortStringHelper _shortStringHelper; + + public MediaTypeController(ICultureDictionary cultureDictionary, IGlobalSettings globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ISqlContext sqlContext, ServiceContext services, AppCaches appCaches, IProfilingLogger logger, IRuntimeState runtimeState, UmbracoHelper umbracoHelper, IShortStringHelper shortStringHelper) : base(cultureDictionary, globalSettings, umbracoContextAccessor, sqlContext, services, appCaches, logger, runtimeState, umbracoHelper) { + _shortStringHelper = shortStringHelper; } /// @@ -140,10 +144,10 @@ namespace Umbraco.Web.Editors if (parentId != Constants.System.Root) { var parent = Services.MediaTypeService.Get(parentId); - mt = parent != null ? new MediaType(parent, string.Empty) : new MediaType(parentId); + mt = parent != null ? new MediaType(_shortStringHelper, parent, string.Empty) : new MediaType(_shortStringHelper, parentId); } else - mt = new MediaType(parentId); + mt = new MediaType(_shortStringHelper, parentId); mt.Icon = Constants.Icons.MediaImage; diff --git a/src/Umbraco.Web/Editors/MemberTypeController.cs b/src/Umbraco.Web/Editors/MemberTypeController.cs index fd34eaf300..0ad0d405e3 100644 --- a/src/Umbraco.Web/Editors/MemberTypeController.cs +++ b/src/Umbraco.Web/Editors/MemberTypeController.cs @@ -6,6 +6,7 @@ using System.Net.Http; using System.Web.Http; using Umbraco.Core; using Umbraco.Core.Cache; +using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Dictionary; using Umbraco.Core.Logging; @@ -97,7 +98,7 @@ namespace Umbraco.Web.Editors [UmbracoTreeAuthorize(Constants.Trees.MemberTypes)] public MemberTypeDisplay GetEmpty() { - var ct = new MemberType(-1); + var ct = new MemberType(Current.ShortStringHelper, -1); ct.Icon = Constants.Icons.Member; var dto = Mapper.Map(ct); diff --git a/src/Umbraco.Web/Editors/TemplateController.cs b/src/Umbraco.Web/Editors/TemplateController.cs index 8da5e80f2e..666e1d2987 100644 --- a/src/Umbraco.Web/Editors/TemplateController.cs +++ b/src/Umbraco.Web/Editors/TemplateController.cs @@ -5,6 +5,7 @@ using System.Net.Http; using System.Web.Http; using Umbraco.Core; using Umbraco.Core.Cache; +using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.IO; using Umbraco.Core.Logging; @@ -81,7 +82,7 @@ namespace Umbraco.Web.Editors public TemplateDisplay GetScaffold(int id) { //empty default - var dt = new Template("", ""); + var dt = new Template(Current.ShortStringHelper, "", ""); dt.Path = "-1"; if (id > 0) diff --git a/src/Umbraco.Web/Editors/UserGroupsController.cs b/src/Umbraco.Web/Editors/UserGroupsController.cs index e521b5de2e..101716c84e 100644 --- a/src/Umbraco.Web/Editors/UserGroupsController.cs +++ b/src/Umbraco.Web/Editors/UserGroupsController.cs @@ -5,6 +5,7 @@ using System.Net; using System.Net.Http; using System.Web.Http; using Umbraco.Core; +using Umbraco.Core.Composing; using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; using Umbraco.Core.Services; @@ -106,7 +107,7 @@ namespace Umbraco.Web.Editors /// public UserGroupDisplay GetEmptyUserGroup() { - return Mapper.Map(new UserGroup()); + return Mapper.Map(new UserGroup(Current.ShortStringHelper)); } /// diff --git a/src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs b/src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs index cab20926ff..0e43de6410 100644 --- a/src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs +++ b/src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs @@ -242,7 +242,7 @@ namespace Umbraco.Web.Macros var urlSegmentProviders = Current.UrlSegmentProviders; // TODO inject return _cultureInfos = _inner.PublishCultureInfos.Values - .ToDictionary(x => x.Culture, x => new PublishedCultureInfo(x.Culture, x.Name, _inner.GetUrlSegment(urlSegmentProviders, x.Culture), x.Date)); + .ToDictionary(x => x.Culture, x => new PublishedCultureInfo(x.Culture, x.Name, _inner.GetUrlSegment(Current.ShortStringHelper, urlSegmentProviders, x.Culture), x.Date)); } } diff --git a/src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs b/src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs index 01af748cba..6eaeef17f2 100644 --- a/src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs +++ b/src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Umbraco.Core; +using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Core.Mapping; using Umbraco.Core.Models; @@ -9,6 +10,7 @@ using Umbraco.Core.PropertyEditors; using Umbraco.Web.Models.ContentEditing; using Umbraco.Core.Services; using Umbraco.Core.Exceptions; +using Umbraco.Core.Strings; namespace Umbraco.Web.Models.Mapping { @@ -24,6 +26,8 @@ namespace Umbraco.Web.Models.Mapping private readonly IMediaTypeService _mediaTypeService; private readonly IMemberTypeService _memberTypeService; private readonly ILogger _logger; + private readonly IShortStringHelper _shortStringHelper; + public ContentTypeMapDefinition(PropertyEditorCollection propertyEditors, IDataTypeService dataTypeService, IFileService fileService, IContentTypeService contentTypeService, IMediaTypeService mediaTypeService, IMemberTypeService memberTypeService, @@ -36,13 +40,15 @@ namespace Umbraco.Web.Models.Mapping _mediaTypeService = mediaTypeService; _memberTypeService = memberTypeService; _logger = logger; + _shortStringHelper = Current.ShortStringHelper; + } public void DefineMaps(UmbracoMapper mapper) { - mapper.Define((source, context) => new ContentType(source.ParentId), Map); - mapper.Define((source, context) => new MediaType(source.ParentId), Map); - mapper.Define((source, context) => new MemberType(source.ParentId), Map); + mapper.Define((source, context) => new ContentType(_shortStringHelper, source.ParentId), Map); + mapper.Define((source, context) => new MediaType(_shortStringHelper, source.ParentId), Map); + mapper.Define((source, context) => new MemberType(_shortStringHelper, source.ParentId), Map); mapper.Define((source, context) => new DocumentTypeDisplay(), Map); mapper.Define((source, context) => new MediaTypeDisplay(), Map); @@ -53,7 +59,7 @@ namespace Umbraco.Web.Models.Mapping { var dataType = _dataTypeService.GetDataType(source.DataTypeId); if (dataType == null) throw new NullReferenceException("No data type found with id " + source.DataTypeId); - return new PropertyType(dataType, source.Alias); + return new PropertyType(_shortStringHelper, dataType, source.Alias); }, Map); // TODO: isPublishing in ctor? @@ -228,7 +234,7 @@ namespace Umbraco.Web.Models.Mapping target.Variations = source.AllowCultureVariant ? target.Variations.SetFlag(ContentVariation.Culture) : target.Variations.UnsetFlag(ContentVariation.Culture); - + if (source.Id > 0) target.Id = source.Id; @@ -399,8 +405,8 @@ namespace Umbraco.Web.Models.Mapping if (!(target is IMemberType)) { - target.Variations = source.AllowCultureVariant - ? target.Variations.SetFlag(ContentVariation.Culture) + target.Variations = source.AllowCultureVariant + ? target.Variations.SetFlag(ContentVariation.Culture) : target.Variations.UnsetFlag(ContentVariation.Culture); } diff --git a/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs b/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs index 56bba00b25..104f0acb15 100644 --- a/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs @@ -1,12 +1,14 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Composing; using Umbraco.Core; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; using Umbraco.Web.Models.ContentEditing; +using Current = Umbraco.Core.Composing.Current; namespace Umbraco.Web.Models.Mapping { @@ -150,7 +152,7 @@ namespace Umbraco.Web.Models.Mapping // handle locked properties var lockedPropertyAliases = new List(); // add built-in member property aliases to list of aliases to be locked - foreach (var propertyAlias in ConventionsHelper.GetStandardPropertyTypeStubs().Keys) + foreach (var propertyAlias in ConventionsHelper.GetStandardPropertyTypeStubs(Current.ShortStringHelper).Keys) { lockedPropertyAliases.Add(propertyAlias); } diff --git a/src/Umbraco.Web/Models/Mapping/TemplateMapDefinition.cs b/src/Umbraco.Web/Models/Mapping/TemplateMapDefinition.cs index 3751cd65b7..6868040586 100644 --- a/src/Umbraco.Web/Models/Mapping/TemplateMapDefinition.cs +++ b/src/Umbraco.Web/Models/Mapping/TemplateMapDefinition.cs @@ -1,15 +1,23 @@ using Umbraco.Core.Mapping; using Umbraco.Core.Models; +using Umbraco.Core.Strings; using Umbraco.Web.Models.ContentEditing; namespace Umbraco.Web.Models.Mapping { internal class TemplateMapDefinition : IMapDefinition { + private readonly IShortStringHelper _shortStringHelper; + + public TemplateMapDefinition(IShortStringHelper shortStringHelper) + { + _shortStringHelper = shortStringHelper; + } + public void DefineMaps(UmbracoMapper mapper) { mapper.Define((source, context) => new TemplateDisplay(), Map); - mapper.Define((source, context) => new Template(source.Name, source.Alias), Map); + mapper.Define((source, context) => new Template(_shortStringHelper, source.Name, source.Alias), Map); } // Umbraco.Code.MapAll diff --git a/src/Umbraco.Web/Models/Mapping/UserMapDefinition.cs b/src/Umbraco.Web/Models/Mapping/UserMapDefinition.cs index 88960fb189..2fb15f28ef 100644 --- a/src/Umbraco.Web/Models/Mapping/UserMapDefinition.cs +++ b/src/Umbraco.Web/Models/Mapping/UserMapDefinition.cs @@ -4,6 +4,7 @@ using System.Globalization; using System.Linq; using Umbraco.Core; using Umbraco.Core.Cache; +using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Mapping; using Umbraco.Core.Models.Membership; @@ -41,7 +42,7 @@ namespace Umbraco.Web.Models.Mapping public void DefineMaps(UmbracoMapper mapper) { - mapper.Define((source, context) => new UserGroup { CreateDate = DateTime.UtcNow }, Map); + mapper.Define((source, context) => new UserGroup(Current.ShortStringHelper) { CreateDate = DateTime.UtcNow }, Map); mapper.Define(Map); mapper.Define((source, context) => new ContentEditing.UserProfile(), Map); mapper.Define((source, context) => new UserGroupBasic(), Map); diff --git a/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs b/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs index 0ada286f07..b8d6bc0323 100755 --- a/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs +++ b/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs @@ -1400,7 +1400,7 @@ namespace Umbraco.Web.PublishedCache.NuCache cultureData[cultureInfo.Culture] = new CultureVariation { Name = cultureInfo.Name, - UrlSegment = content.GetUrlSegment(_urlSegmentProviders, cultureInfo.Culture), + UrlSegment = content.GetUrlSegment(Current.ShortStringHelper, _urlSegmentProviders, cultureInfo.Culture), Date = content.GetUpdateDate(cultureInfo.Culture) ?? DateTime.MinValue, IsDraft = cultureIsDraft }; @@ -1412,7 +1412,7 @@ namespace Umbraco.Web.PublishedCache.NuCache { PropertyData = propertyData, CultureData = cultureData, - UrlSegment = content.GetUrlSegment(_urlSegmentProviders) + UrlSegment = content.GetUrlSegment(Current.ShortStringHelper, _urlSegmentProviders) }; var dto = new ContentNuDto diff --git a/src/Umbraco.Web/Search/ExamineComposer.cs b/src/Umbraco.Web/Search/ExamineComposer.cs index b30f0cbe03..d62fc97efb 100644 --- a/src/Umbraco.Web/Search/ExamineComposer.cs +++ b/src/Umbraco.Web/Search/ExamineComposer.cs @@ -36,12 +36,14 @@ namespace Umbraco.Web.Search factory.GetInstance(), factory.GetInstance(), factory.GetInstance(), + factory.GetInstance(), true)); composition.RegisterUnique(factory => new ContentValueSetBuilder( factory.GetInstance(), factory.GetInstance(), factory.GetInstance(), + factory.GetInstance(), false)); composition.RegisterUnique, MediaValueSetBuilder>(); composition.RegisterUnique, MemberValueSetBuilder>(); diff --git a/src/Umbraco.Web/Security/MembershipHelper.cs b/src/Umbraco.Web/Security/MembershipHelper.cs index c9a507494c..1fcd2bad56 100644 --- a/src/Umbraco.Web/Security/MembershipHelper.cs +++ b/src/Umbraco.Web/Security/MembershipHelper.cs @@ -397,7 +397,7 @@ namespace Umbraco.Web.Security var memberType = _memberTypeService.Get(member.ContentTypeId); - var builtIns = ConventionsHelper.GetStandardPropertyTypeStubs().Select(x => x.Key).ToArray(); + var builtIns = ConventionsHelper.GetStandardPropertyTypeStubs(Current.ShortStringHelper).Select(x => x.Key).ToArray(); model.MemberProperties = GetMemberPropertiesViewModel(memberType, builtIns, member).ToList(); @@ -417,7 +417,7 @@ namespace Umbraco.Web.Security if (memberType == null) throw new InvalidOperationException("Could not find a member type with alias " + memberTypeAlias); - var builtIns = ConventionsHelper.GetStandardPropertyTypeStubs().Select(x => x.Key).ToArray(); + var builtIns = ConventionsHelper.GetStandardPropertyTypeStubs(Current.ShortStringHelper).Select(x => x.Key).ToArray(); var model = RegisterModel.CreateModel(); model.MemberTypeAlias = memberTypeAlias; model.MemberProperties = GetMemberPropertiesViewModel(memberType, builtIns).ToList(); diff --git a/src/Umbraco.Web/UmbracoApplicationBase.cs b/src/Umbraco.Web/UmbracoApplicationBase.cs index 313df4b619..edf8ba663e 100644 --- a/src/Umbraco.Web/UmbracoApplicationBase.cs +++ b/src/Umbraco.Web/UmbracoApplicationBase.cs @@ -47,6 +47,8 @@ namespace Umbraco.Web _logger = SerilogLogger.CreateWithDefaultConfiguration(_hostingEnvironment, new AspNetSessionIdResolver(), () => _factory); _backOfficeInfo = new AspNetBackOfficeInfo(_configs.Global(), _ioHelper, _configs.Settings(), _logger); + + Umbraco.Composing.Current.Logger = _logger; } protected UmbracoApplicationBase(ILogger logger, Configs configs, IIOHelper ioHelper, IProfiler profiler, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo)