// builtin var assert = require('assert'); var cookie = require('..'); suite('serialize'); test('basic', function() { assert.equal('foo=bar', cookie.serialize('foo', 'bar')); assert.equal('foo=bar%20baz', cookie.serialize('foo', 'bar baz')); }); test('path', function() { assert.equal('foo=bar; Path=/', cookie.serialize('foo', 'bar', { path: '/' })); }); test('secure', function() { assert.equal('foo=bar; Secure', cookie.serialize('foo', 'bar', { secure: true })); assert.equal('foo=bar', cookie.serialize('foo', 'bar', { secure: false })); }); test('domain', function() { assert.equal('foo=bar; Domain=example.com', cookie.serialize('foo', 'bar', { domain: 'example.com' })); }); test('httpOnly', function() { assert.equal('foo=bar; HttpOnly', cookie.serialize('foo', 'bar', { httpOnly: true })); }); test('maxAge', function() { assert.equal('foo=bar; Max-Age=1000', cookie.serialize('foo', 'bar', { maxAge: 1000 })); }); test('escaping', function() { assert.deepEqual('cat=%2B%20', cookie.serialize('cat', '+ ')); }); test('parse->serialize', function() { assert.deepEqual({ cat: 'foo=123&name=baz five' }, cookie.parse( cookie.serialize('cat', 'foo=123&name=baz five'))); assert.deepEqual({ cat: ' ";/' }, cookie.parse( cookie.serialize('cat', ' ";/'))); }); test('unencoded', function() { assert.deepEqual('cat=+ ', cookie.serialize('cat', '+ ', { encode: function(value) { return value; } })); })