private void FindViewAndRender <T>(string viewName, T viewModel, ViewLocationResult viewLocationResult = null) where T : class { if (viewLocationResult == null) { viewLocationResult = new ViewLocationResult("Stub", viewName, "spark", GetEmptyContentReader()); } var stream = new MemoryStream(); var engine = new global::Nancy.ViewEngines.Spark.SparkViewEngine(); var locator = new DefaultViewLocator(this.fileSystemViewLocationProvider, new[] { engine }); var context = new ViewEngineStartupContext( A.Fake <IViewCache>(), locator); engine.Initialize(context); //When var response = engine.RenderView(viewLocationResult, viewModel, this.renderContext); response.Contents.Invoke(stream); stream.Position = 0; using (var reader = new StreamReader(stream)) { this.output = reader.ReadToEnd(); } }
public void Should_support_files_with_the_spark_extensions() { // Given var engine = new global::Nancy.ViewEngines.Spark.SparkViewEngine(); //When var extensions = engine.Extensions; // Then extensions.ShouldHaveCount(2); extensions.ShouldEqualSequence(new[] { "spark", "shade" }); }