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( {
10 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php"
12 var oSettings = oTable.fnSettings();
15 "Default DOM varaible",
17 function () { return oSettings.sDom == "lfrtip"; }
21 "Default DOM in document",
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');
33 nNodes[0] == nWrapper &&
34 nNodes[1] == nLength &&
35 nNodes[2] == nFilter &&
36 nNodes[3] == nTable &&
44 "Check example 1 in code propagates",
47 oTable = $('#example').dataTable( {
49 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
50 "sDom": '<"wrapper"flipt>'
52 oSettings = oTable.fnSettings();
54 function () { return oSettings.sDom == '<"wrapper"flipt>'; }
58 "Check example 1 in DOM",
61 var jqNodes = $('#demo div, #demo table');
64 /* Strip the paging nodes */
65 for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
67 if ( jqNodes[i].getAttribute('id') != "example_previous" &&
68 jqNodes[i].getAttribute('id') != "example_next" )
70 nNodes.push( jqNodes[i] );
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];
83 nNodes[0] == nWrapper &&
84 nNodes[1] == nCustomWrapper &&
85 nNodes[2] == nFilter &&
86 nNodes[3] == nLength &&
88 nNodes[5] == nPaging &&
95 "Check example 2 in DOM",
98 $('#example').dataTable( {
100 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
105 var jqNodes = $('#demo div, #demo table');
107 var nCustomWrappers = []
109 /* Strip the paging nodes */
110 for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
112 if ( jqNodes[i].getAttribute('id') != "example_previous" &&
113 jqNodes[i].getAttribute('id') != "example_next" )
115 nNodes.push( jqNodes[i] );
118 /* Only the two custom divs don't have class names */
119 if ( jqNodes[i].className == "" )
121 nCustomWrappers.push( jqNodes[i] );
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');
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;
146 "Check no length element",
148 oSession.fnRestore();
149 $('#example').dataTable( {
151 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
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');
165 nNodes[0] == nWrapper &&
167 nNodes[1] == nFilter &&
168 nNodes[2] == nTable &&
169 nNodes[3] == nInfo &&
170 nNodes[4] == nPaging;
176 "Check no filter element",
178 oSession.fnRestore();
179 $('#example').dataTable( {
181 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
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');
195 nNodes[0] == nWrapper &&
196 nNodes[1] == nLength &&
198 nNodes[2] == nTable &&
199 nNodes[3] == nInfo &&
200 nNodes[4] == nPaging;
205 /* Note we don't test for no table as this is not supported (and it would be fairly daft! */
208 "Check no info element",
210 oSession.fnRestore();
211 $('#example').dataTable( {
213 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
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');
227 nNodes[0] == nWrapper &&
228 nNodes[1] == nLength &&
229 nNodes[2] == nFilter &&
230 nNodes[3] == nTable &&
232 nNodes[4] == nPaging;
238 "Check no paging element",
240 oSession.fnRestore();
241 $('#example').dataTable( {
243 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
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');
257 nNodes[0] == nWrapper &&
258 nNodes[1] == nLength &&
259 nNodes[2] == nFilter &&
260 nNodes[3] == nTable &&
261 nNodes[4] == nInfo &&