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 |
} ); |