From 62a768b40d3648be8c88c5a5ecf0bc05b34fe100 Mon Sep 17 00:00:00 2001 From: Karl Purkardt Date: Thu, 30 Jun 2016 15:21:34 +0100 Subject: [PATCH] Add test to catch issue with preserveCache not preserving cache correctly --- test/proxyquire-cache.js | 13 ++++++++++++- test/samples/count.js | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 test/samples/count.js diff --git a/test/proxyquire-cache.js b/test/proxyquire-cache.js index 19596f3..441e970 100644 --- a/test/proxyquire-cache.js +++ b/test/proxyquire-cache.js @@ -21,6 +21,17 @@ describe("Proxyquire", function() { }); describe('preserveCache()', function() { + + it('should return a cache of the module after first proxyquire call', function() { + var proxyquire = require('..').preserveCache(); + var count1 = proxyquire('./samples/count', {}); + var count2 = proxyquire('./samples/count', {}); + var count3 = proxyquire('./samples/count', {}); + assert.equal(count1(), 1); + assert.equal(count2(), 2); + assert.equal(count3(), 3); + }); + it('returns a reference to itself, so it can be chained', function() { var proxyquire = require('..'); assert.equal(proxyquire.preserveCache(), proxyquire); @@ -109,4 +120,4 @@ describe("Proxyquire", function() { }) }); }); -}); \ No newline at end of file +}); diff --git a/test/samples/count.js b/test/samples/count.js new file mode 100644 index 0000000..019ed95 --- /dev/null +++ b/test/samples/count.js @@ -0,0 +1,4 @@ +var count = 0; +module.exports = function() { + return ++count; +};