public void CopyConstructorSetsProperties() { // Arrange Mock <HttpContextBase> httpContext = new Mock <HttpContextBase>(); httpContext.Setup(c => c.Items).Returns(new Hashtable()); RequestContext requestContext = new RequestContext(httpContext.Object, new RouteData()); Controller controller = new Mock <Controller>().Object; var displayMode = new DefaultDisplayMode("test"); ControllerContext innerControllerContext = new ControllerContext(requestContext, controller); innerControllerContext.DisplayMode = displayMode; // Act ControllerContext outerControllerContext = new SubclassedControllerContext(innerControllerContext); // Assert Assert.Equal(requestContext, outerControllerContext.RequestContext); Assert.Equal(controller, outerControllerContext.Controller); // We don't actually set DisplayMode but verify it is identical to the inner controller context. Assert.Equal(displayMode, outerControllerContext.DisplayMode); }
public void DisplayModeDelegatesToHttpContext() { // Arrange IDisplayMode testDisplayMode = new DefaultDisplayMode("test"); Mock <HttpContextBase> httpContext = new Mock <HttpContextBase>(); httpContext.Setup(c => c.Items).Returns(new Hashtable()); Controller controller = new Mock <Controller>().Object; ControllerContext controllerContext = new ControllerContext( httpContext.Object, new RouteData(), controller ); ControllerContext controllerContextWithIdenticalContext = new ControllerContext( httpContext.Object, new RouteData(), controller ); // Act controllerContext.DisplayMode = testDisplayMode; // Assert Assert.Same(testDisplayMode, controllerContext.DisplayMode); Assert.Same(testDisplayMode, controllerContextWithIdenticalContext.DisplayMode); }
/// <summary> /// 注册设备模式. /// </summary> /// <param name="displayModes"></param> public static void RegisterDisplayModes(IList <IDisplayMode> displayModes) { // 默认的 桌面 模式, 没有额外的附加. var modeDesktop = new DefaultDisplayMode("") { ContextCondition = (c => c.Request.IsDesktop()) }; // 手机模式, 额外附加 .mobile. var modeSmartphone = new DefaultDisplayMode("mobile") { ContextCondition = (c => c.Request.IsSmartphone()) }; // 平板电脑模式, 额外附加 .tablet. var modeTablet = new DefaultDisplayMode("tablet") { ContextCondition = (c => c.Request.IsTablet()) }; displayModes.Clear(); // 检查顺序,先判断是不是平板, 然后再判断是不是手机, 最后判断是不是桌面 displayModes.Add(modeTablet); displayModes.Add(modeSmartphone); displayModes.Add(modeDesktop); }
public void DefaultDisplayModeSetSuffixAsId() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act & Assert Assert.Equal("foo", displayMode.DisplayModeId); }
public void Initialize(InitializationEngine context) { var mobileChannelDisplayMode = new DefaultDisplayMode("mobile") { ContextCondition = IsMobileDisplayModeActive }; DisplayModeProvider.Instance.Modes.Insert(0, mobileChannelDisplayMode); }
public void Initialize(InitializationEngine context) { var staticWebChannelDisplayMode = new DefaultDisplayMode(StaticWebChannel.Name) { ContextCondition = IsStaticWebDisplayModeActive }; DisplayModeProvider.Instance.Modes.Insert(0, staticWebChannelDisplayMode); }
public void DisplayModePropertyWithNullContext() { // Arrange var context = new Mock<HttpContextBase>(); var displayMode = new DefaultDisplayMode("test"); var webPageRenderingBase = new Mock<WebPageRenderingBase>() { CallBase = true }; // Act & Assert Assert.Null(webPageRenderingBase.Object.DisplayMode); }
public void GetDisplayInfoSuffixesPathWithNoExtension() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock <HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz", virtualPath => true); // Assert Assert.Equal("/bar/baz.foo", info.FilePath); }
public void GetDisplayInfoSuffixesPathWithEmptyVirtualPath() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock <HttpContextBase>(MockBehavior.Strict).Object, String.Empty, virtualPath => true); // Assert Assert.Equal(String.Empty, info.FilePath); }
public void GetDisplayInfoReturnsNullIfPathDoesNotExist() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock <HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz", virtualPath => false); // Assert Assert.Null(info); }
public void GetDisplayInfoInsertsSuffixBeforeLastSectionOfExtension() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock<HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz.txt.aspx", virtualPath => true); // Assert Assert.Equal("/bar/baz.txt.foo.aspx", info.FilePath); }
public void GetDisplayInfoInsertsSuffixBeforeLastSectionOfExtension() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock <HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz.txt.aspx", virtualPath => true); // Assert Assert.Equal("/bar/baz.txt.foo.aspx", info.FilePath); }
public void GetDisplayInfoWithNullVirtualPath() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock <HttpContextBase>(MockBehavior.Strict).Object, virtualPath: null, virtualPathExists: virtualPath => true); // Assert Assert.Null(info); }
public static void RegisterDisplayModes(IList <IDisplayMode> dms) { //HttpContext.Current.Request.UserAgent; DefaultDisplayMode ddm = new DefaultDisplayMode("Smartphone"); dms.Add(ddm); //HttpContext.Current.Request.UserAgent; DefaultDisplayMode ddm2 = new DefaultDisplayMode("Tablet"); dms.Add(ddm2); }
public void DefaultDisplayModeWithNullSuffix() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode(null); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock <HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz.aspx", virtualPath => true); // Assert Assert.Equal(String.Empty, displayMode.DisplayModeId); Assert.Equal("/bar/baz.aspx", info.FilePath); }
public void GetDisplayInfoInsertsSuffixIntoVirtualPathThatExists() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock<HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz.aspx", virtualPath => true); // Assert Assert.IsType<DefaultDisplayMode>(info.DisplayMode); Assert.Equal("/bar/baz.foo.aspx", info.FilePath); }
public void GetDisplayInfoInsertsSuffixIntoVirtualPathThatExists() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock <HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz.aspx", virtualPath => true); // Assert Assert.IsType <DefaultDisplayMode>(info.DisplayMode); Assert.Equal("/bar/baz.foo.aspx", info.FilePath); }
public void DefaultDisplayModeWithEmptySuffix() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode(); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock<HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz.aspx", virtualPath => true); // Assert Assert.Equal(String.Empty, displayMode.DisplayModeId); Assert.Equal("/bar/baz.aspx", info.FilePath); }
public void DisplayModePropertyWithNullContext() { // Arrange var context = new Mock <HttpContextBase>(); var displayMode = new DefaultDisplayMode("test"); var webPageRenderingBase = new Mock <WebPageRenderingBase>() { CallBase = true }; // Act & Assert Assert.Null(webPageRenderingBase.Object.DisplayMode); }
//The next method is used to inicialize the recognition of iphone for this Application. protected void InitializeDisplayModeProviders() { var phone = new DefaultDisplayMode("Phone") { //ContextCondition = ctx => ctx.GetOverriddenUserAgent() != null && // (ctx.GetOverriddenUserAgent().Contains("iPhone") || // ctx.GetOverriddenUserAgent().Contains("GT-I")) //user agens for iphone and samsung galaxies ContextCondition = ctx => ctx.Request.Browser.IsMobileDevice && !(ctx.GetOverriddenUserAgent().Contains("iPad")) }; DisplayModeProvider.Instance.Modes.Insert(0, phone); }
protected void InitializeDisplayModeProviders() { var phone = new DefaultDisplayMode("Phone") { ContextCondition = ctx => ctx.GetOverriddenUserAgent() != null && ctx.GetOverriddenUserAgent().Contains("SM") }; var tablet = new DefaultDisplayMode("Tablet") { ContextCondition = ctx => ctx.GetOverriddenUserAgent() != null && ctx.GetOverriddenUserAgent().Contains("iPad") }; DisplayModeProvider.Instance.Modes.Insert(0, phone); DisplayModeProvider.Instance.Modes.Insert(1, tablet); }
protected void Application_Start() { log4net.Config.XmlConfigurator.Configure(); System.Func <HttpContextBase, bool> contextCheckDelegate = contextCheck; DefaultDisplayMode mobileMode = new DefaultDisplayMode("Mobile"); mobileMode.ContextCondition = contextCheckDelegate; DisplayModeProvider.Instance.Modes.Add(mobileMode); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //BundleMobileConfig.RegisterBundles(BundleTable.Bundles); }
protected void Application_Start() { Func <HttpContextBase, bool> contextCheckDelegate = ContextCheck; var mobileMode = new DefaultDisplayMode("Mobile") { ContextCondition = contextCheckDelegate }; DisplayModeProvider.Instance.Modes.Add(mobileMode); AreaRegistration.RegisterAllAreas(); //WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); GlobalConfig.RegisterGlobalConfig(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteTable.Routes.MapRoute( "arabam_default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }); DisplayModeProvider.Instance.Modes.Clear(); var mobile = new DefaultDisplayMode("Mobile") { ContextCondition = context => context.Request.Browser.IsMobileDevice }; DisplayModeProvider.Instance.Modes.Add(mobile); DisplayModeProvider.Instance.Modes.Add(new DefaultDisplayMode("")); }
public static void RegisterDisplayModes() { var nexus7DisplayMode = new DefaultDisplayMode("nexus7") { ContextCondition = (context => context .GetOverriddenUserAgent() .IndexOf( "Nexus 7", StringComparison .OrdinalIgnoreCase ) >= 0) }; DisplayModeProvider .Instance .Modes .Insert(0, nexus7DisplayMode); }
public static void RegisterModes(IList <IDisplayMode> displayModes) { var modeDesktop = new DefaultDisplayMode("") { ContextCondition = (c => c.Request.IsDesktop()) }; var modeTablet = new DefaultDisplayMode("tablet") { ContextCondition = (c => c.Request.IsTablet()) }; var modeLegacy = new DefaultDisplayMode("legacy") { ContextCondition = (c => c.Request.IsLegacy()) }; displayModes.Clear(); displayModes.Add(modeTablet); displayModes.Add(modeLegacy); displayModes.Add(modeDesktop); }
public void GetDisplayInfoWithNullVirtualPath() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock<HttpContextBase>(MockBehavior.Strict).Object, virtualPath: null, virtualPathExists: virtualPath => true); // Assert Assert.Null(info); }
public void GetDisplayInfoReturnsNullIfPathDoesNotExist() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock<HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz", virtualPath => false); // Assert Assert.Null(info); }
public void GetDisplayInfoSuffixesPathWithNoExtension() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock<HttpContextBase>(MockBehavior.Strict).Object, "/bar/baz", virtualPath => true); // Assert Assert.Equal("/bar/baz.foo", info.FilePath); }
public void GetDisplayInfoSuffixesPathWithEmptyVirtualPath() { // Arrange DefaultDisplayMode displayMode = new DefaultDisplayMode("foo"); // Act DisplayInfo info = displayMode.GetDisplayInfo(new Mock<HttpContextBase>(MockBehavior.Strict).Object, String.Empty, virtualPath => true); // Assert Assert.Equal(String.Empty, info.FilePath); }