Example #1
0
        /// <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);
        }
Example #2
0
        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);
        }
Example #3
0
        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");
        }
Example #4
0
        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;
		}