public void TokenImageUrlTest() { const string FileName = @"tokenimageurl.css"; var fileInfo = new FileInfo(Path.Combine(ActualDirectory, FileName)); var styleSheetNode = CssParser.Parse(fileInfo); Assert.IsNotNull(styleSheetNode); var visitor = new ImageAssemblyScanVisitor(fileInfo.FullName, null); styleSheetNode.Accept(visitor); var imageReferencesToAssemble = visitor.DefaultImageAssemblyScanOutput.ImageReferencesToAssemble; Assert.IsNotNull(imageReferencesToAssemble); Assert.AreEqual(0, imageReferencesToAssemble.Count); }
public void SpritingCandidatesTest() { const string FileName = @"spritingcandidates.css"; var fileInfo = new FileInfo(Path.Combine(ActualDirectory, FileName)); var styleSheetNode = CssParser.Parse(fileInfo); Assert.IsNotNull(styleSheetNode); var visitor = new ImageAssemblyScanVisitor(fileInfo.FullName, null); styleSheetNode = styleSheetNode.Accept(visitor) as StyleSheetNode; Assert.IsNotNull(styleSheetNode); Trace.WriteLine(visitor.ImageAssemblyAnalysisLog.ToString()); var imageReferencesToAssemble = visitor.DefaultImageAssemblyScanOutput.ImageReferencesToAssemble; Assert.IsNotNull(imageReferencesToAssemble); Assert.IsTrue(imageReferencesToAssemble.Count == 95); }
/// <summary>Scans the css for the image path references</summary> /// <param name="stylesheetNode">The stylesheet node</param> /// <param name="threadContext">The thread Context.</param> /// <returns>The modified AST node if modified otherwise the original node</returns> private ImageAssemblyScanVisitor ExecuteImageAssemblyScan(AstNode stylesheetNode, IWebGreaseContext threadContext) { var imageAssemblyScanVisitor = new ImageAssemblyScanVisitor( this.SourceFile, this.ImageAssembleReferencesToIgnore, this.IgnoreImagesWithNonDefaultBackgroundSize, this.OutputUnit, this.OutputUnitFactor, this.availableSourceImages, this.MissingImageUrl, true) { Context = threadContext }; // Scan log visitor should and does not change the stylesheet, no need to use the result. stylesheetNode.Accept(imageAssemblyScanVisitor); // return the can log results. return(imageAssemblyScanVisitor); }
public void SpritingCandidatesWithIgnoreTest() { const string FileName = @"spritingcandidateswithignore.css"; var fileInfo = new FileInfo(Path.Combine(ActualDirectory, FileName)); var styleSheetNode = CssParser.Parse(fileInfo); Assert.IsNotNull(styleSheetNode); var visitor = new ImageAssemblyScanVisitor(fileInfo.FullName, new[] { "/i/1.gif", "/i/2.gif" }); styleSheetNode = styleSheetNode.Accept(visitor) as StyleSheetNode; Assert.IsNotNull(styleSheetNode); var imageReferencesToAssemble = visitor.DefaultImageAssemblyScanOutput.ImageReferencesToAssemble; Assert.IsNotNull(imageReferencesToAssemble); Assert.IsTrue(imageReferencesToAssemble.Count == 3); Assert.IsTrue(imageReferencesToAssemble[0].AbsoluteImagePath.Contains(@"\i\3.gif")); Assert.IsTrue(imageReferencesToAssemble[1].AbsoluteImagePath.Contains(@"\i\4.gif")); Assert.IsTrue(imageReferencesToAssemble[2].AbsoluteImagePath.Contains(@"\i\5.gif")); }