public void CssReferencesAreParsed() { var pipeline = new StylesheetPipeline(container, settings); pipeline.Process(bundle); asset1.Verify(a => a.AddReference("asset2.css", 1)); }
public void AssetsAreConcatenated() { var pipeline = new StylesheetPipeline(container, settings); pipeline.Process(bundle); bundle.Assets.Count.ShouldEqual(1); }
public void AssetsAreSortedByDependency() { settings.IsDebuggingEnabled = true; var pipeline = new StylesheetPipeline(container, settings); pipeline.Process(bundle); bundle.Assets.SequenceEqual(new[] { asset2.Object, asset1.Object }).ShouldBeTrue(); }
public void WhenProcessBundle_ThenHashIsAssigned() { var pipeline = new StylesheetPipeline(); var bundle = new StylesheetBundle("~"); pipeline.Process(bundle, new CassetteSettings("")); bundle.Hash.ShouldNotBeNull(); }
public void WhenProcessBundle_ThenHashIsAssigned() { var bundle = new StylesheetBundle("~"); var pipeline = new StylesheetPipeline(container, settings); pipeline.Process(bundle); bundle.Hash.ShouldNotBeNull(); }
public void GivenDebugMode_ThenCssUrlsAreExpanded() { settings.IsDebuggingEnabled = false; var pipeline = new StylesheetPipeline(container, settings); pipeline.Process(bundle); asset2.Verify(a => a.AddAssetTransformer(It.Is <IAssetTransformer>( transformer => transformer is ExpandCssUrlsAssetTransformer) )); }
public void AssetsAreMinified() { var pipeline = new StylesheetPipeline(); pipeline.Process(bundle, settings); using (var reader = new StreamReader(bundle.Assets[0].OpenStream())) { reader.ReadToEnd().ShouldEqual("p{color:#fff}"); } }
public void GivenCompileSassIsFalse_WhenProcessBundle_ThenSassAssetHasNoCompileAssetTransformAdded() { var asset = new Mock <IAsset>(); asset.SetupGet(a => a.SourceFile.FullPath).Returns("~/file.sass"); asset.Setup(a => a.OpenStream()).Returns(Stream.Null); var bundle = new StylesheetBundle("~"); bundle.Assets.Add(asset.Object); var pipeline = new StylesheetPipeline(); pipeline.Process(bundle, new CassetteSettings("")); asset.Verify(a => a.AddAssetTransformer(It.Is <IAssetTransformer>(t => t is CompileAsset)), Times.Never()); }
public void GivenConvertImageUrlsToDataUrisIsFalse_WhenProcessBundle_ThenLessAssetHasNoDataUriTransformAdded() { var asset = new Mock <IAsset>(); asset.SetupGet(a => a.Path).Returns("~/file.less"); asset.Setup(a => a.OpenStream()).Returns(Stream.Null); var bundle = new StylesheetBundle("~"); bundle.Assets.Add(asset.Object); var pipeline = new StylesheetPipeline(container, settings); pipeline.Process(bundle); asset.Verify(a => a.AddAssetTransformer(It.Is <IAssetTransformer>(t => t is CssImageToDataUriTransformer)), Times.Never()); }
public void GivenConvertImageUrlsToDataUrisIsTrue_WhenProcessBundle_ThenLessAssetHasDataUriTransformAdded() { var asset = new Mock <IAsset>(); asset.SetupGet(a => a.SourceFile.FullPath).Returns("~/file.less"); asset.Setup(a => a.OpenStream()).Returns(Stream.Null); var bundle = new StylesheetBundle("~"); bundle.Assets.Add(asset.Object); var pipeline = new StylesheetPipeline { ConvertImageUrlsToDataUris = true }; pipeline.Process(bundle, new CassetteSettings("")); asset.Verify(a => a.AddAssetTransformer(It.Is <IAssetTransformer>(t => t is CssImageToDataUriTransformer))); }
public void CanProvideMinifier() { var bundle = new StylesheetBundle("~"); var asset = new Mock <IAsset>(); asset.SetupGet(a => a.Path).Returns("~/asset.css"); asset.Setup(a => a.OpenStream()).Returns(Stream.Null); bundle.Assets.Add(asset.Object); // Remove the ConcatenateAssets step, so the transformer is added to our mock asset instead of the concatenated asset object. var pipeline = new StylesheetPipeline(container, settings); pipeline.RemoveAt(pipeline.Count - 2); pipeline.Process(bundle); asset.Verify(a => a.AddAssetTransformer(It.Is <IAssetTransformer>(t => t == minifier.Object))); }
public void ReferenceInLessAssetIsParsed() { pipeline.Process(bundle, settings); asset.Verify(a => a.AddReference("other.less", 1)); }