linux-packaging-mono/external/aspnetwebstack/test/System.Web.Mvc.Test/Test/RegularExpressionAttributeAdapterTest.cs
Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

34 lines
1.3 KiB
C#

// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Xunit;
namespace System.Web.Mvc.Test
{
public class RegularExpressionAttributeAdapterTest
{
[Fact]
public void ClientRulesWithRegexAttribute()
{
// Arrange
var metadata = ModelMetadataProviders.Current.GetMetadataForProperty(() => null, typeof(string), "Length");
var context = new ControllerContext();
var attribute = new RegularExpressionAttribute("the_pattern");
var adapter = new RegularExpressionAttributeAdapter(metadata, context, attribute);
// Act
var rules = adapter.GetClientValidationRules()
.OrderBy(r => r.ValidationType)
.ToArray();
// Assert
ModelClientValidationRule rule = Assert.Single(rules);
Assert.Equal("regex", rule.ValidationType);
Assert.Single(rule.ValidationParameters);
Assert.Equal("the_pattern", rule.ValidationParameters["pattern"]);
Assert.Equal(@"The field Length must match the regular expression 'the_pattern'.", rule.ErrorMessage);
}
}
}