f03deebd3f24a9f277497dbd76cfbdc9ad7eb518
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 5_ajax_objects / fnServerData.js
1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "fnServerData for Ajax sourced data" );
3
4 $(document).ready( function () {
5         var mPass;
6         
7         oTest.fnTest( 
8                 "Argument length",
9                 function () {
10                         $('#example').dataTable( {
11                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
12                                 "aoColumnDefs": [
13                                         { "mData": "engine", "aTargets": [0] },
14                                         { "mData": "browser", "aTargets": [1] },
15                                         { "mData": "platform", "aTargets": [2] },
16                                         { "mData": "version", "aTargets": [3] },
17                                         { "mData": "grade", "aTargets": [4] }
18                                 ],
19                                 "fnServerData": function () {
20                                         mPass = arguments.length;
21                                 }
22                         } );
23                 },
24                 function () { return mPass == 4; }
25         );
26         
27         oTest.fnTest( 
28                 "Url",
29                 function () {
30                         $('#example').dataTable( {
31                                 "bDestroy": true,
32                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
33                                 "aoColumnDefs": [
34                                         { "mData": "engine", "aTargets": [0] },
35                                         { "mData": "browser", "aTargets": [1] },
36                                         { "mData": "platform", "aTargets": [2] },
37                                         { "mData": "version", "aTargets": [3] },
38                                         { "mData": "grade", "aTargets": [4] }
39                                 ],
40                                 "fnServerData": function (sUrl, aoData, fnCallback, oSettings) {
41                                         mPass = sUrl == "../../../examples/ajax/sources/objects.txt";
42                                 }
43                         } );
44                 },
45                 function () { return mPass; }
46         );
47         
48         oTest.fnTest( 
49                 "Data array",
50                 function () {
51                         $('#example').dataTable( {
52                                 "bDestroy": true,
53                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
54                                 "aoColumnDefs": [
55                                         { "mData": "engine", "aTargets": [0] },
56                                         { "mData": "browser", "aTargets": [1] },
57                                         { "mData": "platform", "aTargets": [2] },
58                                         { "mData": "version", "aTargets": [3] },
59                                         { "mData": "grade", "aTargets": [4] }
60                                 ],
61                                 "fnServerData": function (sUrl, aoData, fnCallback, oSettings) {
62                                         mPass = aoData.length==0;
63                                 }
64                         } );
65                 },
66                 function () { return mPass; }
67         );
68         
69         oTest.fnTest( 
70                 "Callback function",
71                 function () {
72                         $('#example').dataTable( {
73                                 "bDestroy": true,
74                                 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
75                                 "aoColumnDefs": [
76                                         { "mData": "engine", "aTargets": [0] },
77                                         { "mData": "browser", "aTargets": [1] },
78                                         { "mData": "platform", "aTargets": [2] },
79                                         { "mData": "version", "aTargets": [3] },
80                                         { "mData": "grade", "aTargets": [4] }
81                                 ],
82                                 "fnServerData": function (sUrl, aoData, fnCallback, oSettings) {
83                                         mPass = typeof fnCallback == 'function';
84                                 }
85                         } );
86                 },
87                 function () { return mPass; }
88         );
89         
90         
91         oTest.fnComplete();
92 } );