public void GivenStylesheetCondition_WhenRender_ThenConditionalCommentWrapsLinks() { var bundle = new StylesheetBundle("~/test") { Condition = "CONDITION" }; bundle.Assets.Add(new StubAsset()); bundle.Assets.Add(new StubAsset()); var urlGenerator = new Mock<IUrlGenerator>(); var assetUrls = new Queue<string>(new[] { "asset1", "asset2" }); urlGenerator.Setup(g => g.CreateAssetUrl(It.IsAny<IAsset>(), It.IsAny<bool>())) .Returns(assetUrls.Dequeue); var renderer = new DebugStylesheetHtmlRenderer(urlGenerator.Object); var html = renderer.Render(bundle); html.ShouldEqual( "<!--[if CONDITION]>" + Environment.NewLine + "<link href=\"asset1\" type=\"text/css\" rel=\"stylesheet\"/>" + Environment.NewLine + "<link href=\"asset2\" type=\"text/css\" rel=\"stylesheet\"/>" + Environment.NewLine + "<![endif]-->" ); }
public void GivenModuleWithAssetsThatIsTransformed_WhenRender_ThenLinkHtmlHasTransformUrlReturned() { var module = new StylesheetModule("~/test"); var asset = new Mock<IAsset>(); asset.Setup(a => a.HasTransformers) .Returns(true); module.Assets.Add(asset.Object); var urlGenerator = new Mock<IUrlGenerator>(); urlGenerator.Setup(g => g.CreateAssetCompileUrl(module, It.IsAny<IAsset>())) .Returns("URL"); var renderer = new DebugStylesheetHtmlRenderer(urlGenerator.Object); var html = renderer.Render(module).ToHtmlString(); html.ShouldEqual( "<link href=\"URL\" type=\"text/css\" rel=\"stylesheet\"/>" ); }
public void GivenBundleWithAssets_WhenRender_ThenLinkForEachAssetIsReturned() { var bundle = new StylesheetBundle("~/test"); bundle.Assets.Add(new StubAsset()); bundle.Assets.Add(new StubAsset()); var urlGenerator = new Mock<IUrlGenerator>(); var assetUrls = new Queue<string>(new[] { "asset1", "asset2" }); urlGenerator.Setup(g => g.CreateAssetUrl(It.IsAny<IAsset>(), It.IsAny<bool>())) .Returns(assetUrls.Dequeue); var renderer = new DebugStylesheetHtmlRenderer(urlGenerator.Object); var html = renderer.Render(bundle); html.ShouldEqual( "<link href=\"asset1\" type=\"text/css\" rel=\"stylesheet\"/>" + Environment.NewLine + "<link href=\"asset2\" type=\"text/css\" rel=\"stylesheet\"/>" ); }
public void GivenStylesheetNotIECondition_WhenRender_ThenConditionalCommentWrapsLinksButLeavesStylesheetVisibleToAllBrowsers() { var bundle = new StylesheetBundle("~/test") { Condition = "(gt IE 9)|!(IE)" }; bundle.Assets.Add(Mock.Of<IAsset>()); bundle.Assets.Add(Mock.Of<IAsset>()); var urlGenerator = new Mock<IUrlGenerator>(); var assetUrls = new Queue<string>(new[] { "asset1", "asset2" }); urlGenerator.Setup(g => g.CreateAssetUrl(It.IsAny<IAsset>(), It.IsAny<bool>())) .Returns(assetUrls.Dequeue); var renderer = new DebugStylesheetHtmlRenderer(urlGenerator.Object); var html = renderer.Render(bundle); html.ShouldEqual( "<!--[if " + bundle.Condition + "]><!-->" + Environment.NewLine + "<link href=\"asset1\" type=\"text/css\" rel=\"stylesheet\"/>" + Environment.NewLine + "<link href=\"asset2\" type=\"text/css\" rel=\"stylesheet\"/>" + Environment.NewLine + "<!-- <![endif]-->" ); }
public void GivenModuleWithMediaAndAssets_WhenRender_ThenLinkForEachAssetIsReturned() { var module = new StylesheetModule("~/test") { Media = "MEDIA" }; module.Assets.Add(Mock.Of<IAsset>()); module.Assets.Add(Mock.Of<IAsset>()); var urlGenerator = new Mock<IUrlGenerator>(); var assetUrls = new Queue<string>(new[] { "asset1", "asset2" }); urlGenerator.Setup(g => g.CreateAssetUrl(It.IsAny<IAsset>())) .Returns(assetUrls.Dequeue); var renderer = new DebugStylesheetHtmlRenderer(urlGenerator.Object); var html = renderer.Render(module).ToHtmlString(); html.ShouldEqual( "<link href=\"asset1\" type=\"text/css\" rel=\"stylesheet\" media=\"MEDIA\"/>" + Environment.NewLine + "<link href=\"asset2\" type=\"text/css\" rel=\"stylesheet\" media=\"MEDIA\"/>" ); }