1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "sDom" );
4 /* This is going to be brutal on the browser! There is a lot that can be tested here... */
6 $(document).ready( function () {
7 /* Check the default */
8 var oTable = $('#example').dataTable( {
9 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
11 { "mData": "engine" },
12 { "mData": "browser" },
13 { "mData": "platform" },
14 { "mData": "version" },
18 var oSettings = oTable.fnSettings();
21 "Default DOM varaible",
23 function () { return oSettings.sDom == "lfrtip"; }
27 "Default DOM in document",
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');
39 nNodes[0] == nWrapper &&
40 nNodes[1] == nLength &&
41 nNodes[2] == nFilter &&
42 nNodes[3] == nTable &&
50 "Check example 1 in code propagates",
53 oTable = $('#example').dataTable( {
54 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
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] }
62 "sDom": '<"wrapper"flipt>'
64 oSettings = oTable.fnSettings();
66 function () { return oSettings.sDom == '<"wrapper"flipt>'; }
70 "Check example 1 in DOM",
73 var jqNodes = $('#demo div, #demo table');
76 /* Strip the paging nodes */
77 for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
79 if ( jqNodes[i].getAttribute('id') != "example_previous" &&
80 jqNodes[i].getAttribute('id') != "example_next" )
82 nNodes.push( jqNodes[i] );
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];
95 nNodes[0] == nWrapper &&
96 nNodes[1] == nCustomWrapper &&
97 nNodes[2] == nFilter &&
98 nNodes[3] == nLength &&
100 nNodes[5] == nPaging &&
107 "Check example 2 in DOM",
109 oSession.fnRestore();
110 $('#example').dataTable( {
111 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
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] }
123 var jqNodes = $('#demo div, #demo table');
125 var nCustomWrappers = []
127 /* Strip the paging nodes */
128 for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
130 if ( jqNodes[i].getAttribute('id') != "example_previous" &&
131 jqNodes[i].getAttribute('id') != "example_next" )
133 nNodes.push( jqNodes[i] );
136 /* Only the two custom divs don't have class names */
137 if ( jqNodes[i].className == "" )
139 nCustomWrappers.push( jqNodes[i] );
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');
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;
164 "Check no length element",
166 oSession.fnRestore();
167 $('#example').dataTable( {
168 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
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] }
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');
189 nNodes[0] == nWrapper &&
191 nNodes[1] == nFilter &&
192 nNodes[2] == nTable &&
193 nNodes[3] == nInfo &&
194 nNodes[4] == nPaging;
200 "Check no filter element",
202 oSession.fnRestore();
203 $('#example').dataTable( {
204 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
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] }
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');
225 nNodes[0] == nWrapper &&
226 nNodes[1] == nLength &&
228 nNodes[2] == nTable &&
229 nNodes[3] == nInfo &&
230 nNodes[4] == nPaging;
235 /* Note we don't test for no table as this is not supported (and it would be fairly daft! */
238 "Check no info element",
240 oSession.fnRestore();
241 $('#example').dataTable( {
242 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
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] }
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');
263 nNodes[0] == nWrapper &&
264 nNodes[1] == nLength &&
265 nNodes[2] == nFilter &&
266 nNodes[3] == nTable &&
268 nNodes[4] == nPaging;
274 "Check no paging element",
276 oSession.fnRestore();
277 $('#example').dataTable( {
278 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
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] }
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');
299 nNodes[0] == nWrapper &&
300 nNodes[1] == nLength &&
301 nNodes[2] == nFilter &&
302 nNodes[3] == nTable &&
303 nNodes[4] == nInfo &&