1 // DATA_TEMPLATE: js_data
2 oTest.fnStart( "bSortClasses" );
4 $(document).ready( function () {
5 /* Check the default */
6 $('#example').dataTable( {
11 "Sorting classes are applied by default",
13 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
17 "Sorting classes are applied to all required cells",
19 function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
23 "Sorting classes are not applied to non-sorting columns",
25 function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
29 "Sorting multi-column - add column 1",
31 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
33 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
34 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
39 "Sorting multi-column - add column 2",
41 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
43 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
44 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
45 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
50 "Sorting multi-column - add column 3",
52 oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
55 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
56 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
57 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
58 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
63 "Remove sorting classes on single column sort",
65 $('#example thead th:eq(4)').click();
68 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
69 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
70 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
71 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
76 "Sorting class 1 was added",
78 function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
82 /* Check can disable */
84 "Sorting classes can be disabled",
87 $('#example').dataTable( {
92 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
96 "Sorting classes disabled - add column 1 - no effect",
98 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
100 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
101 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
106 "Sorting classes disabled - add column 2 - no effect",
108 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
110 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
111 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
112 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
117 /* Enable makes no difference */
119 "Sorting classes enabled override",
121 oSession.fnRestore();
122 $('#example').dataTable( {
127 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }