diff --git a/src/Microsoft.AspNet.Mvc/BuilderExtensions.cs b/src/Microsoft.AspNet.Mvc/BuilderExtensions.cs index a7232f5599..24248742e8 100644 --- a/src/Microsoft.AspNet.Mvc/BuilderExtensions.cs +++ b/src/Microsoft.AspNet.Mvc/BuilderExtensions.cs @@ -21,16 +21,17 @@ namespace Microsoft.AspNet.Builder }); } - public static IBuilder UseMvc([NotNull] this IBuilder app, [NotNull] Action configureRoutes) + public static IBuilder UseMvc([NotNull] this IBuilder app, [NotNull] Action configureRoutes) { - var routes = new RouteCollection + var routes = new RouteBuilder { - DefaultHandler = new MvcRouteHandler() + DefaultHandler = new MvcRouteHandler(), + ServiceProvider = app.ApplicationServices }; configureRoutes(routes); - return app.UseRouter(routes); + return app.UseRouter(routes.Build()); } } } \ No newline at end of file diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/UrlHelperTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/UrlHelperTest.cs index 5442382127..ce81cf3d5b 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/UrlHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/UrlHelperTest.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using Microsoft.AspNet.Http; using Microsoft.AspNet.Routing; @@ -394,7 +395,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test public void RouteUrlWithRouteNameAndDefaults() { // Arrange - var routeCollection = GetRouteCollection("MyRouteName", "any/url"); + var routeCollection = GetRouter("MyRouteName", "any/url"); var urlHelper = CreateUrlHelper("/app", routeCollection); // Act @@ -512,25 +513,28 @@ namespace Microsoft.AspNet.Mvc.Core.Test private static UrlHelper CreateUrlHelperWithRouteCollection(string appPrefix) { - var routeCollection = GetRouteCollection(); + var routeCollection = GetRouter(); return CreateUrlHelper("/app", routeCollection); } - private static RouteCollection GetRouteCollection() + private static IRouter GetRouter() { - return GetRouteCollection("mockRoute", "/mockTemplate"); + return GetRouter("mockRoute", "/mockTemplate"); } - private static RouteCollection GetRouteCollection(string mockRouteName, string mockTemplateValue) + private static IRouter GetRouter(string mockRouteName, string mockTemplateValue) { - var rt = new RouteCollection(); + var rt = new RouteBuilder(); var target = new Mock(MockBehavior.Strict); target .Setup(e => e.GetVirtualPath(It.IsAny())) .Callback(c => c.IsBound = true) .Returns(rc => null); rt.DefaultHandler = target.Object; - + var serviceProviderMock = new Mock(); + serviceProviderMock.Setup(o => o.GetService(typeof(IInlineConstraintResolver))) + .Returns(new DefaultInlineConstraintResolver()); + rt.ServiceProvider = serviceProviderMock.Object; rt.MapRoute(string.Empty, "{controller}/{action}/{id}", new RouteValueDictionary(new { id = "defaultid" })); @@ -544,8 +548,8 @@ namespace Microsoft.AspNet.Mvc.Core.Test mockRouteName) ))) .Returns(mockTemplateValue); - rt.Add(mockHttpRoute.Object); - return rt; + rt.Routes.Add(mockHttpRoute.Object); + return rt.Build(); } } } \ No newline at end of file