Add datatables-1.9.4 and jquery-1.10.2 libraries
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 4_server-side / fnHeaderCallback.js
1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "fnHeaderCallback" );
3
4 $(document).ready( function () {
5         /* Check the default */
6         var oTable = $('#example').dataTable( {
7                 "bServerSide": true,
8                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php"
9         } );
10         var oSettings = oTable.fnSettings();
11         var mPass;
12         
13         oTest.fnWaitTest( 
14                 "Default should be null",
15                 null,
16                 function () { return oSettings.fnHeaderCallback == null; }
17         );
18         
19         
20         oTest.fnWaitTest( 
21                 "Five arguments passed",
22                 function () {
23                         oSession.fnRestore();
24                         
25                         mPass = -1;
26                         $('#example').dataTable( {
27                                 "bServerSide": true,
28                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
29                                 "fnHeaderCallback": function ( ) {
30                                         mPass = arguments.length;
31                                 }
32                         } );
33                 },
34                 function () { return mPass == 5; }
35         );
36         
37         
38         oTest.fnWaitTest( 
39                 "fnRowCallback called once per draw",
40                 function () {
41                         oSession.fnRestore();
42                         
43                         mPass = 0;
44                         $('#example').dataTable( {
45                                 "bServerSide": true,
46                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
47                                 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
48                                         mPass++;
49                                 }
50                         } );
51                 },
52                 function () { return mPass == 1; }
53         );
54         
55         oTest.fnWaitTest( 
56                 "fnRowCallback called on paging (i.e. another draw)",
57                 function () { $('#example_next').click(); },
58                 function () { return mPass == 2; }
59         );
60         
61         
62         oTest.fnWaitTest( 
63                 "fnRowCallback allows us to alter row information",
64                 function () {
65                         oSession.fnRestore();
66                         $('#example').dataTable( {
67                                 "bServerSide": true,
68                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
69                                 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
70                                         nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
71                                 }
72                         } );
73                 },
74                 function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; }
75         );
76         
77         
78         oTest.fnWaitTest( 
79                 "iStart correct on first page",
80                 function () {
81                         oSession.fnRestore();
82                         
83                         mPass = true;
84                         $('#example').dataTable( {
85                                 "bServerSide": true,
86                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
87                                 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
88                                         if ( iStart != 0 )
89                                         {
90                                                 mPass = false;
91                                         }
92                                 }
93                         } );
94                 },
95                 function () { return mPass; }
96         );
97         
98         
99         oTest.fnWaitTest( 
100                 "iStart correct on second page",
101                 function () {
102                         oSession.fnRestore();
103                         
104                         mPass = false;
105                         $('#example').dataTable( {
106                                 "bServerSide": true,
107                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
108                                 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
109                                         if ( iStart == 0 )
110                                         {
111                                                 mPass = true;
112                                         }
113                                 },
114                                 "fnInitComplete": function () {
115                                         $('#example_next').click();
116                                 }
117                         } );
118                 },
119                 function () { return mPass; }
120         );
121         
122         
123         oTest.fnWaitTest( 
124                 "iEnd correct on second page",
125                 function () {
126                         oSession.fnRestore();
127                         
128                         mPass = false;
129                         $('#example').dataTable( {
130                                 "bServerSide": true,
131                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
132                                 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
133                                         if ( iEnd == 10 )
134                                         {
135                                                 mPass = true;
136                                         }
137                                 },
138                                 "fnInitComplete": function () {
139                                         $('#example_next').click();
140                                 }
141                         } );
142                 },
143                 function () { return mPass; }
144         );
145         
146         
147         oTest.fnWaitTest( 
148                 "aiDisplay length is full data when not filtered",
149                 function () {
150                         oSession.fnRestore();
151                         
152                         mPass = false;
153                         $('#example').dataTable( {
154                                 "bServerSide": true,
155                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
156                                 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
157                                         if ( aiDisplay.length == 10 )
158                                         {
159                                                 mPass = true;
160                                         }
161                                 }
162                         } );
163                 },
164                 function () { return mPass; }
165         );
166         
167         oTest.fnWaitTest( 
168                 "aiDisplay length is 9 when filtering on 'Mozilla'",
169                 function () {
170                         oSession.fnRestore();
171                         
172                         mPass = false;
173                         oTable = $('#example').dataTable( {
174                                 "bServerSide": true,
175                 "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php",
176                                 "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
177                                         if ( aiDisplay.length == 9 )
178                                         {
179                                                 mPass = true;
180                                         }
181                                 }
182                         } );
183                         oTable.fnFilter( "Mozilla" );
184                 },
185                 function () { return mPass; }
186         );
187         
188         
189         
190         oTest.fnComplete();
191 } );