/[projects]/misc/horsensspejder-web/jquery/DataTables-1.9.4/media/unit_testing/tests_onhold/5_ajax_objects/fnHeaderCallback.js
ViewVC logotype

Contents of /misc/horsensspejder-web/jquery/DataTables-1.9.4/media/unit_testing/tests_onhold/5_ajax_objects/fnHeaderCallback.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2125 - (show annotations) (download) (as text)
Wed Mar 12 19:30:05 2014 UTC (10 years, 2 months ago) by torben
File MIME type: application/javascript
File size: 6580 byte(s)
initial import
1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "fnHeaderCallback" );
3
4 $(document).ready( function () {
5 /* Check the default */
6 var oTable = $('#example').dataTable( {
7 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
8 "aoColumns": [
9 { "mData": "engine" },
10 { "mData": "browser" },
11 { "mData": "platform" },
12 { "mData": "version" },
13 { "mData": "grade" }
14 ]
15 } );
16 var oSettings = oTable.fnSettings();
17 var mPass, bInit;
18
19 oTest.fnWaitTest(
20 "Default should be null",
21 null,
22 function () { return oSettings.fnHeaderCallback == null; }
23 );
24
25
26 oTest.fnWaitTest(
27 "Five arguments passed",
28 function () {
29 oSession.fnRestore();
30
31 mPass = -1;
32 bInit = false;
33 $('#example').dataTable( {
34 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
35 "aoColumnDefs": [
36 { "mData": "engine", "aTargets": [0] },
37 { "mData": "browser", "aTargets": [1] },
38 { "mData": "platform", "aTargets": [2] },
39 { "mData": "version", "aTargets": [3] },
40 { "mData": "grade", "aTargets": [4] }
41 ],
42 "fnHeaderCallback": function ( ) {
43 mPass = arguments.length;
44 },
45 "fnInitComplete": function () {
46 bInit = true;
47 }
48 } );
49 },
50 function () { return mPass == 5 && bInit; }
51 );
52
53
54 /* The header callback is called once for the init and then when the data is added */
55 oTest.fnWaitTest(
56 "fnHeaderCallback called once per draw",
57 function () {
58 oSession.fnRestore();
59
60 mPass = 0;
61 bInit = false;
62 $('#example').dataTable( {
63 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
64 "aoColumnDefs": [
65 { "mData": "engine", "aTargets": [0] },
66 { "mData": "browser", "aTargets": [1] },
67 { "mData": "platform", "aTargets": [2] },
68 { "mData": "version", "aTargets": [3] },
69 { "mData": "grade", "aTargets": [4] }
70 ],
71 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
72 mPass++;
73 },
74 "fnInitComplete": function () {
75 bInit = true;
76 }
77 } );
78 },
79 function () { return mPass == 2 && bInit; }
80 );
81
82 oTest.fnWaitTest(
83 "fnRowCallback called on paging (i.e. another draw)",
84 function () { $('#example_next').click(); },
85 function () { return mPass == 3; }
86 );
87
88
89 oTest.fnWaitTest(
90 "fnRowCallback allows us to alter row information",
91 function () {
92 oSession.fnRestore();
93 $('#example').dataTable( {
94 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
95 "aoColumnDefs": [
96 { "mData": "engine", "aTargets": [0] },
97 { "mData": "browser", "aTargets": [1] },
98 { "mData": "platform", "aTargets": [2] },
99 { "mData": "version", "aTargets": [3] },
100 { "mData": "grade", "aTargets": [4] }
101 ],
102 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
103 nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
104 }
105 } );
106 },
107 function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; }
108 );
109
110
111 oTest.fnWaitTest(
112 "iStart correct on first page",
113 function () {
114 oSession.fnRestore();
115
116 mPass = true;
117 $('#example').dataTable( {
118 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
119 "aoColumnDefs": [
120 { "mData": "engine", "aTargets": [0] },
121 { "mData": "browser", "aTargets": [1] },
122 { "mData": "platform", "aTargets": [2] },
123 { "mData": "version", "aTargets": [3] },
124 { "mData": "grade", "aTargets": [4] }
125 ],
126 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
127 if ( iStart != 0 )
128 {
129 mPass = false;
130 }
131 }
132 } );
133 },
134 function () { return mPass; }
135 );
136
137
138 oTest.fnWaitTest(
139 "iStart correct on second page",
140 function () {
141 oSession.fnRestore();
142
143 mPass = false;
144 $('#example').dataTable( {
145 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
146 "aoColumnDefs": [
147 { "mData": "engine", "aTargets": [0] },
148 { "mData": "browser", "aTargets": [1] },
149 { "mData": "platform", "aTargets": [2] },
150 { "mData": "version", "aTargets": [3] },
151 { "mData": "grade", "aTargets": [4] }
152 ],
153 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
154 if ( iStart == 10 )
155 {
156 mPass = true;
157 }
158 },
159 "fnInitComplete": function () {
160 $('#example_next').click();
161 }
162 } );
163 },
164 function () { return mPass; }
165 );
166
167
168 oTest.fnWaitTest(
169 "iEnd correct on second page",
170 function () {
171 oSession.fnRestore();
172
173 mPass = false;
174 $('#example').dataTable( {
175 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
176 "aoColumnDefs": [
177 { "mData": "engine", "aTargets": [0] },
178 { "mData": "browser", "aTargets": [1] },
179 { "mData": "platform", "aTargets": [2] },
180 { "mData": "version", "aTargets": [3] },
181 { "mData": "grade", "aTargets": [4] }
182 ],
183 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
184 if ( iEnd == 20 )
185 {
186 mPass = true;
187 }
188 },
189 "fnInitComplete": function () {
190 $('#example_next').click();
191 }
192 } );
193 },
194 function () { return mPass; }
195 );
196
197
198 oTest.fnWaitTest(
199 "aiDisplay length is full data when not filtered",
200 function () {
201 oSession.fnRestore();
202
203 mPass = false;
204 $('#example').dataTable( {
205 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
206 "aoColumnDefs": [
207 { "mData": "engine", "aTargets": [0] },
208 { "mData": "browser", "aTargets": [1] },
209 { "mData": "platform", "aTargets": [2] },
210 { "mData": "version", "aTargets": [3] },
211 { "mData": "grade", "aTargets": [4] }
212 ],
213 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
214 if ( aiDisplay.length == 57 )
215 {
216 mPass = true;
217 }
218 }
219 } );
220 },
221 function () { return mPass; }
222 );
223
224 oTest.fnWaitTest(
225 "aiDisplay length is 9 when filtering on 'Mozilla'",
226 function () {
227 oSession.fnRestore();
228
229 mPass = false;
230 oTable = $('#example').dataTable( {
231 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
232 "aoColumnDefs": [
233 { "mData": "engine", "aTargets": [0] },
234 { "mData": "browser", "aTargets": [1] },
235 { "mData": "platform", "aTargets": [2] },
236 { "mData": "version", "aTargets": [3] },
237 { "mData": "grade", "aTargets": [4] }
238 ],
239 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
240 if ( aiDisplay.length == 9 )
241 {
242 mPass = true;
243 }
244 }
245 } );
246 oTable.fnFilter( "Mozilla" );
247 },
248 function () { return mPass; }
249 );
250
251
252
253 oTest.fnComplete();
254 } );

  ViewVC Help
Powered by ViewVC 1.1.20