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