1 |
// DATA_TEMPLATE: empty_table |
2 |
oTest.fnStart( "sDom" ); |
3 |
|
4 |
/* This is going to be brutal on the browser! There is a lot that can be tested here... */ |
5 |
|
6 |
$(document).ready( function () { |
7 |
/* Check the default */ |
8 |
var oTable = $('#example').dataTable( { |
9 |
"sAjaxSource": "../../../examples/ajax/sources/objects.txt", |
10 |
"aoColumns": [ |
11 |
{ "mData": "engine" }, |
12 |
{ "mData": "browser" }, |
13 |
{ "mData": "platform" }, |
14 |
{ "mData": "version" }, |
15 |
{ "mData": "grade" } |
16 |
] |
17 |
} ); |
18 |
var oSettings = oTable.fnSettings(); |
19 |
|
20 |
oTest.fnWaitTest( |
21 |
"Default DOM varaible", |
22 |
null, |
23 |
function () { return oSettings.sDom == "lfrtip"; } |
24 |
); |
25 |
|
26 |
oTest.fnWaitTest( |
27 |
"Default DOM in document", |
28 |
null, |
29 |
function () { |
30 |
var nNodes = $('#demo div, #demo table'); |
31 |
var nWrapper = document.getElementById('example_wrapper'); |
32 |
var nLength = document.getElementById('example_length'); |
33 |
var nFilter = document.getElementById('example_filter'); |
34 |
var nInfo = document.getElementById('example_info'); |
35 |
var nPaging = document.getElementById('example_paginate'); |
36 |
var nTable = document.getElementById('example'); |
37 |
|
38 |
var bReturn = |
39 |
nNodes[0] == nWrapper && |
40 |
nNodes[1] == nLength && |
41 |
nNodes[2] == nFilter && |
42 |
nNodes[3] == nTable && |
43 |
nNodes[4] == nInfo && |
44 |
nNodes[5] == nPaging; |
45 |
return bReturn; |
46 |
} |
47 |
); |
48 |
|
49 |
oTest.fnWaitTest( |
50 |
"Check example 1 in code propagates", |
51 |
function () { |
52 |
oSession.fnRestore(); |
53 |
oTable = $('#example').dataTable( { |
54 |
"sAjaxSource": "../../../examples/ajax/sources/objects.txt", |
55 |
"aoColumnDefs": [ |
56 |
{ "mData": "engine", "aTargets": [0] }, |
57 |
{ "mData": "browser", "aTargets": [1] }, |
58 |
{ "mData": "platform", "aTargets": [2] }, |
59 |
{ "mData": "version", "aTargets": [3] }, |
60 |
{ "mData": "grade", "aTargets": [4] } |
61 |
], |
62 |
"sDom": '<"wrapper"flipt>' |
63 |
} ); |
64 |
oSettings = oTable.fnSettings(); |
65 |
}, |
66 |
function () { return oSettings.sDom == '<"wrapper"flipt>'; } |
67 |
); |
68 |
|
69 |
oTest.fnWaitTest( |
70 |
"Check example 1 in DOM", |
71 |
null, |
72 |
function () { |
73 |
var jqNodes = $('#demo div, #demo table'); |
74 |
var nNodes = []; |
75 |
|
76 |
/* Strip the paging nodes */ |
77 |
for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ ) |
78 |
{ |
79 |
if ( jqNodes[i].getAttribute('id') != "example_previous" && |
80 |
jqNodes[i].getAttribute('id') != "example_next" ) |
81 |
{ |
82 |
nNodes.push( jqNodes[i] ); |
83 |
} |
84 |
} |
85 |
|
86 |
var nWrapper = document.getElementById('example_wrapper'); |
87 |
var nLength = document.getElementById('example_length'); |
88 |
var nFilter = document.getElementById('example_filter'); |
89 |
var nInfo = document.getElementById('example_info'); |
90 |
var nPaging = document.getElementById('example_paginate'); |
91 |
var nTable = document.getElementById('example'); |
92 |
var nCustomWrapper = $('div.wrapper')[0]; |
93 |
|
94 |
var bReturn = |
95 |
nNodes[0] == nWrapper && |
96 |
nNodes[1] == nCustomWrapper && |
97 |
nNodes[2] == nFilter && |
98 |
nNodes[3] == nLength && |
99 |
nNodes[4] == nInfo && |
100 |
nNodes[5] == nPaging && |
101 |
nNodes[6] == nTable; |
102 |
return bReturn; |
103 |
} |
104 |
); |
105 |
|
106 |
oTest.fnWaitTest( |
107 |
"Check example 2 in DOM", |
108 |
function () { |
109 |
oSession.fnRestore(); |
110 |
$('#example').dataTable( { |
111 |
"sAjaxSource": "../../../examples/ajax/sources/objects.txt", |
112 |
"aoColumnDefs": [ |
113 |
{ "mData": "engine", "aTargets": [0] }, |
114 |
{ "mData": "browser", "aTargets": [1] }, |
115 |
{ "mData": "platform", "aTargets": [2] }, |
116 |
{ "mData": "version", "aTargets": [3] }, |
117 |
{ "mData": "grade", "aTargets": [4] } |
118 |
], |
119 |
"sDom": '<lf<t>ip>' |
120 |
} ); |
121 |
}, |
122 |
function () { |
123 |
var jqNodes = $('#demo div, #demo table'); |
124 |
var nNodes = []; |
125 |
var nCustomWrappers = [] |
126 |
|
127 |
/* Strip the paging nodes */ |
128 |
for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ ) |
129 |
{ |
130 |
if ( jqNodes[i].getAttribute('id') != "example_previous" && |
131 |
jqNodes[i].getAttribute('id') != "example_next" ) |
132 |
{ |
133 |
nNodes.push( jqNodes[i] ); |
134 |
} |
135 |
|
136 |
/* Only the two custom divs don't have class names */ |
137 |
if ( jqNodes[i].className == "" ) |
138 |
{ |
139 |
nCustomWrappers.push( jqNodes[i] ); |
140 |
} |
141 |
} |
142 |
|
143 |
var nWrapper = document.getElementById('example_wrapper'); |
144 |
var nLength = document.getElementById('example_length'); |
145 |
var nFilter = document.getElementById('example_filter'); |
146 |
var nInfo = document.getElementById('example_info'); |
147 |
var nPaging = document.getElementById('example_paginate'); |
148 |
var nTable = document.getElementById('example'); |
149 |
|
150 |
var bReturn = |
151 |
nNodes[0] == nWrapper && |
152 |
nNodes[1] == nCustomWrappers[0] && |
153 |
nNodes[2] == nLength && |
154 |
nNodes[3] == nFilter && |
155 |
nNodes[4] == nCustomWrappers[1] && |
156 |
nNodes[5] == nTable && |
157 |
nNodes[6] == nInfo && |
158 |
nNodes[7] == nPaging; |
159 |
return bReturn; |
160 |
} |
161 |
); |
162 |
|
163 |
oTest.fnWaitTest( |
164 |
"Check no length element", |
165 |
function () { |
166 |
oSession.fnRestore(); |
167 |
$('#example').dataTable( { |
168 |
"sAjaxSource": "../../../examples/ajax/sources/objects.txt", |
169 |
"aoColumnDefs": [ |
170 |
{ "mData": "engine", "aTargets": [0] }, |
171 |
{ "mData": "browser", "aTargets": [1] }, |
172 |
{ "mData": "platform", "aTargets": [2] }, |
173 |
{ "mData": "version", "aTargets": [3] }, |
174 |
{ "mData": "grade", "aTargets": [4] } |
175 |
], |
176 |
"sDom": 'frtip' |
177 |
} ); |
178 |
}, |
179 |
function () { |
180 |
var nNodes = $('#demo div, #demo table'); |
181 |
var nWrapper = document.getElementById('example_wrapper'); |
182 |
var nLength = document.getElementById('example_length'); |
183 |
var nFilter = document.getElementById('example_filter'); |
184 |
var nInfo = document.getElementById('example_info'); |
185 |
var nPaging = document.getElementById('example_paginate'); |
186 |
var nTable = document.getElementById('example'); |
187 |
|
188 |
var bReturn = |
189 |
nNodes[0] == nWrapper && |
190 |
null == nLength && |
191 |
nNodes[1] == nFilter && |
192 |
nNodes[2] == nTable && |
193 |
nNodes[3] == nInfo && |
194 |
nNodes[4] == nPaging; |
195 |
return bReturn; |
196 |
} |
197 |
); |
198 |
|
199 |
oTest.fnWaitTest( |
200 |
"Check no filter element", |
201 |
function () { |
202 |
oSession.fnRestore(); |
203 |
$('#example').dataTable( { |
204 |
"sAjaxSource": "../../../examples/ajax/sources/objects.txt", |
205 |
"aoColumnDefs": [ |
206 |
{ "mData": "engine", "aTargets": [0] }, |
207 |
{ "mData": "browser", "aTargets": [1] }, |
208 |
{ "mData": "platform", "aTargets": [2] }, |
209 |
{ "mData": "version", "aTargets": [3] }, |
210 |
{ "mData": "grade", "aTargets": [4] } |
211 |
], |
212 |
"sDom": 'lrtip' |
213 |
} ); |
214 |
}, |
215 |
function () { |
216 |
var nNodes = $('#demo div, #demo table'); |
217 |
var nWrapper = document.getElementById('example_wrapper'); |
218 |
var nLength = document.getElementById('example_length'); |
219 |
var nFilter = document.getElementById('example_filter'); |
220 |
var nInfo = document.getElementById('example_info'); |
221 |
var nPaging = document.getElementById('example_paginate'); |
222 |
var nTable = document.getElementById('example'); |
223 |
|
224 |
var bReturn = |
225 |
nNodes[0] == nWrapper && |
226 |
nNodes[1] == nLength && |
227 |
null == nFilter && |
228 |
nNodes[2] == nTable && |
229 |
nNodes[3] == nInfo && |
230 |
nNodes[4] == nPaging; |
231 |
return bReturn; |
232 |
} |
233 |
); |
234 |
|
235 |
/* Note we don't test for no table as this is not supported (and it would be fairly daft! */ |
236 |
|
237 |
oTest.fnWaitTest( |
238 |
"Check no info element", |
239 |
function () { |
240 |
oSession.fnRestore(); |
241 |
$('#example').dataTable( { |
242 |
"sAjaxSource": "../../../examples/ajax/sources/objects.txt", |
243 |
"aoColumnDefs": [ |
244 |
{ "mData": "engine", "aTargets": [0] }, |
245 |
{ "mData": "browser", "aTargets": [1] }, |
246 |
{ "mData": "platform", "aTargets": [2] }, |
247 |
{ "mData": "version", "aTargets": [3] }, |
248 |
{ "mData": "grade", "aTargets": [4] } |
249 |
], |
250 |
"sDom": 'lfrtp' |
251 |
} ); |
252 |
}, |
253 |
function () { |
254 |
var nNodes = $('#demo div, #demo table'); |
255 |
var nWrapper = document.getElementById('example_wrapper'); |
256 |
var nLength = document.getElementById('example_length'); |
257 |
var nFilter = document.getElementById('example_filter'); |
258 |
var nInfo = document.getElementById('example_info'); |
259 |
var nPaging = document.getElementById('example_paginate'); |
260 |
var nTable = document.getElementById('example'); |
261 |
|
262 |
var bReturn = |
263 |
nNodes[0] == nWrapper && |
264 |
nNodes[1] == nLength && |
265 |
nNodes[2] == nFilter && |
266 |
nNodes[3] == nTable && |
267 |
null == nInfo && |
268 |
nNodes[4] == nPaging; |
269 |
return bReturn; |
270 |
} |
271 |
); |
272 |
|
273 |
oTest.fnWaitTest( |
274 |
"Check no paging element", |
275 |
function () { |
276 |
oSession.fnRestore(); |
277 |
$('#example').dataTable( { |
278 |
"sAjaxSource": "../../../examples/ajax/sources/objects.txt", |
279 |
"aoColumnDefs": [ |
280 |
{ "mData": "engine", "aTargets": [0] }, |
281 |
{ "mData": "browser", "aTargets": [1] }, |
282 |
{ "mData": "platform", "aTargets": [2] }, |
283 |
{ "mData": "version", "aTargets": [3] }, |
284 |
{ "mData": "grade", "aTargets": [4] } |
285 |
], |
286 |
"sDom": 'lfrti' |
287 |
} ); |
288 |
}, |
289 |
function () { |
290 |
var nNodes = $('#demo div, #demo table'); |
291 |
var nWrapper = document.getElementById('example_wrapper'); |
292 |
var nLength = document.getElementById('example_length'); |
293 |
var nFilter = document.getElementById('example_filter'); |
294 |
var nInfo = document.getElementById('example_info'); |
295 |
var nPaging = document.getElementById('example_paginate'); |
296 |
var nTable = document.getElementById('example'); |
297 |
|
298 |
var bReturn = |
299 |
nNodes[0] == nWrapper && |
300 |
nNodes[1] == nLength && |
301 |
nNodes[2] == nFilter && |
302 |
nNodes[3] == nTable && |
303 |
nNodes[4] == nInfo && |
304 |
null == nPaging; |
305 |
return bReturn; |
306 |
} |
307 |
); |
308 |
|
309 |
|
310 |
oTest.fnComplete(); |
311 |
} ); |