Merge branch 'master' into PROT-9-webservice
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 1_dom / fnCookieCallback.js
diff --git a/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/fnCookieCallback.js b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/fnCookieCallback.js
new file mode 100755 (executable)
index 0000000..31d0393
--- /dev/null
@@ -0,0 +1,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();
+} );
\ No newline at end of file