|
|
// 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; } })); })
|