1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "bSortClasses" );
4 $(document).ready( function () {
5 /* Check the default */
6 $('#example').dataTable( {
7 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
12 "Sorting classes are applied by default",
14 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
18 "Sorting classes are applied to all required cells",
20 function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
24 "Sorting classes are not applied to non-sorting columns",
26 function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
30 "Sorting multi-column - add column 1",
32 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
34 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
35 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
40 "Sorting multi-column - add column 2",
42 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
44 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
45 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
46 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
51 "Sorting multi-column - add column 3",
53 oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
56 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
57 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
58 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
59 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
64 "Remove sorting classes on single column sort",
66 $('#example thead th:eq(4)').click();
69 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
70 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
71 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
72 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
77 "Sorting class 1 was added",
79 function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
83 /* Check can disable */
85 "Sorting classes can be disabled",
88 $('#example').dataTable( {
89 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
94 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
98 "Sorting classes disabled - add column 1 - no effect",
100 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
102 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
103 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
108 "Sorting classes disabled - add column 2 - no effect",
110 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
112 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
113 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
114 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
119 /* Enable makes no difference */
121 "Sorting classes enabled override",
123 oSession.fnRestore();
124 $('#example').dataTable( {
125 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
126 "bDeferRender": true,
130 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }