public void TestStrMatch() { var target = new MockManosTarget(); var rh = new RouteHandler("^foo", HttpMethod.HTTP_GET, target); var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo"); Assert.AreEqual(target, rh.Find(request), "should-match"); request = new MockHttpRequest(HttpMethod.HTTP_GET, "garbage-foo"); Assert.IsNull(rh.Find(request), "garbage-input"); }
public void TestSetPatternsNull() { var target = new MockManosTarget(); var rh = new RouteHandler("^foo", HttpMethod.HTTP_GET, target); var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo"); Assert.AreEqual(target, rh.Find(request), "sanity-1"); rh.Patterns = null; Assert.IsNull(rh.Find(request), "is null"); }
public void TestStrMatchDeep() { var target = new MockManosTarget(); var rh = new RouteHandler("foo/", HttpMethod.HTTP_GET) { new RouteHandler("bar", HttpMethod.HTTP_GET, target), }; var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/bar"); Assert.AreEqual(target, rh.Find(request)); request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/foo"); Assert.IsNull(rh.Find(request), "repeate-input"); request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/badbar"); Assert.IsNull(rh.Find(request), "matched-input"); }
public void TestChangePatterns() { // // Ensure that changing the patterns property works. // This is a bit of an edge case because internally // the patterns strings are cached as an array of // regexes. // var target = new MockManosTarget(); var rh = new RouteHandler("^foo", HttpMethod.HTTP_GET, target); var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo"); Assert.AreEqual(target, rh.Find(request), "sanity-1"); rh.Patterns [0] = "baz"; Assert.IsNull(rh.Find(request), "sanity-2"); request = new MockHttpRequest(HttpMethod.HTTP_GET, "baz"); Assert.AreEqual(target, rh.Find(request), "changed"); }