From d83534d513e4c88fb110fe999fb8d5a3fb281b0e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 28 Sep 2016 17:08:25 -0700 Subject: [PATCH] Add specs for cookie changed event --- spec/api-session-spec.js | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/spec/api-session-spec.js b/spec/api-session-spec.js index 2d8d1ca82a2..85fecf55332 100644 --- a/spec/api-session-spec.js +++ b/spec/api-session-spec.js @@ -179,6 +179,51 @@ describe('session module', function () { }) }) }) + + describe('changed events', function () { + it('emits an event when a cookie is set', function (done) { + session.defaultSession.cookies.on('changed', function cookieChanged(event, cookie, cause, removed) { + if (cookie.name !== 'foo') return + + assert.equal(cookie.name, 'foo') + assert.equal(cookie.value, 'bar') + assert.equal(cause, 'explicit') + assert.equal(removed, false) + session.defaultSession.cookies.removeListener('changed', cookieChanged) + done() + }) + session.defaultSession.cookies.set({ + url: url, + name: 'foo', + value: 'bar' + }, function (error) { + if (error) return done(error) + }) + }) + + it('emits an event when a cookie is removed', function (done) { + session.defaultSession.cookies.on('changed', function cookieChanged(event, cookie, cause, removed) { + if (cookie.name !== 'foo' || removed == false) return + + assert.equal(cookie.name, 'foo') + assert.equal(cookie.value, 'bar') + assert.equal(cause, 'overwrite') + assert.equal(removed, true) + session.defaultSession.cookies.removeListener('changed', cookieChanged) + done() + }) + session.defaultSession.cookies.set({ + url: url, + name: 'foo', + value: 'bar' + }, function (error) { + if (error) return done(error) + session.defaultSession.cookies.remove(url, 'foo', function (error) { + if (error) return done(error) + }) + }) + }) + }) }) describe('ses.clearStorageData(options)', function () {