From b1396a249d193e1cfe9cb45519e2fefe4694a08b Mon Sep 17 00:00:00 2001 From: El RIDO Date: Sun, 12 Feb 2017 15:30:11 +0100 Subject: [PATCH] ensuring that in the JS sprintf tests no replacable patterns occur in the pre- & postfix of the test string --- js/test.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/js/test.js b/js/test.js index cf44a19c..b5845ae4 100644 --- a/js/test.js +++ b/js/test.js @@ -243,8 +243,10 @@ describe('helper', function () { '(small nearray) string', 'string', function (prefix, params, postfix) { + var prefix = prefix.replace(/%(s|d)/g, '%%'), + postfix = postfix.replace(/%(s|d)/g, '%%'), + result = prefix + params[0] + postfix; params.unshift(prefix + '%s' + postfix); - var result = prefix + params[1] + postfix; return result === $.PrivateBin.helper.sprintf.apply(this, params) && result === $.PrivateBin.helper.sprintf(params); } @@ -255,8 +257,10 @@ describe('helper', function () { '(small nearray) nat', 'string', function (prefix, params, postfix) { + var prefix = prefix.replace(/%(s|d)/g, '%%'), + postfix = postfix.replace(/%(s|d)/g, '%%'), + result = prefix + params[0] + postfix; params.unshift(prefix + '%d' + postfix); - var result = prefix + params[1] + postfix; return result === $.PrivateBin.helper.sprintf.apply(this, params) && result === $.PrivateBin.helper.sprintf(params); } @@ -267,8 +271,10 @@ describe('helper', function () { '(small nearray) falsy', 'string', function (prefix, params, postfix) { + var prefix = prefix.replace(/%(s|d)/g, '%%'), + postfix = postfix.replace(/%(s|d)/g, '%%'), + result = prefix + '0' + postfix; params.unshift(prefix + '%d' + postfix); - var result = prefix + '0' + postfix; return result === $.PrivateBin.helper.sprintf.apply(this, params) && result === $.PrivateBin.helper.sprintf(params); } @@ -281,7 +287,9 @@ describe('helper', function () { 'string', 'string', function (prefix, uint, middle, string, postfix) { - var params = [prefix + '%d' + middle + '%s' + postfix, uint, string], + var prefix = prefix.replace(/%(s|d)/g, '%%'), + postfix = postfix.replace(/%(s|d)/g, '%%'), + params = [prefix + '%d' + middle + '%s' + postfix, uint, string], result = prefix + uint + middle + string + postfix; return result === $.PrivateBin.helper.sprintf.apply(this, params) && result === $.PrivateBin.helper.sprintf(params); @@ -295,7 +303,9 @@ describe('helper', function () { 'string', 'string', function (prefix, uint, middle, string, postfix) { - var params = [prefix + '%s' + middle + '%d' + postfix, string, uint], + var prefix = prefix.replace(/%(s|d)/g, '%%'), + postfix = postfix.replace(/%(s|d)/g, '%%'), + params = [prefix + '%s' + middle + '%d' + postfix, string, uint], result = prefix + string + middle + uint + postfix; return result === $.PrivateBin.helper.sprintf.apply(this, params) && result === $.PrivateBin.helper.sprintf(params);