From ac7da0e19eda26a6fb1ac50ba6c35ee2145edf56 Mon Sep 17 00:00:00 2001 From: mahwy Date: Wed, 22 Mar 2017 16:30:19 -0400 Subject: [PATCH] Fix issue where toolbox successResponses is stripped (#265) * Fix issue where toolbox successResponses is stripped Fixed a bug wth successResponses similar to #228 * fixed lint error * fixed incorrect if block --- lib/sw-precache.js | 4 ++++ test/test.js | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/lib/sw-precache.js b/lib/sw-precache.js index 4a319d8..5d6c7cc 100644 --- a/lib/sw-precache.js +++ b/lib/sw-precache.js @@ -117,6 +117,10 @@ function stringifyToolboxOptions(options) { if (options.origin instanceof RegExp) { str = str.replace(/("origin":)\{\}/, '$1' + options.origin); } + if (options.successResponses instanceof RegExp) { + str = str.replace(/("successResponses":)\{\}/, + '$1' + options.successResponses); + } return str; } diff --git a/test/test.js b/test/test.js index 519d1b3..f766133 100644 --- a/test/test.js +++ b/test/test.js @@ -474,6 +474,17 @@ describe('generateRuntimeCaching', function() { }]); assert.equal(code, '\ntoolbox.router.get("/*", toolbox.testHandler, {"origin":"http://www.example.com"});'); }); + + it('should handle successResponses regex', function() { + var code = generateRuntimeCaching([{ + urlPattern: '/*', + handler: 'testHandler', + options: { + successResponses: /^200$/ + } + }]); + assert.equal(code, '\ntoolbox.router.get("/*", toolbox.testHandler, {"successResponses":/^200$/});'); + }); }); describe('cleanResponse', function() {