Merge branch 'master' into PROT-9-webservice
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 1_dom / aoColumns.iDataSort.js
diff --git a/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js
new file mode 100755 (executable)
index 0000000..e9366ff
--- /dev/null
@@ -0,0 +1,88 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.iDataSort" );
+
+$(document).ready( function () {
+       /* Should know that sorting already works by default from other tests, so we can jump
+        * right in here
+        */
+       var oTable = $('#example').dataTable( {
+               "aoColumns": [
+                       null,
+                       { "iDataSort": 4 },
+                       null,
+                       null,
+                       null
+               ]
+       } );
+       var oSettings = oTable.fnSettings();
+       
+       oTest.fnTest( 
+               "Sorting on first column is uneffected",
+               null,
+               function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+       );
+       
+       oTest.fnTest( 
+               "Sorting on second column is the order of the fifth",
+               function () { $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+       );
+       
+       oTest.fnTest( 
+               "Reserve sorting on second column uses fifth column as well",
+               function () { $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+       );
+       
+       oTest.fnTest( 
+               "Sorting on 5th column retains it's own sorting",
+               function () { $('#example thead th:eq(4)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+       );
+       
+       
+       oTest.fnTest( 
+               "Use 2nd col for sorting 5th col and via-versa - no effect on first col sorting",
+               function () {
+                       mTmp = 0;
+                       oSession.fnRestore();
+                       oTable = $('#example').dataTable( {
+                               "aoColumns": [
+                                       null,
+                                       { "iDataSort": 4 },
+                                       null,
+                                       null,
+                                       { "iDataSort": 1 }
+                               ]
+                       } );
+               },
+               function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+       );
+       
+       oTest.fnTest( 
+               "2nd col sorting uses fifth col",
+               function () { $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+       );
+       
+       oTest.fnTest( 
+               "2nd col sorting uses fifth col - reversed",
+               function () { $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+       );
+       
+       oTest.fnTest( 
+               "5th col sorting uses 2nd col",
+               function () { $('#example thead th:eq(4)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+       );
+       
+       oTest.fnTest( 
+               "5th col sorting uses 2nd col - reversed",
+               function () { $('#example thead th:eq(4)').click(); },
+               function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'Seamonkey 1.1'; }
+       );
+       
+       
+       oTest.fnComplete();
+} );
\ No newline at end of file