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 |
} ); |