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