From cb3420704453b16bbf040a8e0b6a57ae2b02ff4e Mon Sep 17 00:00:00 2001 From: Chris Wisecarver Date: Wed, 6 Dec 2017 12:53:29 -0500 Subject: [PATCH 1/2] Use conditional tag matching logic everywhere --- lib/server.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/server.js b/lib/server.js index a5e799a..f2f7b16 100644 --- a/lib/server.js +++ b/lib/server.js @@ -187,6 +187,11 @@ exports.Server = function Server(bsClient, workers, config, callback) { } }; + var getTestingFrameworkMatcher = function() { + var tag_name = (config['test_framework'] === 'mocha') ? 'head' : 'body'; + return new RegExp('(.*)<\/' + tag_name + '>'); ///(.*)<\/body>/; + }; + var writeResponse = function(err, data) { if (err) { @@ -197,8 +202,7 @@ exports.Server = function Server(bsClient, workers, config, callback) { response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }); - var tag_name = (config['test_framework'] === 'mocha') ? 'head' : 'body'; - var matcher = new RegExp('(.*)<\/' + tag_name + '>'); ///(.*)<\/body>/; + var matcher = getTestingFrameworkMatcher(); var patch = getReporterPatch(); data = data.replace(matcher, patch); @@ -210,7 +214,7 @@ exports.Server = function Server(bsClient, workers, config, callback) { var mimeType = mime.lookup(filename); var finalData = data; if (mimeType === 'text/html') { - var matcher = /(.*)<\/head>/; + var matcher = getTestingFrameworkMatcher(); var patch = getReporterPatch(); finalData = data.replace(matcher, patch); headers['content-length'] = finalData.length; From c584dd5900d7f348a0da535447094b2fc7f45b73 Mon Sep 17 00:00:00 2001 From: Chris Wisecarver Date: Tue, 12 Dec 2017 15:51:59 -0500 Subject: [PATCH 2/2] Force patched responseData to a string --- lib/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/server.js b/lib/server.js index f2f7b16..6058ca1 100644 --- a/lib/server.js +++ b/lib/server.js @@ -249,7 +249,7 @@ exports.Server = function Server(bsClient, workers, config, callback) { } }); } else { - patchResponse(responseData, headers, function (data, headers) { + patchResponse(responseData && responseData.toString(), headers, function (data, headers) { callback && callback(data, headers); }); }