public void GivenHtmlTemplateBundleWithNoAssets_WhenRender_ThenReturnEmptyString() { var bundle = new HtmlTemplateBundle("~"); var html = render.Render(bundle); html.ShouldEqual(""); }
public string HtmlTemplateId(HtmlTemplateBundle bundle, IAsset htmlTemplateAsset) { currentBundle = bundle; var operations = BuildOperations(); return(ApplyOperations(htmlTemplateAsset, operations)); }
public void GivenHtmAsset_WhenProcess_ThenItAddsReferencesToHtmlTemplateAssetInBundle() { var asset = new Mock <IAsset>(); asset.SetupGet(a => a.Path).Returns("~/asset.htm"); var javaScriptSource = @" <!-- @reference ""another1.js"" @reference 'another2.js' @reference another3.js another4.js -->"; asset.Setup(a => a.OpenStream()) .Returns(javaScriptSource.AsStream()); var bundle = new HtmlTemplateBundle("~"); bundle.Assets.Add(asset.Object); var processor = new ParseHtmlTemplateReferences(); processor.Process(bundle); asset.Verify(a => a.AddReference("another1.js", 2)); asset.Verify(a => a.AddReference("another2.js", 3)); asset.Verify(a => a.AddReference("another3.js", 4)); asset.Verify(a => a.AddReference("another4.js", 4)); }
public HtmlTemplateToJavaScriptTransformer(string javaScriptTemplate, HtmlTemplateBundle bundle, IJsonSerializer serializer, IHtmlTemplateIdStrategy idStrategy) { this.javaScriptTemplate = javaScriptTemplate; this.bundle = bundle; this.serializer = serializer; this.idStrategy = idStrategy; }
public void GetTemplateIdReturnsAssetFilenameWithoutExtension_WhenTemplateBundlePerFile() { var bundle = new HtmlTemplateBundle("~/test.htm"); var id = bundle.GetTemplateId(new StubAsset("~/test.htm")); id.ShouldEqual("test"); }
public HtmlTemplatePipeline_Tests() { bundle = new HtmlTemplateBundle("~"); var container = new TinyIoCContainer(); container.Register<IHtmlTemplateIdStrategy>(new HtmlTemplateIdBuilder()); pipeline = new HtmlTemplatePipeline(container); }
public void GivenAssetNotSubPathOfBundlePath_ThenGetTemplateIdReturnsJustFilename() { var bundle = new HtmlTemplateBundle("~/bundle"); var id = bundle.GetTemplateId(new StubAsset("~/test.htm")); id.ShouldEqual("test"); }
public void GetTemplateIdIncludesDirectoryAndFilenameSeparatedWithHyphen() { var bundle = new HtmlTemplateBundle("~"); var id = bundle.GetTemplateId(new StubAsset("~/dir/test.htm")); id.ShouldEqual("dir-test"); }
public HtmlTemplateToJavaScriptTransformer(string javaScriptTemplate, HtmlTemplateBundle bundle, IJsonSerializer serializer, IHtmlTemplateIdStrategy idStrategy) { this.javaScriptTemplate = javaScriptTemplate; this.bundle = bundle; this.serializer = serializer; this.idStrategy = idStrategy; }
public WrapHtmlTemplateInScriptElement_Tests() { bundle = new HtmlTemplateBundle("~/test"); asset = new Mock <IAsset>(); asset.Setup(a => a.Path).Returns("~/test/asset.htm"); bundle.Assets.Add(asset.Object); }
public HtmlTemplatePipeline_Tests() { bundle = new HtmlTemplateBundle("~"); var container = new TinyIoCContainer(); container.Register <IHtmlTemplateIdStrategy>(new HtmlTemplateIdBuilder()); pipeline = new HtmlTemplatePipeline(container); }
public void WhenProcessBundle_ThenBundleContentTypeIsTextJavascript() { var bundle = new HtmlTemplateBundle("~/"); pipeline.Process(bundle); bundle.ContentType.ShouldEqual("text/javascript"); }
public void WhenProcessBundle_ThenBundleContentTypeIsTextJavascript() { var bundle = new HtmlTemplateBundle("~/"); pipeline.Process(bundle); bundle.ContentType.ShouldEqual("text/javascript"); }
static ScriptEngine LoadHtmlTemplateScriptsIntoEngine(HtmlTemplateBundle bundle) { var output = bundle.OpenStream().ReadToEnd(); var scriptEngine = new ScriptEngine(); scriptEngine.ExecuteFile("hogan.js"); scriptEngine.Execute(output); return scriptEngine; }
public void WhenProcessBundle_ThenHashIsAssigned() { var bundle = new HtmlTemplateBundle("~"); pipeline.Process(bundle); bundle.Hash.ShouldNotBeNull(); }
public void GivenHtmlTemplateBundleWithOneAsset_WhenRender_ThenReturnsAssetsOpenStreamResult() { var bundle = new HtmlTemplateBundle("~"); bundle.Assets.Add(new StubAsset(content: "content")); var html = render.Render(bundle); html.ShouldEqual("content"); }
public void WhenProcessBundle_ThenHashIsAssigned() { var bundle = new HtmlTemplateBundle("~"); pipeline.Process(bundle); bundle.Hash.ShouldNotBeNull(); }
public WrapHtmlTemplateInScriptElement_Tests() { bundle = new HtmlTemplateBundle("~/test"); asset = new Mock<IAsset>(); asset.Setup(a => a.Path).Returns("~/test/asset.htm"); bundle.Assets.Add(asset.Object); }
public void WhenProcess_ThenItAssignsInlineHtmlTemplateBundleRenderer() { var bundle = new HtmlTemplateBundle("~"); var pipeline = new HtmlTemplatePipeline(); pipeline.Process(bundle, new CassetteSettings("")); bundle.Renderer.ShouldBeType <InlineHtmlTemplateBundleRenderer>(); }
public void WhenProcessBundle_ThenHashIsAssigned() { var pipeline = new JQueryTmplPipeline(); var bundle = new HtmlTemplateBundle("~"); pipeline.Process(bundle, new CassetteSettings("")); bundle.Hash.ShouldNotBeNull(); }
public void WhenProcessBundle_ThenBundleContentTypeIsTextJavascript() { var pipeline = new JQueryTmplPipeline(); var bundle = new HtmlTemplateBundle("~/"); pipeline.Process(bundle, new CassetteSettings("")); bundle.ContentType.ShouldEqual("text/javascript"); }
static ScriptEngine LoadHtmlTemplateScriptsIntoEngine(HtmlTemplateBundle bundle) { var output = bundle.OpenStream().ReadToEnd(); var scriptEngine = new ScriptEngine(); scriptEngine.ExecuteFile("hogan.js"); scriptEngine.Execute(output); return(scriptEngine); }
public void GivenHtmlTemplateBundleWithTwoAssets_WhenRender_ThenReturnsEachAssetsOpenStreamResultSeparatedByNewLine() { var bundle = new HtmlTemplateBundle("~"); bundle.Assets.Add(new StubAsset(content: "content1")); bundle.Assets.Add(new StubAsset(content: "content2")); var html = render.Render(bundle); html.ShouldEqual("content1" + Environment.NewLine + "content2"); }
public void WhenProcessBundle_ThenHashIsAssigned() { var pipeline = new HtmlTemplatePipeline(); var bundle = new HtmlTemplateBundle("~"); pipeline.Process(bundle, new CassetteSettings("")); bundle.Hash.ShouldNotBeNull(); }
public void WhenProcess_ThenItAssignsInlineHtmlTemplateBundleRenderer() { var bundle = new HtmlTemplateBundle("~"); var pipeline = new HtmlTemplatePipeline(); pipeline.Process(bundle, new CassetteSettings()); bundle.Renderer.ShouldBeType<InlineHtmlTemplateBundleRenderer>(); }
public ScriptAndTemplateBundle(string name, ScriptBundle bundle, HtmlTemplateBundle templateBundle, Func<IBundleProcessor<HtmlTemplateBundle>> templateProcessor) : base(name) { ScriptBundle = bundle; HtmlTemplateBundle = templateBundle; ContentType = "text/javascript"; TemplateProcessor = templateProcessor(); ScriptProcessor = new ScriptPipeline(); }
public void GivenBundleIsFromCache_WhenProcessBundle_ThenRendererStillAssigned() { var pipeline = new HtmlTemplatePipeline(); var bundle = new HtmlTemplateBundle("~") { IsFromCache = true }; pipeline.Process(bundle, new CassetteSettings("")); bundle.Renderer.ShouldNotBeNull(); }
public void WhenProcessBundle_ThenBundleContentTypeIsTextJavascript() { var pipeline = new JQueryTmplPipeline(); var bundle = new HtmlTemplateBundle("~/"); pipeline.Process(bundle, new CassetteSettings("")); bundle.ContentType.ShouldEqual("text/javascript"); }
public void ProcessAssignsBundleRenderer() { var renderer = Mock.Of <IBundleHtmlRenderer <HtmlTemplateBundle> >(); var processor = new AssignHtmlTemplateRenderer(renderer); var bundle = new HtmlTemplateBundle("~"); processor.Process(bundle); bundle.Renderer.ShouldBeSameAs(renderer); }
public void ProcessAssignsBundleRenderer() { var renderer = Mock.Of<IBundleHtmlRenderer<HtmlTemplateBundle>>(); var processor = new AssignHtmlTemplateRenderer(renderer); var bundle = new HtmlTemplateBundle("~"); processor.Process(bundle); bundle.Renderer.ShouldBeSameAs(renderer); }
public void GivenHtmlTemplateBundleWithOneAsset_WhenRender_ThenReturnsAssetsOpenStreamResult() { var bundle = new HtmlTemplateBundle("~"); bundle.Assets.Add(new StubAsset(content: "content")); var html = render.Render(bundle); html.ShouldEqual("content"); }
public void RenderCallsRenderer() { var bundle = new HtmlTemplateBundle("~"); var renderer = new Mock<IBundleHtmlRenderer<HtmlTemplateBundle>>(); bundle.Renderer = renderer.Object; bundle.Render(); renderer.Verify(p => p.Render(bundle)); }
public void RenderReturnsScriptElementWithUrlGeneratedForBundle() { var bundle = new HtmlTemplateBundle("~"); var urlGenerator = new Mock<IUrlGenerator>(); urlGenerator.Setup(g => g.CreateBundleUrl(bundle)).Returns("/"); var renderer = new RemoteHtmlTemplateBundleRenderer(urlGenerator.Object); var html = renderer.Render(bundle); html.ShouldEqual("<script src=\"/\" type=\"text/javascript\"></script>"); }
public void ProcessCallsProcessor() { var bundle = new HtmlTemplateBundle("~"); var processor = new Mock<IBundleProcessor<HtmlTemplateBundle>>(); var settings = new CassetteSettings(""); bundle.Processor = processor.Object; bundle.Process(settings); processor.Verify(p => p.Process(bundle, settings)); }
public void ProcessCallsProcessor() { var bundle = new HtmlTemplateBundle("~"); var pipeline = new Mock<IBundlePipeline<HtmlTemplateBundle>>(); var settings = new CassetteSettings(); bundle.Pipeline = pipeline.Object; bundle.Process(settings); pipeline.Verify(p => p.Process(bundle)); }
public void RenderCallsRenderer() { var bundle = new HtmlTemplateBundle("~"); var renderer = new Mock <IBundleHtmlRenderer <HtmlTemplateBundle> >(); bundle.Renderer = renderer.Object; bundle.Render(); renderer.Verify(p => p.Render(bundle)); }
public void GivenHtmlTemplateBundleWithTwoAssets_WhenRender_ThenReturnsEachAssetsOpenStreamResultSeparatedByNewLine() { var bundle = new HtmlTemplateBundle("~"); bundle.Assets.Add(new StubAsset(content: "content1")); bundle.Assets.Add(new StubAsset(content: "content2")); var html = render.Render(bundle); html.ShouldEqual("content1" + Environment.NewLine + "content2"); }
public void TransformReturnsJavaScriptThatAddsNamedTemplate() { var bundle = new HtmlTemplateBundle("~"); var asset = new Mock<IAsset>(); asset.Setup(a => a.Path).Returns("~/asset.htm"); var transformer = new RegisterTemplateWithJQueryTmpl(bundle, new HtmlTemplateIdBuilder()); var getResult = transformer.Transform(() => "TEMPLATE".AsStream(), asset.Object); getResult().ReadToEnd().ShouldEqual("jQuery.template('asset', TEMPLATE);" + Environment.NewLine); }
public void TransformReturnsJavaScriptThatAddsNamedTemplate() { var bundle = new HtmlTemplateBundle("~"); var asset = new Mock <IAsset>(); asset.Setup(a => a.SourceFile.FullPath).Returns("~/asset.htm"); var transformer = new RegisterTemplateWithJQueryTmpl(bundle); var getResult = transformer.Transform(() => "TEMPLATE".AsStream(), asset.Object); getResult().ReadToEnd().ShouldEqual("$.template('asset', TEMPLATE);" + Environment.NewLine); }
public void AsJavaScriptReplacesPipelineWithJavaScriptHtmlTemplatePipeline() { var currentPipeline = new Mock <IBundlePipeline <HtmlTemplateBundle> >(); var bundle = new HtmlTemplateBundle("~") { Pipeline = currentPipeline.Object }; bundle.AsJavaScript(); currentPipeline.Verify(p => p.ReplaceWith <JavaScriptHtmlTemplatePipeline>()); }
public void RenderReturnsScriptElementWithUrlGeneratedForBundle() { var bundle = new HtmlTemplateBundle("~"); var urlGenerator = new Mock <IUrlGenerator>(); urlGenerator.Setup(g => g.CreateBundleUrl(bundle)).Returns("/"); var renderer = new RemoteHtmlTemplateBundleRenderer(urlGenerator.Object); var html = renderer.Render(bundle); html.ShouldEqual("<script src=\"/\" type=\"text/javascript\"></script>"); }
public void ProcessCallsProcessor() { var bundle = new HtmlTemplateBundle("~"); var pipeline = new Mock <IBundlePipeline <HtmlTemplateBundle> >(); var settings = new CassetteSettings(); bundle.Pipeline = pipeline.Object; bundle.Process(settings); pipeline.Verify(p => p.Process(bundle)); }
public void ProcessCallsProcessor() { var bundle = new HtmlTemplateBundle("~"); var processor = new Mock <IBundleProcessor <HtmlTemplateBundle> >(); var settings = new CassetteSettings(""); bundle.Processor = processor.Object; bundle.Process(settings); processor.Verify(p => p.Process(bundle, settings)); }
public void AsJavaScriptReplacesPipelineWithJavaScriptHtmlTemplatePipeline() { var currentPipeline = new Mock<IBundlePipeline<HtmlTemplateBundle>>(); var bundle = new HtmlTemplateBundle("~") { Pipeline = currentPipeline.Object }; bundle.AsJavaScript(); currentPipeline.Verify(p => p.ReplaceWith<JavaScriptHtmlTemplatePipeline>()); }
public void GivenAssetInSubDirectory_WhenTransform_ThenScriptIdHasSlashesReplacedWithDashes() { var bundle = new HtmlTemplateBundle("~/test"); var asset = new Mock<IAsset>(); asset.Setup(a => a.SourceFile.FullPath).Returns("~/test/sub/asset.htm"); bundle.Assets.Add(asset.Object); var transformer = new WrapHtmlTemplateInScriptElement(bundle); var getResult = transformer.Transform(() => Stream.Null, asset.Object); var html = getResult().ReadToEnd(); html.ShouldContain("id=\"sub-asset\""); }
public void GivenAssetInSubDirectory_WhenTransform_ThenScriptIdHasSlashesReplacedWithDashes() { var bundle = new HtmlTemplateBundle("~/test"); var asset = new Mock <IAsset>(); asset.Setup(a => a.SourceFile.FullPath).Returns("~/test/sub/asset.htm"); bundle.Assets.Add(asset.Object); var transformer = new WrapHtmlTemplateInScriptElement(bundle); var getResult = transformer.Transform(() => Stream.Null, asset.Object); var html = getResult().ReadToEnd(); html.ShouldContain("id=\"sub-asset\""); }
public void WhenProcessHtmlTemplateBundleWithHoganAssets_ThenGeneratedScriptTemplatesWillRenderOutput() { var bundle = new HtmlTemplateBundle("~"); bundle.Assets.Add(new StubAsset("~/a.htm", "first {{first}}")); bundle.Assets.Add(new StubAsset("~/b.htm", "second {{second}}")); pipeline.Process(bundle); var scriptEngine = LoadHtmlTemplateScriptsIntoEngine(bundle); var renderOutputA = scriptEngine.Evaluate<string>("JST.a.render({ first: 'test' });"); renderOutputA.ShouldEqual("first test"); var renderOutputB = scriptEngine.Evaluate<string>("JST.b.render({ second: 'test' });"); renderOutputB.ShouldEqual("second test"); }
public void WhenProcessHtmlTemplateBundleWithHoganAssets_ThenGeneratedScriptTemplatesWillRenderOutput() { var bundle = new HtmlTemplateBundle("~"); bundle.Assets.Add(new StubAsset("~/a.htm", "first {{first}}")); bundle.Assets.Add(new StubAsset("~/b.htm", "second {{second}}")); pipeline.Process(bundle); var scriptEngine = LoadHtmlTemplateScriptsIntoEngine(bundle); var renderOutputA = scriptEngine.Evaluate <string>("JST.a.render({ first: 'test' });"); renderOutputA.ShouldEqual("first test"); var renderOutputB = scriptEngine.Evaluate <string>("JST.b.render({ second: 'test' });"); renderOutputB.ShouldEqual("second test"); }
public void GivenHtmlAsset_WhenProcess_ThenItAddsReferencesToHtmlTemplateAssetInBundle() { var asset = new Mock<IAsset>(); asset.SetupGet(a => a.SourceFile.FullPath).Returns("~/asset.html"); var javaScriptSource = @" <!-- @reference ""another1.js"" @reference 'another2.js' @reference another3.js another4.js -->"; asset.Setup(a => a.OpenStream()) .Returns(javaScriptSource.AsStream()); var bundle = new HtmlTemplateBundle("~"); bundle.Assets.Add(asset.Object); var processor = new ParseHtmlTemplateReferences(); processor.Process(bundle, new CassetteSettings("")); asset.Verify(a => a.AddReference("another1.js", 2)); asset.Verify(a => a.AddReference("another2.js", 3)); asset.Verify(a => a.AddReference("another3.js", 4)); asset.Verify(a => a.AddReference("another4.js", 4)); }
public WrapHtmlTemplateInScriptElement(HtmlTemplateBundle bundle) { this.bundle = bundle; }
public WrapHtmlTemplateInScriptElement(HtmlTemplateBundle bundle, IHtmlTemplateIdStrategy idStrategy) { this.bundle = bundle; this.idStrategy = idStrategy; }
public HtmlTemplateIdBuilderTests() { bundle = new HtmlTemplateBundle("~/bundle"); asset = new Mock <IAsset>(); }
public RegisterTemplateWithHogan(HtmlTemplateBundle bundle, string javaScriptVariableName) { this.bundle = bundle; this.javaScriptVariableName = javaScriptVariableName; }
public RegisterTemplateWithHogan(HtmlTemplateBundle bundle, string javaScriptVariableName) { this.bundle = bundle; this.javaScriptVariableName = javaScriptVariableName ?? "JST"; }
public HtmlTemplateToJavaScriptTransformerTests() { asset = new Mock<IAsset>(); htmlTemplateIdStrategy = new HtmlTemplateIdBuilder(); bundle = new HtmlTemplateBundle("~"); }
public string HtmlTemplateId(HtmlTemplateBundle bundle, IAsset htmlTemplateAsset) { currentBundle = bundle; var operations = BuildOperations(); return ApplyOperations(htmlTemplateAsset, operations); }
public void GivenHtmlTemplateBundleWithNoAssets_WhenRender_ThenReturnEmptyString() { var bundle = new HtmlTemplateBundle("~"); var html = render.Render(bundle); html.ShouldEqual(""); }
public RegisterTemplateWithHogan(HtmlTemplateBundle bundle, string javaScriptVariableName, IHtmlTemplateIdStrategy idStrategy) { this.bundle = bundle; this.javaScriptVariableName = javaScriptVariableName; this.idStrategy = idStrategy; }
object HtmlTemplateData(HtmlTemplateBundle htmlTemplate, IUrlGenerator urlGenerator) { return new { htmlTemplate.Path, Url = urlGenerator.CreateBundleUrl(htmlTemplate), Assets = AssetPaths(htmlTemplate, urlGenerator), htmlTemplate.References, Size = BundleSize(htmlTemplate) }; }
public RegisterTemplateWithJQueryTmpl(HtmlTemplateBundle bundle) { this.bundle = bundle; }