コード例 #1
0
        public void GetRoutePattern_NoRouteData()
        {
            var configuration = GetDefaultConfig();
            var request = new HttpRequestMessage(HttpMethod.Get, "http://google.com/x/y/z?a=b&c=d");
            var routePatternProvider = new ConventionalRoutePatternProvider(configuration);

            Assert.AreEqual("/x/y/z", routePatternProvider.GetRoutePattern(request));
        }
コード例 #2
0
        public void BuildRoutePattern(string routeTemplate, string url, string exptectedPattern)
        {
            // arg
            var configuration = new HttpConfiguration();
            configuration.Routes.MapHttpRoute("test", routeTemplate, new {id = RouteParameter.Optional});
            var request = new HttpRequestMessage(HttpMethod.Get, url);
            var routePatternProvider = new ConventionalRoutePatternProvider(configuration);
            var routeData = configuration.Routes.GetRouteData(request);
            request.Properties.Add(HttpPropertyKeys.HttpRouteDataKey, routeData);

            // act
            var routePattern = routePatternProvider.GetRoutePattern(request);

            // asrt
            Assert.AreEqual(exptectedPattern, routePattern);
        }