Add datatables-1.9.4 and jquery-1.10.2 libraries
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 5_ajax_objects / aaSorting.js
1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "aaSorting" );
3
4 $(document).ready( function () {
5         /* Check the default */
6         var oTable = $('#example').dataTable( {
7                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
8                 "aoColumns": [
9                         { "mData": "engine" },
10                         { "mData": "browser" },
11                         { "mData": "platform" },
12                         { "mData": "version" },
13                         { "mData": "grade" }
14                 ]
15         } );
16         var oSettings = oTable.fnSettings();
17         
18         oTest.fnWaitTest( 
19                 "Default sorting is single column",
20                 null,
21                 function () {
22                         return oSettings.aaSorting.length == 1 && typeof oSettings.aaSorting[0] == 'object';
23                 }
24         );
25         
26         oTest.fnWaitTest( 
27                 "Default sorting is first column asc",
28                 null,
29                 function () {
30                         return oSettings.aaSorting[0].length == 3 && oSettings.aaSorting[0][0] == 0 &&
31                                 oSettings.aaSorting[0][1] == 'asc';
32                 }
33         );
34         
35         oTest.fnWaitTest( 
36                 "Sorting is applied",
37                 null,
38                 function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
39         );
40         
41         
42         oTest.fnWaitTest( 
43                 "Custom sorting on single string column asc",
44                 function () {
45                         oSession.fnRestore();
46                         $('#example').dataTable( {
47                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
48                                 "aoColumns": [
49                                         { "mData": "engine" },
50                                         { "mData": "browser" },
51                                         { "mData": "platform" },
52                                         { "mData": "version" },
53                                         { "mData": "grade" }
54                                 ],
55                                 "aaSorting": [['1','asc']]
56                         } );
57                 },
58                 function () { return $('#example tbody td:eq(1)').html() == "All others"; }
59         );
60         
61         
62         oTest.fnWaitTest( 
63                 "Custom sorting on single string column desc",
64                 function () {
65                         oSession.fnRestore();
66                         $('#example').dataTable( {
67                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
68                                 "aoColumns": [
69                                         { "mData": "engine" },
70                                         { "mData": "browser" },
71                                         { "mData": "platform" },
72                                         { "mData": "version" },
73                                         { "mData": "grade" }
74                                 ],
75                                 "aaSorting": [['1','desc']]
76                         } );
77                 },
78                 function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
79         );
80         
81         
82         oTest.fnWaitTest( 
83                 "Custom sorting on single int column asc",
84                 function () {
85                         oSession.fnRestore();
86                         $('#example').dataTable( {
87                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
88                                 "aoColumns": [
89                                         { "mData": "engine" },
90                                         { "mData": "browser" },
91                                         { "mData": "platform" },
92                                         { "mData": "version" },
93                                         { "mData": "grade" }
94                                 ],
95                                 "aaSorting": [['1','asc']]
96                         } );
97                 },
98                 function () { return $('#example tbody td:eq(3)').html() == "-"; }
99         );
100         
101         
102         oTest.fnWaitTest( 
103                 "Custom sorting on single int column desc",
104                 function () {
105                         oSession.fnRestore();
106                         $('#example').dataTable( {
107                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
108                                 "aoColumns": [
109                                         { "mData": "engine" },
110                                         { "mData": "browser" },
111                                         { "mData": "platform" },
112                                         { "mData": "version" },
113                                         { "mData": "grade" }
114                                 ],
115                                 "aaSorting": [['1','desc']]
116                         } );
117                 },
118                 function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
119         );
120         
121         
122         oTest.fnWaitTest( 
123                 "Multi-column sorting (2 column) - string asc / string asc",
124                 function () {
125                         oSession.fnRestore();
126                         $('#example').dataTable( {
127                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
128                                 "aoColumns": [
129                                         { "mData": "engine" },
130                                         { "mData": "browser" },
131                                         { "mData": "platform" },
132                                         { "mData": "version" },
133                                         { "mData": "grade" }
134                                 ],
135                                 "aaSorting": [['0','asc'], ['1','asc']]
136                         } );
137                 },
138                 function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
139         );
140         
141         oTest.fnWaitTest( 
142                 "Multi-column sorting (2 column) - string asc / string desc",
143                 function () {
144                         oSession.fnRestore();
145                         $('#example').dataTable( {
146                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
147                                 "aoColumns": [
148                                         { "mData": "engine" },
149                                         { "mData": "browser" },
150                                         { "mData": "platform" },
151                                         { "mData": "version" },
152                                         { "mData": "grade" }
153                                 ],
154                                 "aaSorting": [['0','asc'], ['1','desc']]
155                         } );
156                 },
157                 function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
158         );
159         
160         oTest.fnWaitTest( 
161                 "Multi-column sorting (2 column) - string desc / string asc",
162                 function () {
163                         oSession.fnRestore();
164                         $('#example').dataTable( {
165                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
166                                 "aoColumns": [
167                                         { "mData": "engine" },
168                                         { "mData": "browser" },
169                                         { "mData": "platform" },
170                                         { "mData": "version" },
171                                         { "mData": "grade" }
172                                 ],
173                                 "aaSorting": [['0','desc'], ['1','asc']]
174                         } );
175                 },
176                 function () { return $('#example tbody td:eq(1)').html() == "iPod Touch / iPhone"; }
177         );
178         
179         oTest.fnWaitTest( 
180                 "Multi-column sorting (2 column) - string desc / string desc",
181                 function () {
182                         oSession.fnRestore();
183                         $('#example').dataTable( {
184                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
185                                 "aoColumns": [
186                                         { "mData": "engine" },
187                                         { "mData": "browser" },
188                                         { "mData": "platform" },
189                                         { "mData": "version" },
190                                         { "mData": "grade" }
191                                 ],
192                                 "aaSorting": [['0','desc'], ['1','desc']]
193                         } );
194                 },
195                 function () { return $('#example tbody td:eq(1)').html() == "Safari 3.0"; }
196         );
197         
198         
199         oTest.fnWaitTest( 
200                 "Multi-column sorting (2 column) - string asc / int asc",
201                 function () {
202                         oSession.fnRestore();
203                         $('#example').dataTable( {
204                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
205                                 "aoColumns": [
206                                         { "mData": "engine" },
207                                         { "mData": "browser" },
208                                         { "mData": "platform" },
209                                         { "mData": "version" },
210                                         { "mData": "grade" }
211                                 ],
212                                 "aaSorting": [['0','asc'], ['3','asc']]
213                         } );
214                 },
215                 function () { return $('#example tbody td:eq(3)').html() == "1"; }
216         );
217         
218         oTest.fnWaitTest( 
219                 "Multi-column sorting (2 column) - string asc / int desc",
220                 function () {
221                         oSession.fnRestore();
222                         $('#example').dataTable( {
223                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
224                                 "aoColumns": [
225                                         { "mData": "engine" },
226                                         { "mData": "browser" },
227                                         { "mData": "platform" },
228                                         { "mData": "version" },
229                                         { "mData": "grade" }
230                                 ],
231                                 "aaSorting": [['0','asc'], ['3','desc']]
232                         } );
233                 },
234                 function () { return $('#example tbody td:eq(3)').html() == "1.9"; }
235         );
236         
237         oTest.fnWaitTest( 
238                 "Multi-column sorting (2 column) - string desc / int asc",
239                 function () {
240                         oSession.fnRestore();
241                         $('#example').dataTable( {
242                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
243                                 "aoColumns": [
244                                         { "mData": "engine" },
245                                         { "mData": "browser" },
246                                         { "mData": "platform" },
247                                         { "mData": "version" },
248                                         { "mData": "grade" }
249                                 ],
250                                 "aaSorting": [['0','desc'], ['3','asc']]
251                         } );
252                 },
253                 function () { return $('#example tbody td:eq(3)').html() == "125.5"; }
254         );
255         
256         oTest.fnWaitTest( 
257                 "Multi-column sorting (2 column) - string desc / int desc",
258                 function () {
259                         oSession.fnRestore();
260                         $('#example').dataTable( {
261                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
262                                 "aoColumns": [
263                                         { "mData": "engine" },
264                                         { "mData": "browser" },
265                                         { "mData": "platform" },
266                                         { "mData": "version" },
267                                         { "mData": "grade" }
268                                 ],
269                                 "aaSorting": [['0','desc'], ['3','desc']]
270                         } );
271                 },
272                 function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
273         );
274         
275         oTest.fnWaitTest( 
276                 "Multi-column sorting (3 column) - string asc / int asc / string asc",
277                 function () {
278                         oSession.fnRestore();
279                         $('#example').dataTable( {
280                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
281                                 "aoColumns": [
282                                         { "mData": "engine" },
283                                         { "mData": "browser" },
284                                         { "mData": "platform" },
285                                         { "mData": "version" },
286                                         { "mData": "grade" }
287                                 ],
288                                 "aaSorting": [['0','asc'], ['3','asc'], ['1','asc']]
289                         } );
290                 },
291                 function () { return $('#example tbody tr:eq(7) td:eq(1)').html() == "Firefox 1.0"; }
292         );
293         
294         
295         oTest.fnComplete();
296 } );