public void RegexInlineConstraint_IsCultureInsensitive(string culture) { if (TestPlatformHelper.IsMono) { // The Regex in Mono returns true when matching the Turkish I for the a-z range which causes the test // to fail. Tracked via #100. return; } // Arrange var constraint = new RegexInlineRouteConstraint("^([a-z]+)$"); var values = new RouteValueDictionary(new { controller = "\u0130" }); // Turkish upper-case dotted I using (new CultureReplacer(culture)) { // Act var match = constraint.Match( new DefaultHttpContext(), route: new Mock <IRouter>().Object, routeKey: "controller", values: values, routeDirection: RouteDirection.IncomingRequest); // Assert Assert.False(match); } }
public void RegexInlineConstraint_FailsIfKeyIsNotFoundInRouteValues() { // Arrange var constraint = new RegexInlineRouteConstraint("^abc$"); var values = new RouteValueDictionary(new { action = "abc" }); // Act var match = constraint.Match( new DefaultHttpContext(), route: new Mock <IRouter>().Object, routeKey: "controller", values: values, routeDirection: RouteDirection.IncomingRequest); // Assert Assert.False(match); }
[InlineData("Abc", " abc", false)] // Missing char public void RegexInlineConstraintBuildRegexVerbatimFromInput( string routeValue, string constraintValue, bool shouldMatch) { // Arrange var constraint = new RegexInlineRouteConstraint(constraintValue); var values = new RouteValueDictionary(new { controller = routeValue }); // Act var match = constraint.Match( new DefaultHttpContext(), route: new Mock <IRouter>().Object, routeKey: "controller", values: values, routeDirection: RouteDirection.IncomingRequest); // Assert Assert.Equal(shouldMatch, match); }