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/2_js/fnFooterCallback.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: 4.7 KB
Line 
1// DATA_TEMPLATE: js_data
2oTest.fnStart( "fnFooterCallback" );
3
4$(document).ready( function () {
5  /* Check the default */
6  var oTable = $('#example').dataTable( {
7    "aaData": gaaData
8  } );
9  var oSettings = oTable.fnSettings();
10  var mPass;
11 
12  oTest.fnTest(
13    "Default should be null",
14    null,
15    function () { return oSettings.fnFooterCallback == null; }
16  );
17 
18 
19  oTest.fnTest(
20    "Five arguments passed",
21    function () {
22      oSession.fnRestore();
23     
24      mPass = -1;
25      $('#example').dataTable( {
26        "aaData": gaaData,
27        "fnFooterCallback": function ( ) {
28          mPass = arguments.length;
29        }
30      } );
31    },
32    function () { return mPass == 5; }
33  );
34 
35 
36  oTest.fnTest(
37    "fnRowCallback called once per draw",
38    function () {
39      oSession.fnRestore();
40     
41      mPass = 0;
42      $('#example').dataTable( {
43        "aaData": gaaData,
44        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
45          mPass++;
46        }
47      } );
48    },
49    function () { return mPass == 1; }
50  );
51 
52  oTest.fnTest(
53    "fnRowCallback called on paging (i.e. another draw)",
54    function () { $('#example_next').click(); },
55    function () { return mPass == 2; }
56  );
57 
58 
59  oTest.fnTest(
60    "fnRowCallback allows us to alter row information",
61    function () {
62      oSession.fnRestore();
63      $('#example').dataTable( {
64        "aaData": gaaData,
65        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
66          nFoot.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
67        }
68      } );
69    },
70    function () { return $('#example tfoot th:eq(0)').html() == "Displaying 10 records"; }
71  );
72 
73 
74  oTest.fnTest(
75    "Data array has length matching original data",
76    function () {
77      oSession.fnRestore();
78     
79      mPass = true;
80      $('#example').dataTable( {
81        "aaData": gaaData,
82        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
83          if ( aasData.length != 57 )
84          {
85            mPass = false;
86          }
87        }
88      } );
89    },
90    function () { return mPass; }
91  );
92 
93  oTest.fnTest(
94    "Data array's column lengths match original data",
95    function () {
96      oSession.fnRestore();
97     
98      mPass = true;
99      $('#example').dataTable( {
100        "aaData": gaaData,
101        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
102          for ( var i=0, iLen=aasData.length ; i<iLen ; i++ )
103          {
104            if ( aasData[i].length != 5 )
105            {
106              mPass = false;
107            }
108          }
109        }
110      } );
111    },
112    function () { return mPass; }
113  );
114 
115 
116  oTest.fnTest(
117    "iStart correct on first page",
118    function () {
119      oSession.fnRestore();
120     
121      mPass = true;
122      $('#example').dataTable( {
123        "aaData": gaaData,
124        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
125          if ( iStart != 0 )
126          {
127            mPass = false;
128          }
129        }
130      } );
131    },
132    function () { return mPass; }
133  );
134 
135 
136  oTest.fnTest(
137    "iStart correct on second page",
138    function () {
139      oSession.fnRestore();
140     
141      mPass = false;
142      $('#example').dataTable( {
143        "aaData": gaaData,
144        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
145          if ( iStart == 10 )
146          {
147            mPass = true;
148          }
149        }
150      } );
151      $('#example_next').click();
152    },
153    function () { return mPass; }
154  );
155 
156 
157  oTest.fnTest(
158    "iEnd correct on first page",
159    function () {
160      oSession.fnRestore();
161     
162      mPass = true;
163      $('#example').dataTable( {
164        "aaData": gaaData,
165        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
166          if ( iEnd != 10 )
167          {
168            mPass = false;
169          }
170        }
171      } );
172    },
173    function () { return mPass; }
174  );
175 
176 
177  oTest.fnTest(
178    "iEnd correct on second page",
179    function () {
180      oSession.fnRestore();
181     
182      mPass = false;
183      $('#example').dataTable( {
184        "aaData": gaaData,
185        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
186          if ( iEnd == 20 )
187          {
188            mPass = true;
189          }
190        }
191      } );
192      $('#example_next').click();
193    },
194    function () { return mPass; }
195  );
196 
197 
198  oTest.fnTest(
199    "aiDisplay length is full data when not filtered",
200    function () {
201      oSession.fnRestore();
202     
203      mPass = false;
204      $('#example').dataTable( {
205        "aaData": gaaData,
206        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
207          if ( aiDisplay.length == 57 )
208          {
209            mPass = true;
210          }
211        }
212      } );
213    },
214    function () { return mPass; }
215  );
216 
217  oTest.fnTest(
218    "aiDisplay length is 9 when filtering on 'Mozilla'",
219    function () {
220      oSession.fnRestore();
221     
222      mPass = false;
223      oTable = $('#example').dataTable( {
224        "aaData": gaaData,
225        "fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
226          if ( aiDisplay.length == 9 )
227          {
228            mPass = true;
229          }
230        }
231      } );
232      oTable.fnFilter( "Mozilla" );
233    },
234    function () { return mPass; }
235  );
236 
237 
238 
239  oTest.fnComplete();
240} );
Note: See TracBrowser for help on using the repository browser.