Merge branch 'master' into PROT-9-webservice
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 1_dom / aoColumns.bUseRendered.js
diff --git a/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js
new file mode 100755 (executable)
index 0000000..161c412
--- /dev/null
@@ -0,0 +1,145 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.bUseRendered" );
+
+/* bUseRendered is used to alter sorting data, if false then the original data is used for
+ * sorting rather than the rendered data
+ */
+
+$(document).ready( function () {
+       /* Check the default */
+       var mTmp = 0;
+       
+       var oTable = $('#example').dataTable( {
+               "aoColumns": [
+                       null,
+                       { "fnRender": function (a) {
+                               if ( mTmp == 0 ) {
+                                       mTmp++;
+                                       return "aaa";
+                               } else
+                                       return a.aData[a.iDataColumn];
+                       } },
+                       null,
+                       null,
+                       null
+               ]
+       } );
+       var oSettings = oTable.fnSettings();
+       
+       oTest.fnTest( 
+               "Default for bUseRendered is true - rendered data is used for sorting",
+               function () { $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
+       );
+       
+       oTest.fnTest( 
+               "When bUseRendered is false, original data is used for sorting",
+               function () {
+                       mTmp = 0;
+                       oSession.fnRestore();
+                       oTable = $('#example').dataTable( {
+                               "aoColumns": [
+                                       null,
+                                       { 
+                                               "bUseRendered": false,
+                                               "fnRender": function (a) {
+                                                       if ( mTmp == 0 ) {
+                                                               mTmp++;
+                                                               return "aaa";
+                                                       } else {
+                                                               return a.aData[a.iDataColumn];
+                                                       }
+                                               }
+                                       },
+                                       null,
+                                       null,
+                                       null
+                               ]
+                       } );
+                       $('#example thead th:eq(1)').click();
+               },
+               function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+       );
+       
+       
+       oTest.fnTest( 
+               "bUseRendered set to false on one columns and true (default) on two others",
+               function () {
+                       mTmp = 0;
+                       var mTmp2 = 0;
+                       var mTmp3 = 0;
+                       
+                       oSession.fnRestore();
+                       oTable = $('#example').dataTable( {
+                               "aoColumns": [
+                                       {
+                                               "fnRender": function (a) {
+                                                       if ( mTmp == 0 ) {
+                                                               mTmp++;
+                                                               return "aaa1";
+                                                       } else {
+                                                               return a.aData[a.iDataColumn];
+                                                       }
+                                               }
+                                       },
+                                       { 
+                                               "bUseRendered": false,
+                                               "fnRender": function (a) {
+                                                       if ( mTmp2 == 0 ) {
+                                                               mTmp2++;
+                                                               return "aaa2";
+                                                       } else {
+                                                               return a.aData[a.iDataColumn];
+                                                       }
+                                               }
+                                       },
+                                       {
+                                               "fnRender": function (a) {
+                                                       if ( mTmp3 == 0 ) {
+                                                               mTmp3++;
+                                                               return "zzz3";
+                                                       } else {
+                                                               return a.aData[a.iDataColumn];
+                                                       }
+                                               }
+                                       },
+                                       null,
+                                       null
+                               ]
+                       } );
+               },
+               function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
+       );
+       
+       oTest.fnTest( 
+               "Multi-column rendering - 2nd column sorting",
+               function () { $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+       );
+       
+       oTest.fnTest( 
+               "Multi-column rendering - 3rd column sorting",
+               function () {
+                       $('#example thead th:eq(2)').click();
+                       $('#example thead th:eq(2)').click();
+               },
+               function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
+       );
+       
+       oTest.fnTest( 
+               "Multi-column rendering - 4th column sorting",
+               function () { $('#example thead th:eq(3)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
+       );
+       
+       oTest.fnTest( 
+               "Multi-column rendering - 5th column sorting",
+               function () { $('#example thead th:eq(4)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+       );
+       
+       
+       
+       
+       oTest.fnComplete();
+} );
\ No newline at end of file