diff options
Diffstat (limited to 'data/extensions/https-everywhere@eff.org/test/testing_utils.js')
-rw-r--r-- | data/extensions/https-everywhere@eff.org/test/testing_utils.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/data/extensions/https-everywhere@eff.org/test/testing_utils.js b/data/extensions/https-everywhere@eff.org/test/testing_utils.js new file mode 100644 index 0000000..eddfadb --- /dev/null +++ b/data/extensions/https-everywhere@eff.org/test/testing_utils.js @@ -0,0 +1,29 @@ +'use strict' + +function Mock() { + let out = function() { + out.calledWith = Array.from(arguments); + } + return out; +} + +function stub(name, value) { + let parts = name.split('.'), + last = parts.pop(), + part = global; + parts.forEach(partName => { + if (!part.hasOwnProperty(partName)) { + part[partName] = {}; + } + part = part[partName]; + }); + part[last] = value; +} + +function stubber(namesValues) { + namesValues.forEach(nameValue => { + stub(...nameValue); + }); +} + +Object.assign(exports, {Mock, stub, stubber}); |