public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache) { string controllerName = controllerContext.RouteData.GetRequiredString("controller"); object area; string viewArea = null; if (controllerContext.RouteData.DataTokens.TryGetValue("area", out area)) { viewArea = area as string; } var loc = ViewLocationFormats .Select(x => String.Format(x, viewName, controllerName, viewArea)) .FirstOrDefault(s => File.Exists(MockVirtualPathFactory.NormalizePath(s))); var masterLoc = MasterLocationFormats .Select(x => String.Format(x, viewName, masterName, viewArea)) .FirstOrDefault(s => File.Exists(MockVirtualPathFactory.NormalizePath(s))); if (loc == null) { return(new ViewEngineResult(ViewLocationFormats)); } else { var view = new MockView(MockVirtualPathFactory.NormalizePath(loc), loc, true, FileExtensions); return(new ViewEngineResult(view, this)); } }
public void Render(ViewContext viewContext, TextWriter writer) { var template = (WebViewPage)MockVirtualPathFactory.InternalCreateInstance(_path); template.VirtualPath = _virtualPath; template.ViewContext = viewContext; template.ViewData = viewContext.ViewData; WebPageRenderingBase currentPage = template; var pageDirectory = Path.GetDirectoryName(_path); if (_runViewStartPage) { while (!String.IsNullOrEmpty(pageDirectory) && pageDirectory != "/" && MockVirtualPathFactory.ViewPathContains(pageDirectory)) { foreach (var extension in _viewStartFileExtensions) { var path = Path.Combine(pageDirectory, "_ViewStart" + "." + extension); if (MockVirtualPathFactory.InternalExists(path)) { var parentStartPage = (StartPage)MockVirtualPathFactory.InternalCreateInstance(path); parentStartPage.VirtualPath = path; parentStartPage.ChildPage = currentPage; currentPage = parentStartPage; break; } } pageDirectory = Path.GetDirectoryName(pageDirectory); } } template.InitHelpers(); template.ExecutePageHierarchy(new WebPageContext(viewContext.HttpContext, page: null, model: null), writer, currentPage); // , currentPage); }
public override VirtualFile GetFile(string virtualPath) { var virtualMock = MockExtensions.Repository.Create <VirtualFile>(virtualPath); virtualMock.Setup(x => x.Open()).Returns(new FileStream(MockVirtualPathFactory.NormalizePath(virtualPath), FileMode.Open, FileAccess.Read, FileShare.Read)); return(virtualMock.Object); }
public override ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache) { string controllerName = controllerContext.RouteData.GetRequiredString("controller"); object area; string viewArea = null; if (controllerContext.RouteData.DataTokens.TryGetValue("area", out area)) { viewArea = area as string; } var loc = PartialViewLocationFormats .Select(x => String.Format(x, partialViewName, controllerName, viewArea)) .FirstOrDefault(s => File.Exists(s.Replace("~/", MockVirtualPathFactory.BaseDirectory + "\\EPICCentral\\"))); if (loc == null) { return(new ViewEngineResult(ViewLocationFormats)); } else { var view = new MockView(MockVirtualPathFactory.NormalizePath(loc), loc, false, FileExtensions); return(new ViewEngineResult(view, this)); } }
public override bool DirectoryExists(string virtualDir) { return(Directory.Exists(MockVirtualPathFactory.NormalizePath(virtualDir))); }
public override bool FileExists(string virtualPath) { return(File.Exists(MockVirtualPathFactory.NormalizePath(virtualPath))); }