Esempio n. 1
0
        public void MatchRequestDoesNotSetDisplayModeIfNoMatch()
        {
            // Arrange
            var objectFactory = new HashyBuildManager(new string[] { "~/page.Mobile.aspx" });
            var mockContext   = new Mock <HttpContextBase>();

            mockContext.Setup(context => context.Items).Returns(new Hashtable());
            mockContext.Setup(c => c.Request.Browser.IsMobileDevice).Returns(true);
            mockContext.Setup(c => c.Request.Cookies).Returns(new HttpCookieCollection());
            mockContext.Setup(c => c.Response.Cookies).Returns(new HttpCookieCollection());

            var displayModeProvider = new DisplayModeProvider();
            var displayMode         = new Mock <IDisplayMode>(MockBehavior.Strict);

            displayMode.Setup(d => d.CanHandleContext(mockContext.Object)).Returns(false);
            displayModeProvider.Modes.Add(displayMode.Object);

            // Act
            WebPageMatch smartyMatch = WebPageRoute.MatchRequest(
                "notThere.aspx",
                new string[] { "aspx" },
                objectFactory.Exists,
                mockContext.Object,
                displayModeProvider
                );

            // Assert
            Assert.Null(DisplayModeProvider.GetDisplayMode(mockContext.Object));
        }
Esempio n. 2
0
        public void MatchRequestSetsDisplayModeOfFirstMatchPerContext()
        {
            // Arrange
            var objectFactory = new HashyBuildManager(
                new string[] { "~/page.Mobile.aspx", "~/nonMobile.aspx" }
                );
            var mockContext = new Mock <HttpContextBase>();

            mockContext.Setup(context => context.Items).Returns(new Hashtable());
            mockContext.Setup(c => c.Request.Browser.IsMobileDevice).Returns(true);
            mockContext.Setup(c => c.Request.Cookies).Returns(new HttpCookieCollection());
            mockContext.Setup(c => c.Response.Cookies).Returns(new HttpCookieCollection());

            var displayModeProvider = new DisplayModeProvider();

            // Act
            WebPageMatch mobileMatch = WebPageRoute.MatchRequest(
                "page.aspx",
                new string[] { "aspx" },
                objectFactory.Exists,
                mockContext.Object,
                displayModeProvider
                );

            // Assert
            Assert.NotNull(mobileMatch.MatchedPath);
            Assert.Equal(
                DisplayModeProvider.MobileDisplayModeId,
                DisplayModeProvider.GetDisplayMode(mockContext.Object).DisplayModeId
                );
        }