Add datatables-1.9.4 and jquery-1.10.2 libraries
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 6_delayed_rendering / bSortClasses.js
1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "bSortClasses" );
3
4 $(document).ready( function () {
5         /* Check the default */
6         $('#example').dataTable( {
7                 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
8                 "bDeferRender": true
9         } );
10         
11         oTest.fnWaitTest( 
12                 "Sorting classes are applied by default",
13                 null,
14                 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
15         );
16         
17         oTest.fnWaitTest( 
18                 "Sorting classes are applied to all required cells",
19                 null,
20                 function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
21         );
22         
23         oTest.fnWaitTest( 
24                 "Sorting classes are not applied to non-sorting columns",
25                 null,
26                 function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
27         );
28         
29         oTest.fnWaitTest( 
30                 "Sorting multi-column - add column 1",
31                 function () { 
32                         oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
33                 function () {
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');
36                 }
37         );
38         
39         oTest.fnWaitTest( 
40                 "Sorting multi-column - add column 2",
41                 function () { 
42                         oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
43                 function () {
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');
47                 }
48         );
49         
50         oTest.fnWaitTest( 
51                 "Sorting multi-column - add column 3",
52                 function () { 
53                         oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
54                 },
55                 function () {
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');
60                 }
61         );
62         
63         oTest.fnWaitTest( 
64                 "Remove sorting classes on single column sort",
65                 function () { 
66                         $('#example thead th:eq(4)').click();
67                 },
68                 function () {
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;
73                 }
74         );
75         
76         oTest.fnWaitTest( 
77                 "Sorting class 1 was added",
78                 null,
79                 function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
80         );
81         
82         
83         /* Check can disable */
84         oTest.fnWaitTest( 
85                 "Sorting classes can be disabled",
86                 function () {
87                         oSession.fnRestore();
88                         $('#example').dataTable( {
89                                 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
90                                 "bDeferRender": true,
91                                 "bSortClasses": false
92                         } );
93                 },
94                 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
95         );
96         
97         oTest.fnWaitTest( 
98                 "Sorting classes disabled - add column 1 - no effect",
99                 function () { 
100                         oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
101                 function () {
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;
104                 }
105         );
106         
107         oTest.fnWaitTest( 
108                 "Sorting classes disabled - add column 2 - no effect",
109                 function () { 
110                         oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
111                 function () {
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;
115                 }
116         );
117         
118         
119         /* Enable makes no difference */
120         oTest.fnWaitTest( 
121                 "Sorting classes enabled override",
122                 function () {
123                         oSession.fnRestore();
124                         $('#example').dataTable( {
125                                 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
126                                 "bDeferRender": true,
127                                 "bSortClasses": true
128                         } );
129                 },
130                 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
131         );
132         
133         
134         oTest.fnComplete();
135 } );