Add datatables-1.9.4 and jquery-1.10.2 libraries
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 5_ajax_objects / fnInitComplete.js
1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "fnInitComplete" );
3
4 /* Fairly boring function compared to the others! */
5
6 $(document).ready( function () {
7         /* Check the default */
8         var oTable = $('#example').dataTable( {
9                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
10                 "aoColumns": [
11                         { "mData": "engine" },
12                         { "mData": "browser" },
13                         { "mData": "platform" },
14                         { "mData": "version" },
15                         { "mData": "grade" }
16                 ]
17         } );
18         var oSettings = oTable.fnSettings();
19         var mPass;
20         
21         oTest.fnWaitTest( 
22                 "Default should be null",
23                 null,
24                 function () { return oSettings.fnInitComplete == null; }
25         );
26         
27         
28         oTest.fnWaitTest( 
29                 "Two arguments passed (for Ajax!)",
30                 function () {
31                         oSession.fnRestore();
32                         
33                         mPass = -1;
34                         $('#example').dataTable( {
35                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
36                                 "aoColumnDefs": [
37                                         { "mData": "engine", "aTargets": [0] },
38                                         { "mData": "browser", "aTargets": [1] },
39                                         { "mData": "platform", "aTargets": [2] },
40                                         { "mData": "version", "aTargets": [3] },
41                                         { "mData": "grade", "aTargets": [4] }
42                                 ],
43                                 "fnInitComplete": function ( ) {
44                                         mPass = arguments.length;
45                                 }
46                         } );
47                 },
48                 function () { return mPass == 2; }
49         );
50         
51         
52         oTest.fnWaitTest( 
53                 "That one argument is the settings object",
54                 function () {
55                         oSession.fnRestore();
56                         
57                         oTable = $('#example').dataTable( {
58                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
59                                 "aoColumnDefs": [
60                                         { "mData": "engine", "aTargets": [0] },
61                                         { "mData": "browser", "aTargets": [1] },
62                                         { "mData": "platform", "aTargets": [2] },
63                                         { "mData": "version", "aTargets": [3] },
64                                         { "mData": "grade", "aTargets": [4] }
65                                 ],
66                                 "fnInitComplete": function ( oSettings ) {
67                                         mPass = oSettings;
68                                 }
69                         } );
70                 },
71                 function () { return oTable.fnSettings() == mPass; }
72         );
73         
74         
75         oTest.fnWaitTest( 
76                 "fnInitComplete called once on first draw",
77                 function () {
78                         oSession.fnRestore();
79                         
80                         mPass = 0;
81                         $('#example').dataTable( {
82                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
83                                 "aoColumnDefs": [
84                                         { "mData": "engine", "aTargets": [0] },
85                                         { "mData": "browser", "aTargets": [1] },
86                                         { "mData": "platform", "aTargets": [2] },
87                                         { "mData": "version", "aTargets": [3] },
88                                         { "mData": "grade", "aTargets": [4] }
89                                 ],
90                                 "fnInitComplete": function ( ) {
91                                         mPass++;
92                                 }
93                         } );
94                 },
95                 function () { return mPass == 1; }
96         );
97         
98         oTest.fnWaitTest( 
99                 "fnInitComplete never called there after",
100                 function () {
101                         $('#example_next').click();
102                         $('#example_next').click();
103                         $('#example_next').click();
104                 },
105                 function () { return mPass == 1; }
106         );
107         
108         
109         oTest.fnWaitTest( 
110                 "10 rows in the table on complete",
111                 function () {
112                         oSession.fnRestore();
113                         
114                         mPass = 0;
115                         $('#example').dataTable( {
116                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
117                                 "aoColumnDefs": [
118                                         { "mData": "engine", "aTargets": [0] },
119                                         { "mData": "browser", "aTargets": [1] },
120                                         { "mData": "platform", "aTargets": [2] },
121                                         { "mData": "version", "aTargets": [3] },
122                                         { "mData": "grade", "aTargets": [4] }
123                                 ],
124                                 "fnInitComplete": function ( ) {
125                                         mPass = $('#example tbody tr').length;
126                                 }
127                         } );
128                 },
129                 function () { return mPass == 10; }
130         );
131         
132         
133         
134         oTest.fnComplete();
135 } );