public void SecondInvalidIgnorePatternProcessedIsCorrect() { // Arrange Exception currentException = null; // Act try { var scriptUnnecessaryAssetsFilter = new ScriptUnnecessaryAssetsFilter(new[] { "*-vsdoc.js", "*.*", "*.all.js" }); } catch (Exception ex) { currentException = ex; } // Assert Assert.IsNotNull(currentException); Assert.IsInstanceOf<ArgumentException>(currentException); Assert.AreEqual(((ArgumentException)currentException).ParamName, "ignorePatterns"); }
public void UnneededScriptAssetsRemovedIsCorrect() { // Arrange var virtualFileSystemWrapper = (new Mock<IVirtualFileSystemWrapper>()).Object; var ajaxLoginAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "AjaxLogin.js"), virtualFileSystemWrapper); var jqueryMinAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "jquery-1.6.2.min.js"), virtualFileSystemWrapper); var jqueryVsDocAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "jquery-1.6.2-vsdoc.js"), virtualFileSystemWrapper); var jqueryValidateVsDocMinAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "jquery.validate-vsdoc.min.js"), virtualFileSystemWrapper); var microsoftAjaxDebugAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "MicrosoftAjax.debug.js"), virtualFileSystemWrapper); var telerikAllMinAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "telerik.all.min.js"), virtualFileSystemWrapper); var knockoutAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "knockout-2.0.0.js"), virtualFileSystemWrapper); var modernizrAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "modernizr-2.0.6-development-only.js"), virtualFileSystemWrapper); var referencesAsset = new Asset(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "_references.js"), virtualFileSystemWrapper); var assets = new List<IAsset> { ajaxLoginAsset, jqueryMinAsset, jqueryVsDocAsset, jqueryValidateVsDocMinAsset, microsoftAjaxDebugAsset, telerikAllMinAsset, knockoutAsset, modernizrAsset, referencesAsset }; var scriptUnnecessaryAssetsFilter = new ScriptUnnecessaryAssetsFilter( new[] { "*-vsdoc.js", "*.all.js", "_references.js" }); // Act IList<IAsset> processedAssets = scriptUnnecessaryAssetsFilter.Transform(assets).ToList(); // Assert Assert.AreEqual(5, processedAssets.Count); Assert.AreEqual(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "AjaxLogin.js"), processedAssets[0].VirtualPath); Assert.AreEqual(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "jquery-1.6.2.min.js"), processedAssets[1].VirtualPath); Assert.AreEqual(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "MicrosoftAjax.debug.js"), processedAssets[2].VirtualPath); Assert.AreEqual(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "knockout-2.0.0.js"), processedAssets[3].VirtualPath); Assert.AreEqual(UrlHelpers.Combine(SCRIPTS_DIRECTORY_VIRTUAL_PATH, "modernizr-2.0.6-development-only.js"), processedAssets[4].VirtualPath); }