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