Free cookie consent management tool by TermsFeed Policy Generator

source: branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sDom.js @ 6286

Last change on this file since 6286 was 6286, checked in by dkahn, 13 years ago

#1198 Added jQuery plus plugins

File size: 7.3 KB
Line 
1// DATA_TEMPLATE: empty_table
2oTest.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/examples_support/json_source.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/examples_support/json_source.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/examples_support/json_source.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].getAttribute('class') )
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/examples_support/json_source.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/examples_support/json_source.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/examples_support/json_source.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/examples_support/json_source.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} );
Note: See TracBrowser for help on using the repository browser.