1 // DATA_TEMPLATE: js_data
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( {
11 var oSettings = oTable.fnSettings();
14 "Default DOM varaible",
16 function () { return oSettings.sDom == "lfrtip"; }
20 "Default DOM in document",
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');
32 nNodes[0] == nWrapper &&
33 nNodes[1] == nLength &&
34 nNodes[2] == nFilter &&
35 nNodes[3] == nTable &&
43 "Check example 1 in code propagates",
46 oTable = $('#example').dataTable( {
48 "sDom": '<"wrapper"flipt>'
50 oSettings = oTable.fnSettings();
52 function () { return oSettings.sDom == '<"wrapper"flipt>'; }
56 "Check example 1 in DOM",
59 var jqNodes = $('#demo div, #demo table');
62 /* Strip the paging nodes */
63 for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
65 if ( jqNodes[i].getAttribute('id') != "example_previous" &&
66 jqNodes[i].getAttribute('id') != "example_next" )
68 nNodes.push( jqNodes[i] );
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];
81 nNodes[0] == nWrapper &&
82 nNodes[1] == nCustomWrapper &&
83 nNodes[2] == nFilter &&
84 nNodes[3] == nLength &&
86 nNodes[5] == nPaging &&
93 "Check example 2 in DOM",
96 $('#example').dataTable( {
102 var jqNodes = $('#demo div, #demo table');
104 var nCustomWrappers = []
106 /* Strip the paging nodes */
107 for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
109 if ( jqNodes[i].getAttribute('id') != "example_previous" &&
110 jqNodes[i].getAttribute('id') != "example_next" )
112 nNodes.push( jqNodes[i] );
115 /* Only the two custom divs don't have class names */
116 if ( jqNodes[i].className == "" )
118 nCustomWrappers.push( jqNodes[i] );
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');
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;
143 "Check no length element",
145 oSession.fnRestore();
146 $('#example').dataTable( {
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');
161 nNodes[0] == nWrapper &&
163 nNodes[1] == nFilter &&
164 nNodes[2] == nTable &&
165 nNodes[3] == nInfo &&
166 nNodes[4] == nPaging;
172 "Check no filter element",
174 oSession.fnRestore();
175 $('#example').dataTable( {
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');
190 nNodes[0] == nWrapper &&
191 nNodes[1] == nLength &&
193 nNodes[2] == nTable &&
194 nNodes[3] == nInfo &&
195 nNodes[4] == nPaging;
200 /* Note we don't test for no table as this is not supported (and it would be fairly daft! */
203 "Check no info element",
205 oSession.fnRestore();
206 $('#example').dataTable( {
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');
221 nNodes[0] == nWrapper &&
222 nNodes[1] == nLength &&
223 nNodes[2] == nFilter &&
224 nNodes[3] == nTable &&
226 nNodes[4] == nPaging;
232 "Check no paging element",
234 oSession.fnRestore();
235 $('#example').dataTable( {
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');
250 nNodes[0] == nWrapper &&
251 nNodes[1] == nLength &&
252 nNodes[2] == nFilter &&
253 nNodes[3] == nTable &&
254 nNodes[4] == nInfo &&