diff --git a/_src/lib/node_cache.coffee b/_src/lib/node_cache.coffee index 123d799..390bbd3 100644 --- a/_src/lib/node_cache.coffee +++ b/_src/lib/node_cache.coffee @@ -593,7 +593,7 @@ module.exports = class NodeCache extends EventEmitter # if the data is a Promise, use defined default # (can't calculate actual/resolved value size synchronously) @options.promiseValueSize - else if typeof value is "object" + else if value? and typeof value is "object" # if the data is an Object multiply each element with a defined default length @options.objectValueSize * Object.keys( value ).length else if typeof value is "boolean" diff --git a/_src/test/mocha_test.coffee b/_src/test/mocha_test.coffee index c56293c..8ff8e28 100644 --- a/_src/test/mocha_test.coffee +++ b/_src/test/mocha_test.coffee @@ -1143,4 +1143,24 @@ describe "`#{pkg.name}@#{pkg.version}` on `node@#{process.version}`", () -> return + describe "Issues", () -> + describe("#151 - cannot set null", () -> + cache = null + before(() -> + cache = new nodeCache() + return + ) + + it("set the value `null` - this should not throw or otherwise fail", () -> + cache.set("test", null) + return + ) + + it("should also return `null`", () -> + should(cache.get("test")).be.null() + return + ) + return + ) + return return