From 445d663d39a6643ead5c95424adfd42bee8f5b1c Mon Sep 17 00:00:00 2001 From: Thomas Rientjes <synzvato@protonmail.com> Date: Tue, 5 Apr 2016 18:00:43 +0200 Subject: [PATCH] Resolve #61 by writing mapping exceptions --- lib/mappings.js | 2 ++ lib/request-analyzer.js | 2 +- test/test-request-analyzer.js | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/mappings.js b/lib/mappings.js index 7ff31ad..3dd1172 100644 --- a/lib/mappings.js +++ b/lib/mappings.js @@ -83,6 +83,7 @@ var mappings = { // Microsoft Ajax CDN 'ajax.aspnetcdn.com': { '/ajax/': { + 'jQuery/jquery-{version}.': resources.jQuery, 'jquery/jquery-{version}.': resources.jQuery, 'modernizr/modernizr-{version}.': resources.modernizr } @@ -90,6 +91,7 @@ var mappings = { // Microsoft Ajax CDN [Deprecated] 'ajax.microsoft.com': { '/ajax/': { + 'jQuery/jquery-{version}.': resources.jQuery, 'jquery/jquery-{version}.': resources.jQuery, 'modernizr/modernizr-{version}.': resources.modernizr } diff --git a/lib/request-analyzer.js b/lib/request-analyzer.js index 30ce6aa..feef4c2 100644 --- a/lib/request-analyzer.js +++ b/lib/request-analyzer.js @@ -130,7 +130,7 @@ function _findLocalTarget(resourceMappings, basePath, channelPath) { var resourcePath, versionNumber, resourcePattern; - resourcePath = channelPath.replace(basePath, '').toLowerCase(); + resourcePath = channelPath.replace(basePath, ''); versionNumber = resourcePath.match(VERSION_EXPRESSION); resourcePattern = resourcePath.replace(versionNumber, VERSION_PLACEHOLDER); diff --git a/test/test-request-analyzer.js b/test/test-request-analyzer.js index aaf9e46..82e1fc1 100644 --- a/test/test-request-analyzer.js +++ b/test/test-request-analyzer.js @@ -128,6 +128,11 @@ exports['test webfont debug library'] = function (assert) { assert.equal(target.path, localPaths.webfont[0], 'Target was determined.'); }; +exports['test case sensitivity rules'] = function (assert) { + var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/WebFont/1.0.19/webfont_debug.js'); + assert.equal(target, false, 'Case sensitivity rules were properly enforced.'); +}; + // Google Hosted Libraries exports['test angular on google hosted libraries'] = function (assert) { @@ -187,6 +192,11 @@ exports['test jquery on microsoft ajax cdn'] = function (assert) { assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.'); }; +exports['test lowercase jquery notation on microsoft ajax cdn'] = function (assert) { + var target = requestAnalyzer.getLocalTarget('ajax.aspnetcdn.com', '/ajax/jquery/jquery-1.11.1.min.js'); + assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.'); +}; + exports['test modernizr on microsoft ajax cdn'] = function (assert) { var target = requestAnalyzer.getLocalTarget('ajax.aspnetcdn.com', '/ajax/modernizr/modernizr-2.6.2.js'); assert.equal(target.path, localPaths.modernizr, 'Target was determined.'); @@ -197,6 +207,11 @@ exports['test jquery on old microsoft ajax cdn'] = function (assert) { assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.'); }; +exports['test lowercase jquery notation on old microsoft ajax cdn'] = function (assert) { + var target = requestAnalyzer.getLocalTarget('ajax.microsoft.com', '/ajax/jquery/jquery-1.11.1.min.js'); + assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.'); +}; + exports['test modernizr on old microsoft ajax cdn'] = function (assert) { var target = requestAnalyzer.getLocalTarget('ajax.microsoft.com', '/ajax/modernizr/modernizr-2.6.2.js'); assert.equal(target.path, localPaths.modernizr, 'Target was determined.'); -- GitLab