/// <summary> /// Removes a unnecessary style assets /// </summary> /// <param name="assets">Set of style assets</param> /// <returns>Set of necessary style assets</returns> protected override IList <IAsset> RemoveUnnecessaryAssets(IList <IAsset> assets) { var styleUnnecessaryAssetsFilter = new StyleUnnecessaryAssetsFilter(_ignorePatterns); IList <IAsset> processedAssets = styleUnnecessaryAssetsFilter.Transform(assets); return(processedAssets); }
public void UnneededStyleAssetsRemovedIsCorrect() { // Arrange var virtualFileSystemWrapper = (new Mock <IVirtualFileSystemWrapper>()).Object; var siteAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH, @"Site.css"), virtualFileSystemWrapper); var jqueryUiAccordionAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH, @"themes\base\jquery.ui.accordion.css"), virtualFileSystemWrapper); var jqueryUiAllAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH, @"themes\base\jquery.ui.all.css"), virtualFileSystemWrapper); var testCssComponentsPathsAsset = new Asset(UrlHelpers.Combine(ALTERNATIVE_STYLES_DIRECTORY_VIRTUAL_PATH, @"css\TestCssComponentsPaths.css"), virtualFileSystemWrapper); var jqueryUiBaseMinAsset = new Asset(UrlHelpers.Combine(STYLES_DIRECTORY_VIRTUAL_PATH, @"themes\base\jquery.ui.base.min.css"), virtualFileSystemWrapper); var assets = new List <IAsset> { siteAsset, jqueryUiAccordionAsset, jqueryUiAllAsset, testCssComponentsPathsAsset, jqueryUiBaseMinAsset }; var styleUnnecessaryAssetsFilter = new StyleUnnecessaryAssetsFilter( new[] { "*.all.css", "jquery.ui.base.css" }); // Act IList <IAsset> processedAssets = styleUnnecessaryAssetsFilter.Transform(assets).ToList(); // Assert Assert.Equal(3, 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.css"), processedAssets[1].VirtualPath); Assert.Equal(UrlHelpers.Combine(ALTERNATIVE_STYLES_DIRECTORY_VIRTUAL_PATH, @"css\TestCssComponentsPaths.css"), processedAssets[2].VirtualPath); }
/// <summary> /// Removes a unnecessary style assets /// </summary> /// <param name="assets">Set of style assets</param> /// <returns>Set of necessary style assets</returns> protected override IList<IAsset> RemoveUnnecessaryAssets(IList<IAsset> assets) { var styleUnnecessaryAssetsFilter = new StyleUnnecessaryAssetsFilter(_ignorePatterns); IList<IAsset> processedAssets = styleUnnecessaryAssetsFilter.Transform(assets); return processedAssets; }