コード例 #1
0
        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()
            });
        }
コード例 #2
0
 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)
     });
 }
コード例 #3
0
        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()
            });
        }
コード例 #4
0
        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()
            });
        }
コード例 #5
0
        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" }
                }
            });
        }
コード例 #6
0
        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()
            });
        }
コード例 #7
0
        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
            });
        }
コード例 #8
0
        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
            });
        }
コード例 #9
0
        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
                }
            });
        }