public void ClientRulesWithMaxLengthAttribute_StringLocalizer_ReturnsLocalizedErrorString() { // Arrange var provider = TestModelMetadataProvider.CreateDefaultProvider(); var metadata = provider.GetMetadataForProperty(typeof(string), "Length"); var errorKey = metadata.GetDisplayName(); var attribute = new MaxLengthAttribute(10); attribute.ErrorMessage = errorKey; var localizedString = new LocalizedString(errorKey, "Longueur est invalide"); var stringLocalizer = new Mock<IStringLocalizer>(); stringLocalizer.Setup(s => s[errorKey]).Returns(localizedString); var adapter = new MaxLengthAttributeAdapter(attribute, stringLocalizer.Object); var serviceCollection = new ServiceCollection(); var requestServices = serviceCollection.BuildServiceProvider(); var context = new ClientModelValidationContext(metadata, provider, requestServices); // Act var rules = adapter.GetClientValidationRules(context); // Assert var rule = Assert.Single(rules); Assert.Equal("maxlength", rule.ValidationType); Assert.Equal(1, rule.ValidationParameters.Count); Assert.Equal(10, rule.ValidationParameters["max"]); Assert.Equal("Longueur est invalide", rule.ErrorMessage); }
public void ViewLocalizer_UseIndexerWithArguments_ReturnsLocalizedString() { // Arrange var applicationEnvironment = new Mock<IApplicationEnvironment>(); applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var localizedString = new LocalizedString("Hello", "Bonjour test"); var htmlLocalizer = new Mock<IHtmlLocalizer>(); htmlLocalizer.Setup(h => h["Hello", "test"]).Returns(localizedString); var htmlLocalizerFactory = new Mock<IHtmlLocalizerFactory>(); htmlLocalizerFactory.Setup( h => h.Create("TestApplication.example", "TestApplication")).Returns(htmlLocalizer.Object); var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, applicationEnvironment.Object); var view = new Mock<IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var actualLocalizedString = viewLocalizer["Hello", "test"]; // Assert Assert.Equal(localizedString, actualLocalizedString); }
public void HtmlLocalizer_UseIndexer_ReturnsLocalizedString() { // Arrange var localizedString = new LocalizedString("Hello", "Bonjour"); var stringLocalizer = new Mock<IStringLocalizer>(); stringLocalizer.Setup(s => s["Hello"]).Returns(localizedString); var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new CommonTestEncoder()); // Act var actualLocalizedString = htmlLocalizer["Hello"]; // Assert Assert.Equal(localizedString, actualLocalizedString); }
public void HtmlLocalizerOfTTest_UseIndexer_ReturnsLocalizedString() { // Arrange var localizedString = new LocalizedString("Hello", "Bonjour"); var htmlLocalizer = new Mock<IHtmlLocalizer>(); htmlLocalizer.Setup(h => h["Hello"]).Returns(localizedString); var htmlLocalizerFactory = new Mock<IHtmlLocalizerFactory>(); htmlLocalizerFactory.Setup(h => h.Create(typeof(TestClass))) .Returns(htmlLocalizer.Object); var htmlLocalizerOfT = new HtmlLocalizer<TestClass>(htmlLocalizerFactory.Object); // Act var actualLocalizedString = htmlLocalizerOfT["Hello"]; // Assert Assert.Equal(localizedString, actualLocalizedString); }
public void HtmlLocalizerOfTTest_UseIndexerWithArguments_ReturnsLocalizedString() { // Arrange var applicationEnvironment = new Mock<IApplicationEnvironment>(); applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var localizedString = new LocalizedString("Hello", "Bonjour test"); var htmlLocalizer = new Mock<IHtmlLocalizer>(); htmlLocalizer.Setup(h => h["Hello", "test"]).Returns(localizedString); var htmlLocalizerFactory = new Mock<IHtmlLocalizerFactory>(); htmlLocalizerFactory.Setup(h => h.Create(typeof(TestClass))) .Returns(htmlLocalizer.Object); var htmlLocalizerOfT = new HtmlLocalizer<TestClass>(htmlLocalizerFactory.Object); // Act var actualLocalizedString = htmlLocalizerOfT["Hello", "test"]; // Assert Assert.Equal(localizedString, actualLocalizedString); }
public OrchardCoreException(LocalizedString message, Exception innerException) : base(message, innerException) { _localizedMessage = message; }
public OrchardCoreException(LocalizedString message) : base(message) { _localizedMessage = message; }
public void HtmlLocalizer_HtmlWithArguments_ReturnsLocalizedHtml( string format, object[] arguments, string expectedText) { // Arrange var localizedString = new LocalizedString("Hello", format); var stringLocalizer = new Mock<IStringLocalizer>(); stringLocalizer.Setup(s => s["Hello"]).Returns(localizedString); var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new CommonTestEncoder()); // Act var localizedHtmlString = htmlLocalizer.Html("Hello", arguments); // Assert Assert.NotNull(localizedHtmlString); Assert.Equal(expectedText, localizedHtmlString.Value); }
public void HtmlLocalizer_HtmlWithInvalidResourcestring_ThrowsException(string format) { // Arrange var localizedString = new LocalizedString("Hello", format); var stringLocalizer = new Mock<IStringLocalizer>(); stringLocalizer.Setup(s => s["Hello"]).Returns(localizedString); var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new CommonTestEncoder()); // Act var exception = Assert.Throws<FormatException>(() => htmlLocalizer.Html("Hello", new object[] { })); // Assert Assert.NotNull(exception); Assert.Equal("Input string was not in a correct format.", exception.Message); }
protected LocalizedHtmlString ToHtmlString(LocalizedString result) { return new LocalizedHtmlString(result.Key, result.Value, result.ResourceNotFound); }
public OrchardSecurityException(LocalizedString message, Exception innerException) : base(message, innerException) { }
public OrchardSecurityException(LocalizedString message) : base(message) { }
public static LocalizedString OrDefault(this string text, LocalizedString defaultValue) { return string.IsNullOrEmpty(text) ? defaultValue : new LocalizedString(null, text); }
public void Validate_IsValidFalse_StringLocalizerReturnsLocalizerErrorMessage() { // Arrange var metadata = _metadataProvider.GetMetadataForType(typeof(string)); var container = "Hello"; var model = container.Length; var attribute = new Mock<ValidationAttribute> { CallBase = true }; attribute.Setup(a => a.IsValid(model)).Returns(false); attribute.Object.ErrorMessage = "Length"; var localizedString = new LocalizedString("Length", "Longueur est invalide"); var stringLocalizer = new Mock<IStringLocalizer>(); stringLocalizer.Setup(s => s["Length"]).Returns(localizedString); var validator = new DataAnnotationsModelValidator(attribute.Object, stringLocalizer.Object); var validationContext = new ModelValidationContext() { Metadata = metadata, Container = container, Model = model, }; // Act var result = validator.Validate(validationContext); // Assert var validationResult = result.Single(); Assert.Equal("", validationResult.MemberName); Assert.Equal("Longueur est invalide", validationResult.Message); }
/// <summary> /// Creates a new <see cref="LocalizedHtmlString"/> for a <see cref="LocalizedString"/>. /// </summary> /// <param name="result">The <see cref="LocalizedString"/>.</param> protected virtual LocalizedHtmlString ToHtmlString(LocalizedString result) => new LocalizedHtmlString(result.Name, result.Value, result.ResourceNotFound);