Пример #1
0
        /// <summary>
        /// Removes a duplicate style assets
        /// </summary>
        /// <param name="assets">Set of style assets</param>
        /// <returns>Set of unique style assets</returns>
        protected override IList <IAsset> RemoveDuplicateAssets(IList <IAsset> assets)
        {
            var            styleDuplicateFilter = new StyleDuplicateAssetsFilter();
            IList <IAsset> processedAssets      = styleDuplicateFilter.Transform(assets);

            return(processedAssets);
        }
Пример #2
0
        public void DuplicateStyleAssetsRemovedIsCorrect()
        {
            // Arrange
            var siteAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                                         "Site.css"), _virtualFileSystemWrapper);
            var jqueryUiAccordionMinAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                                                         "themes/base/jquery.ui.accordion.min.css"), _virtualFileSystemWrapper);
            var testCssComponentsPathsAsset = new Asset(UrlHelpers.Combine(ALTERNATIVE_STYLES_DIRECTORY_VIRTUAL_PATH,
                                                                           "css/TestCssComponentsPaths.css"), _virtualFileSystemWrapper);
            var testCssComponentsPathsMinAsset = new Asset(UrlHelpers.Combine(
                                                               ALTERNATIVE_STYLES_DIRECTORY_VIRTUAL_PATH,
                                                               "css/TestCssComponentsPaths.min.css"), _virtualFileSystemWrapper);
            var siteDuplicateAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                                                  "site.css"), _virtualFileSystemWrapper);
            var testLessAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                                             "less/TestLess.less"), _virtualFileSystemWrapper);
            var testSassAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                                             "sass/TestSass.sass"), _virtualFileSystemWrapper);
            var testScssAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                                             "scss/TestScss.scss"), _virtualFileSystemWrapper);
            var duplicateTestLessAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                                                      "LESS/TestLess.less"), _virtualFileSystemWrapper);

            IList <IAsset> assets = new List <IAsset>
            {
                siteAsset,
                jqueryUiAccordionMinAsset,
                testCssComponentsPathsAsset,
                testCssComponentsPathsMinAsset,
                siteDuplicateAsset,
                testLessAsset,
                testSassAsset,
                testScssAsset,
                duplicateTestLessAsset
            };

            var styleDuplicateFilter = new StyleDuplicateAssetsFilter();

            // Act
            IList <IAsset> processedAssets = styleDuplicateFilter.Transform(assets);

            // Assert
            Assert.Equal(6, processedAssets.Count);
            Assert.Equal(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                            "Site.css"), processedAssets[0].VirtualPath);
            Assert.Equal(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                            "themes/base/jquery.ui.accordion.min.css"), processedAssets[1].VirtualPath);
            Assert.Equal(UrlHelpers.Combine(ALTERNATIVE_STYLES_DIRECTORY_VIRTUAL_PATH,
                                            "css/TestCssComponentsPaths.css"), processedAssets[2].VirtualPath);
            Assert.Equal(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                            "less/TestLess.less"), processedAssets[3].VirtualPath);
            Assert.Equal(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                            "sass/TestSass.sass"), processedAssets[4].VirtualPath);
            Assert.Equal(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH,
                                            "scss/TestScss.scss"), processedAssets[5].VirtualPath);
        }
		/// <summary>
		/// Removes a duplicate style assets
		/// </summary>
		/// <param name="assets">Set of style assets</param>
		/// <returns>Set of unique style assets</returns>
		protected override IList<IAsset> RemoveDuplicateAssets(IList<IAsset> assets)
		{
			var styleDuplicateFilter = new StyleDuplicateAssetsFilter();
			IList<IAsset> processedAssets = styleDuplicateFilter.Transform(assets);

			return processedAssets;
		}