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