diff --git a/HISTORY.md b/HISTORY.md index aca5825e..9eee06f9 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,8 @@ +unreleased +========== + + * Fix error passing `data` option to `Cookie` constructor + 1.16.0 / 2019-04-10 =================== diff --git a/session/cookie.js b/session/cookie.js index 3197d272..a8b4e570 100644 --- a/session/cookie.js +++ b/session/cookie.js @@ -33,7 +33,9 @@ var Cookie = module.exports = function Cookie(options) { } for (var key in options) { - this[key] = options[key] + if (key !== 'data') { + this[key] = options[key] + } } } diff --git a/test/cookie.js b/test/cookie.js index 4cca87bb..b280dff1 100644 --- a/test/cookie.js +++ b/test/cookie.js @@ -44,6 +44,15 @@ describe('new Cookie()', function () { assert.throws(function () { new Cookie(function () {}) }, /argument options/) }) + it('should ignore "data" option', function () { + var cookie = new Cookie({ data: { foo: 'bar' }, path: '/foo' }) + + assert.strictEqual(typeof cookie, 'object') + assert.strictEqual(typeof cookie.data, 'object') + assert.strictEqual(cookie.data.path, '/foo') + assert.notStrictEqual(cookie.data.foo, 'bar') + }) + describe('expires', function () { it('should set expires', function () { var expires = new Date(Date.now() + 60000)