1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | // DATA_TEMPLATE: dom_data oTest.fnStart( "Cookie callback" ); $(document).ready( function () { var mPass; /* Note that in order to be fully effective here for saving state, there would need to be a * stringify function to serialise the data array */ oTest.fnTest( "null by default", function () { $('#example').dataTable(); }, function () { return $('#example').dataTable().fnSettings().fnCookieCallback == null; } ); oTest.fnTest( "Number of arguments", function () { $('#example').dataTable( { "bDestroy": true, "bStateSave": true, "fnCookieCallback": function (sName, oData, sExpires, sPath) { mPass = arguments.length; return sName + "=; expires=" + sExpires +"; path=" + sPath; } } ); }, function () { return mPass == 4; } ); oTest.fnTest( "Name", function () { $('#example').dataTable( { "bDestroy": true, "bStateSave": true, "fnCookieCallback": function (sName, oData, sExpires, sPath) { mPass = sName=="SpryMedia_DataTables_example_dom_data.php"; return sName + "=; expires=" + sExpires +"; path=" + sPath; } } ); }, function () { return mPass; } ); oTest.fnTest( "Data", function () { $('#example').dataTable( { "bDestroy": true, "bStateSave": true, "fnCookieCallback": function (sName, oData, sExpires, sPath) { mPass = typeof oData.iStart != 'undefined'; return sName + "=; expires=" + sExpires +"; path=" + sPath; } } ); }, function () { return mPass; } ); oTest.fnTest( "Expires", function () { $('#example').dataTable( { "bDestroy": true, "bStateSave": true, "fnCookieCallback": function (sName, oData, sExpires, sPath) { mPass = typeof sExpires == 'string'; return sName + "=; expires=" + sExpires +"; path=" + sPath; } } ); }, function () { return mPass; } ); oTest.fnTest( "Path", function () { $('#example').dataTable( { "bDestroy": true, "bStateSave": true, "fnCookieCallback": function (sName, oData, sExpires, sPath) { mPass = sPath.match(/media\/unit_testing\/templates/); return sName + "=; expires=" + sExpires +"; path=" + sPath; } } ); }, function () { return mPass; } ); oTest.fnCookieDestroy( $('#example').dataTable() ); oTest.fnComplete(); } ); |