public void ConflictDueToOrderingCollapseTest() { const string FileName = @"OrderBasedConflictsCollapse.css"; var styleSheetNode = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName))); Assert.IsNotNull(styleSheetNode); MinificationVerifier.VerifyMinification(BaseDirectory, FileName, new List <NodeVisitor> { new OptimizationVisitor() }); }
public void RemoveSelectors() { this.hacks.Add("foo"); MinificationVerifier.VerifyMinification(BaseDirectory, "RemoveSelectors.css", new List <NodeVisitor> { new SelectorValidationOptimizationVisitor(this.hacks, false, false) }); PrettyPrintVerifier.VerifyPrettyPrint(BaseDirectory, "RemoveSelectors.css", new List <NodeVisitor> { new SelectorValidationOptimizationVisitor(this.hacks, false, false) }); }
public void ExcludeByKeysTest() { const string FileName = @"excludebykeys.css"; var styleSheetNode = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName))); Assert.IsNotNull(styleSheetNode); MinificationVerifier.VerifyMinification(BaseDirectory, FileName, new List <NodeVisitor> { new ExcludePropertyVisitor() }); PrettyPrintVerifier.VerifyPrettyPrint(BaseDirectory, FileName, new List <NodeVisitor> { new ExcludePropertyVisitor() }); }
public void OptimizeBorder() { const string FileName = @"border.css"; var styleSheetNode = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName))); Assert.IsNotNull(styleSheetNode); MinificationVerifier.VerifyMinification(BaseDirectory, FileName, new List <NodeVisitor> { new OptimizationVisitor() }); PrettyPrintVerifier.VerifyPrettyPrint(BaseDirectory, FileName, new List <NodeVisitor> { new OptimizationVisitor() }); }
public void ShouldNotOptimizeFontface() { const string FileName = @"fontface.css"; var styleSheetNode = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName))); Assert.IsNotNull(styleSheetNode); MinificationVerifier.VerifyMinification(BaseDirectory, FileName, new List <NodeVisitor> { new OptimizationVisitor { NonMergeRuleSetSelectors = new[] { "@font-face" } } }); PrettyPrintVerifier.VerifyPrettyPrint(BaseDirectory, FileName, new List <NodeVisitor> { new OptimizationVisitor { NonMergeRuleSetSelectors = new[] { "@font-face" } } }); }
public void RgbCollapse() { const string FileName = @"RgbCollapse.css"; AstNode styleSheetNode = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName))); Assert.IsNotNull(styleSheetNode); styleSheetNode = styleSheetNode.Accept(new ColorOptimizationVisitor()); Assert.IsNotNull(styleSheetNode); MinificationVerifier.VerifyMinification(BaseDirectory, FileName, new List <NodeVisitor> { new ColorOptimizationVisitor() }); PrettyPrintVerifier.VerifyPrettyPrint(BaseDirectory, FileName, new List <NodeVisitor> { new ColorOptimizationVisitor() }); }
public void ImageUpdateVisitorShorthandDeclarationsTest() { const string FileName = @"imageupdatevisitorshorthanddeclarations.css"; var fileInfo = new FileInfo(Path.Combine(ActualDirectory, FileName)); var styleSheetNode = CssParser.Parse(fileInfo); Assert.IsNotNull(styleSheetNode); var visitor = CreateVisitor(fileInfo.FullName); styleSheetNode = styleSheetNode.Accept(visitor) as StyleSheetNode; Assert.IsNotNull(styleSheetNode); MinificationVerifier.VerifyMinification(BaseDirectory, FileName, new List <NodeVisitor> { visitor }); PrettyPrintVerifier.VerifyPrettyPrint(BaseDirectory, FileName, new List <NodeVisitor> { visitor }); }
public void ImageUpdateVisitorRemTest() { const string FileName = @"imageupdatevisitorrem.css"; var fileInfo = new FileInfo(Path.Combine(ActualDirectory, FileName)); var styleSheetNode = CssParser.Parse(fileInfo); Assert.IsNotNull(styleSheetNode); // use 2X DPI, REM units, and scale the number by 1/10. var visitor = CreateVisitor(fileInfo.FullName, 2f, ImageAssembleConstants.Rem, 0.1); styleSheetNode = styleSheetNode.Accept(visitor) as StyleSheetNode; Assert.IsNotNull(styleSheetNode); MinificationVerifier.VerifyMinification(BaseDirectory, FileName, new List <NodeVisitor> { visitor }); PrettyPrintVerifier.VerifyPrettyPrint(BaseDirectory, FileName, new List <NodeVisitor> { visitor }); }
public void MergingRulesetsBasedOnDeclarationsTest() { const string FileName = @"Merge.css"; var styleSheetNode = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName))); Assert.IsNotNull(styleSheetNode); MinificationVerifier.VerifyMinification(BaseDirectory, FileName, new List <NodeVisitor> { new OptimizationVisitor { ShouldMergeBasedOnCommonDeclarations = true } }); const string FileName2 = @"Merge2.css"; var styleSheetNode2 = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName2))); Assert.IsNotNull(styleSheetNode2); MinificationVerifier.VerifyMinification(BaseDirectory, FileName2, new List <NodeVisitor> { new OptimizationVisitor { ShouldMergeBasedOnCommonDeclarations = true } }); const string FileName3 = @"Merge3.css"; var styleSheetNode3 = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName3))); Assert.IsNotNull(styleSheetNode3); MinificationVerifier.VerifyMinification(BaseDirectory, FileName3, new List <NodeVisitor> { new OptimizationVisitor { ShouldMergeBasedOnCommonDeclarations = true } }); const string FileName4 = @"Merge4.css"; var styleSheetNode4 = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName4))); Assert.IsNotNull(styleSheetNode4); MinificationVerifier.VerifyMinification(BaseDirectory, FileName4, new List <NodeVisitor> { new OptimizationVisitor { ShouldMergeBasedOnCommonDeclarations = true } }); const string FileName5 = @"Merge5.css"; var styleSheetNode5 = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName5))); Assert.IsNotNull(styleSheetNode5); MinificationVerifier.VerifyMinification(BaseDirectory, FileName5, new List <NodeVisitor> { new OptimizationVisitor { ShouldMergeBasedOnCommonDeclarations = true } }); const string FileName6 = @"Merge6.css"; var styleSheetNode6 = CssParser.Parse(new FileInfo(Path.Combine(ActualDirectory, FileName6))); Assert.IsNotNull(styleSheetNode6); MinificationVerifier.VerifyMinification(BaseDirectory, FileName6, new List <NodeVisitor> { new OptimizationVisitor { ShouldMergeBasedOnCommonDeclarations = true } }); }