Page MenuHomestyx hydra

Cookie.js
No OneTemporary

Cookie.js

/**
* @requires javelin-cookie
*/
/*
* These all are hope-and-pray tests because cookies have such a piss poor
* API in HTTP and offer so little insight from JS. This is just a
* supplement to the battle testing the cookie library has.
*/
describe('Javelin Cookie', function() {
it('should create a cookie string with the correct format', function() {
var doc = { cookie : null };
var c = new JX.Cookie('omnom');
c.setValue('nommy');
c.setDaysToLive(5);
c.setTarget(doc);
c.setPath('/');
c.setSecure(true);
c.write();
// Should be something like:
// omnom=nommy; path=/; expires=Sat, 10 Dec 2011 05:00:34 GMT; Secure;
expect(doc.cookie).toMatch(
/^omnom=nommy;\sPath=\/;\sExpires=[^;]+;\sSecure;/);
});
it('should properly encode and decode special chars in cookie values',
function() {
var value = '!@#$%^&*()?+|/=\\{}[]<>';
var doc = { cookie : null };
var c = new JX.Cookie('data');
c.setTarget(doc);
c.setValue(value);
c.write();
var data = doc.cookie.substr(0, doc.cookie.indexOf(';'));
// Make sure the raw value is all escaped
expect(data).toEqual(
'data=!%40%23%24%25%5E%26*()%3F%2B%7C%2F%3D%5C%7B%7D%5B%5D%3C%3E');
// Make sure the retrieved value is all unescaped
expect(c.read()).toEqual(value);
});
});

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 24, 7:21 PM (18 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
809385
Default Alt Text
Cookie.js (1 KB)

Event Timeline