private static ViewContext CompileView(string viewContents) { var settings = new SparkSettings(); var container = SparkRubyEngineStarter.CreateContainer(settings); var viewFolder = new InMemoryViewFolder { { string.Format("stub{0}index.spark", Path.DirectorySeparatorChar), viewContents } }; container.SetServiceBuilder <IViewFolder>(c => viewFolder); var viewEngine = container.GetService <IViewEngine>(); var httpContext = new StubHttpContext(); var routeData = new RouteData(); routeData.Values.Add("controller", "stub"); routeData.Values.Add("action", "index"); var controller = new StubController(); var controllerContext = new ControllerContext(httpContext, routeData, controller); var result = viewEngine.FindPartialView(controllerContext, "index", false); return(new ViewContext(controllerContext, result.View, new ViewDataDictionary(), new TempDataDictionary(), new StringWriter())); }
public static void RegisterViewEngine(ICollection <IViewEngine> engines) { SparkRubyEngineStarter.RegisterViewEngine(engines); }