<html> <head> <title>testing Cookies</title> <style type="text/css"> @import "../resources/dojo.css"; </style> <script type="text/javascript" src="../dojo.js" djConfig="isDebug:true"></script> <script type="text/javascript" src="../cookie.js"></script> <script type="text/javascript"> dojo.require("doh.runner"); dojo.addOnLoad(function(){ doh.register("t", [ { name: "basicSet", runTest: function(t){ // make sure the cookie is dead var old = new Date(1976, 8, 15); document.cookie = "dojo_test=blah; expires=" + old.toUTCString(); t.is(-1, document.cookie.indexOf("dojo_test=")); // set the new one var n = "dojo_test"; var v = "test value"; dojo.cookie(n, v); t.t(document.cookie.indexOf(n+"=") >= 0); var start = document.cookie.indexOf(n+"=") + n.length + 1; var end = document.cookie.indexOf(";", start); if(end == -1){ end = document.cookie.length; } t.is(v, decodeURIComponent(document.cookie.substring(start, end))); } }, { name: "basicGet", runTest: function(t){ // set the cookie var n = "dojo_test"; var v = "foofoo"; document.cookie = n + "=" + v; t.is(v, dojo.cookie(n)); } }, { name: "daysAsNumber", runTest: function(t){ // set a cookie with a numerical expires dojo.cookie("dojo_num", "foo", { expires: 10 }); t.is("foo", dojo.cookie("dojo_num")); // remove the cookie by setting it with a negative // numerical expires. value doesn't really matter here dojo.cookie("dojo_num", "-deleted-", { expires: -10 }); t.is(null, dojo.cookie("dojo_num")); } }, { name: "nameSuffix", runTest: function(t){ // set two cookies with the same suffix dojo.cookie("user", "123", { expires: 10 }); dojo.cookie("xuser", "abc", { expires: 10 }); t.is("123", dojo.cookie("user")); t.is("abc", dojo.cookie("xuser")); // remove the cookie by setting it with a negative // numerical expires. value doesn't really matter here dojo.cookie("user", "-deleted-", { expires: -10 }); t.is(null, dojo.cookie("user")); dojo.cookie("xuser", "-deleted-", { expires: -10 }); t.is(null, dojo.cookie("xuser")); } } ] ); doh.run(); }); </script> </head> <body> </body> </html>