/// <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 SecondInvalidIgnorePatternProcessedIsCorrect() { // Arrange Exception currentException = null; // Act try { var styleUnnecessaryAssetsFilter = new StyleUnnecessaryAssetsFilter(new[] { "*.*", "jquery.ui.base.css" }); } catch (Exception ex) { currentException = ex; } // Assert Assert.NotNull(currentException); Assert.IsType <ArgumentException>(currentException); Assert.Equal("ignorePatterns", ((ArgumentException)currentException).ParamName); }
public void FirstInvalidIgnorePatternProcessedIsCorrect() { // Arrange Exception currentException = null; // Act try { var styleUnnecessaryAssetsFilter = new StyleUnnecessaryAssetsFilter(new[] { "*.all.css", "*" }); } catch (Exception ex) { currentException = ex; } // Assert Assert.NotNull(currentException); Assert.IsType <ArgumentException>(currentException); Assert.Equal(((ArgumentException)currentException).ParamName, "ignorePatterns"); }
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; }