public void ItShouldBePossibleToCreateSimpleTemplateWithNoModel()
			{
				ServiceLocator.Locator.Register<IRoutingHandler>(new RoutingService());
				var sourceText = ResourceContentLoader.LoadText("simpleTemplate.cshtml");
				var generator = new RazorTemplateGenerator();
				generator.RegisterTemplate(sourceText, "simpleTemplate");
				generator.CompileTemplates();
				var result = GetResult(generator.GenerateOutputString(null, "simpleTemplate", null, new ModelStateDictionary(), new ExpandoObject()));

				var year = DateTime.UtcNow.Year;
				Assert.IsTrue(result.Contains("Hello World"));
				Assert.IsTrue(result.Contains(year.ToString()));
			}
Ejemplo n.º 2
0
		public RazorRenderer()
		{
			_renderer = new RazorTemplateGenerator();
		}
			public void ItShouldBePossibleToCreateTemplateWithRenderPage()
			{
				RunnerFactory.Initialize();
				var runner = RunnerFactory.Create();

				ServiceLocator.Locator.Register<IRoutingHandler>(new RoutingService());
				var httpModule = ServiceLocator.Locator.Resolve<HttpModule>();
				var resPathProvider = new ResourcesPathProvider(Assembly.GetExecutingAssembly());
				resPathProvider.RegisterPath("renderPage.cshtml", "renderPage.cshtml");
				resPathProvider.RegisterPath("renderPageSub.cshtml", "renderPageSub.cshtml");

				httpModule.RegisterPathProvider(resPathProvider);

				//var assemblyLocation = Assembly.GetExecutingAssembly().Location;
				//NodeMainInitializer.InitializeFakeMain(assemblyLocation, runner);

				runner.Start();
				var generator = new RazorTemplateGenerator();
				var sourceText = ResourceContentLoader.LoadText("renderPage.cshtml");
				generator.RegisterTemplate(sourceText, "renderPage");
				sourceText = ResourceContentLoader.LoadText("renderPageSub.cshtml");
				generator.RegisterTemplate(sourceText, "renderPageSub");

				generator.CompileTemplates();

				string result = string.Empty;
				Task.Run(() =>
				{
					var ctx = CreateRequest("http://127.0.0.1/renderPage.cshtml");
					result = GetResult(generator.GenerateOutputString(null, "renderPage", ctx, new ModelStateDictionary(), new ExpandoObject()));
				});
				Thread.Sleep(1000);

				runner.Stop();
				var year = DateTime.UtcNow.Year;
				Assert.IsTrue(result.Contains("Mainpage"));
				Assert.IsTrue(result.Contains("Subpage"));
			}