X-Git-Url: http://git.squeep.com/?p=squeep-api-dingus;a=blobdiff_plain;f=test%2Flib%2Fdingus.js;fp=test%2Flib%2Fdingus.js;h=01094a7c8e94bc9647411b422d76f8339783a0cd;hp=8913436980c22cd5ad076af0dd39f2f722625381;hb=5b18a1fa46ef9c41f6089e5db259af80f3e98b0a;hpb=13945cdabe3e3ebcdb262df13857cb3a74d71a57 diff --git a/test/lib/dingus.js b/test/lib/dingus.js index 8913436..01094a7 100644 --- a/test/lib/dingus.js +++ b/test/lib/dingus.js @@ -12,7 +12,7 @@ const Enum = require('../../lib/enum'); const noExpectedException = 'did not get expected exception'; -const _nop = () => {}; +const _nop = () => undefined; const _logFn = (process.env['VERBOSE_TESTS'] && console.log) || _nop; const noLogger = { debug: _logFn, @@ -180,6 +180,71 @@ describe('Dingus', function () { }); }); // clientAddressContext + describe('ingestCookie', function () { + let req, res, ctx; + beforeEach(function () { + req = { + getHeader: sinon.stub(), + }; + ctx = {}; + }); + it('covers no header', function () { + const expected = {}; + Dingus.ingestCookie(req, res, ctx); + assert.deepStrictEqual(ctx.cookie, expected); + }); + it('covers non variable', function () { + req.getHeader.returns('foo'); + const expected = { + foo: null, + }; + Dingus.ingestCookie(req, res, ctx); + assert.deepStrictEqual(ctx.cookie, expected); + }); + it('parses cookies', function () { + req.getHeader.returns('foo=bar; baz="quux"'); + const expected = { + foo: 'bar', + baz: 'quux', + }; + Dingus.ingestCookie(req, res, ctx); + assert.deepStrictEqual(ctx.cookie, expected); + }); + it('parses nulls', function () { + req.getHeader.returns('foo=; bar='); + const expected = { + foo: '', + bar: '', + }; + Dingus.ingestCookie(req, res, ctx); + assert.deepStrictEqual(ctx.cookie, expected); + }); + it('parses non-uri-encoded', function () { + req.getHeader.returns('foo%=%qux'); + const expected = { + 'foo%': '%qux', + }; + Dingus.ingestCookie(req, res, ctx); + assert.deepStrictEqual(ctx.cookie, expected); + }); + it('covers nameless cookie', function () { + req.getHeader.returns('=bar'); + const expected = { + }; + Dingus.ingestCookie(req, res, ctx); + assert.deepStrictEqual(ctx.cookie, expected); + + }); + it('covers duplicate cookie', function () { + req.getHeader.returns('foo=bar; foo="quux"'); + const expected = { + foo: 'bar', + }; + Dingus.ingestCookie(req, res, ctx); + assert.deepStrictEqual(ctx.cookie, expected); + }); + }); // ingestCookie + describe('getRequestContentType', function () { let req; beforeEach(function () {