Add datatables-1.9.4 and jquery-1.10.2 libraries
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 3_ajax / sDom.js
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 } );