コード例 #1
0
        /// <summary>
        /// This will never return null, it will raise an exception if unable to satisfy the request
        /// </summary>
        public ITextFileLoader Get()
        {
            var             scopingHtmlTagReplaceString = "REPLACEME";
            ITextFileLoader singleFileLoader            = new LessCssOpeningHtmlTagRenamer(
                _contentLoader,
                scopingHtmlTagReplaceString
                );
            var sourceMappingMarkerIdGenerator = new SourceMappingMarkerIdGenerator();

            if (_sourceMappingMarkerInjection == SourceMappingMarkerInjectionOptions.Inject)
            {
                singleFileLoader = new LessCssLineNumberingTextFileLoader(
                    new LessCssCommentRemovingTextFileLoader(singleFileLoader),
                    sourceMappingMarkerIdGenerator.MarkerGenerator,
                    selector => selector != scopingHtmlTagReplaceString                     // Don't insert marker ids on wrapper selectors that will be removed
                    );
            }
            return(new MediaQueryGroupingCssLoader(
                       new DotLessCssCssLoader(
                           new SameFolderImportFlatteningCssLoader(
                               singleFileLoader,
                               _sourceMappingMarkerInjection == SourceMappingMarkerInjectionOptions.Inject
                                                ? SameFolderImportFlatteningCssLoader.ContentLoaderCommentRemovalBehaviourOptions.CommentsAreAlreadyRemoved
                                                : SameFolderImportFlatteningCssLoader.ContentLoaderCommentRemovalBehaviourOptions.ContentIsUnprocessed,
                               _errorBehaviour,
                               _errorBehaviour,
                               _logger
                               ),
                           () => sourceMappingMarkerIdGenerator.GetInsertedMarkerIds(),
                           scopingHtmlTagReplaceString,
                           _errorBehaviour,
                           _logger
                           )
                       ));
        }
コード例 #2
0
        public void TrailingLineReturnsShouldBeSupported()
        {
            var filename       = "Test.css";
            var content        = "html { h2 { font-weight: bold; } }\n";
            var textFileLoader = new LessCssOpeningHtmlTagRenamer(
                new FixedListCssContentLoader(
                    new TextFileContents(filename, new DateTime(2013, 1, 31, 21, 55, 0), content)
                    ),
                "REPLACEDCONTENT"
                );

            Assert.Equal(
                "REPLACEDCONTENT { h2 { font-weight: bold; } }\n",
                textFileLoader.Load(filename).Content
                );
        }
コード例 #3
0
        public void HtmlTagWithNestedSelectorShouldBeReplaced()
        {
            var filename       = "Test.css";
            var content        = "html { h2 { font-weight: bold; } }";
            var textFileLoader = new LessCssOpeningHtmlTagRenamer(
                new FixedListCssContentLoader(
                    new TextFileContents(filename, new DateTime(2013, 1, 31, 21, 55, 0), content)
                    ),
                "REPLACEDCONTENT"
                );

            Assert.Equal(
                "REPLACEDCONTENT { h2 { font-weight: bold; } }",
                textFileLoader.Load(filename).Content
                );
        }