public void ShouldMapMediaTypeToFormat() { var map = new MediaTypeFormatMap(); map.Add("application/xml", "xml"); var router = new ContentNegotiationRouteProxy(null, map); var route = new RouteData(); router.AddFormat(route, new[] {"*/*"}); Assert.That(route.Values["format"], Is.EqualTo("xml")); }
public void ShouldPrioritizeFormatSelectionByAcceptTypeOrderingByDefault() { var map = new MediaTypeFormatMap(); map.Add("application/xml", "xml"); map.Add("text/html", "html"); var router = new ContentNegotiationRouteProxy(null, map); var route = new RouteData(); router.AddFormat(route, new[] {"text/html", "application/xml"}); Assert.That(route.Values["format"], Is.EqualTo("html")); }
public void ShouldNotSetFormatIfRoutingSystemAlreadyDetectedIt() { var map = new MediaTypeFormatMap(); map.Add("application/xml", "xml"); var router = new ContentNegotiationRouteProxy(null, map); var route = new RouteData(); route.Values["format"] = "html"; router.AddFormat(route, new[] {"*/*"}); Assert.That(route.Values["format"], Is.EqualTo("html")); }
public void ShouldIgnoreUnsupportedMediaTypes() { var map = new MediaTypeFormatMap(); map.Add("text/plain", "text"); map.Add("application/xml", "xml"); var router = new ContentNegotiationRouteProxy(null, map); var route = new RouteData(); router.AddFormat(route, new[] {"text/html", "application/xml"}); Assert.That(route.Values["format"], Is.EqualTo("xml")); }
public void ShouldPrioritizeFormatSelectionByMapEntriesIfAskedTo() { var map = new MediaTypeFormatMap(); map.Add("text/html", "html"); map.Add("application/xml", "xml"); var router = new ContentNegotiationRouteProxy(null, map, ConnegPriorityGivenTo.Server); var route = new RouteData(); router.AddFormat(route, new[] {"application/xml", "text/html"}); Assert.That(route.Values["format"], Is.EqualTo("html")); }
public void UnsupportedAcceptTypeMapsToDefaultFormat() { var map = new MediaTypeFormatMap(); map.Add("application/xml", "xml"); var router = new ContentNegotiationRouteProxy(null, map); var route = new RouteData(); router.AddFormat(route, new[] {"audio/*"}); Assert.That(route.Values["format"], Is.EqualTo("xml")); }
public void ShouldUseDefaultFormatIfNullAcceptTypesProvided() { var map = new MediaTypeFormatMap(); map.Add("application/xml", "xml"); var router = new ContentNegotiationRouteProxy(null, map); var route = new RouteData(); router.AddFormat(route, null); Assert.That(route.Values["format"], Is.EqualTo("xml")); }