1 // DATA_TEMPLATE: dom_data
2 oTest.fnStart( "bSortClasses" );
4 $(document).ready( function () {
5 /* Check the default */
6 $('#example').dataTable();
9 "Sorting classes are applied by default",
11 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
15 "Sorting classes are applied to all required cells",
17 function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
21 "Sorting classes are not applied to non-sorting columns",
23 function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
27 "Sorting multi-column - add column 1",
29 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
31 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
32 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
37 "Sorting multi-column - add column 2",
39 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
41 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
42 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
43 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
48 "Sorting multi-column - add column 3",
50 oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
53 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
54 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
55 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
56 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
61 "Remove sorting classes on single column sort",
63 $('#example thead th:eq(4)').click();
66 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
67 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
68 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
69 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
74 "Sorting class 1 was added",
76 function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
80 /* Check can disable */
82 "Sorting classes can be disabled",
85 $('#example').dataTable( {
89 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
93 "Sorting classes disabled - add column 1 - no effect",
95 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
97 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
98 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
103 "Sorting classes disabled - add column 2 - no effect",
105 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
107 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
108 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
109 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
114 /* Enable makes no difference */
116 "Sorting classes enabled override",
118 oSession.fnRestore();
119 $('#example').dataTable( {
123 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }