1
0
mirror of https://github.com/DataTables/DataTables.git synced 2024-12-04 16:24:11 +01:00
DataTables/media/unit_testing/tests_onhold/5_ajax_objects/fnInitComplete.js

135 lines
3.4 KiB
JavaScript
Raw Normal View History

// 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": [
{ "mDataSource": "engine" },
{ "mDataSource": "browser" },
{ "mDataSource": "platform" },
{ "mDataSource": "version" },
{ "mDataSource": "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": [
{ "mDataSource": "engine", "aTargets": [0] },
{ "mDataSource": "browser", "aTargets": [1] },
{ "mDataSource": "platform", "aTargets": [2] },
{ "mDataSource": "version", "aTargets": [3] },
{ "mDataSource": "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": [
{ "mDataSource": "engine", "aTargets": [0] },
{ "mDataSource": "browser", "aTargets": [1] },
{ "mDataSource": "platform", "aTargets": [2] },
{ "mDataSource": "version", "aTargets": [3] },
{ "mDataSource": "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": [
{ "mDataSource": "engine", "aTargets": [0] },
{ "mDataSource": "browser", "aTargets": [1] },
{ "mDataSource": "platform", "aTargets": [2] },
{ "mDataSource": "version", "aTargets": [3] },
{ "mDataSource": "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": [
{ "mDataSource": "engine", "aTargets": [0] },
{ "mDataSource": "browser", "aTargets": [1] },
{ "mDataSource": "platform", "aTargets": [2] },
{ "mDataSource": "version", "aTargets": [3] },
{ "mDataSource": "grade", "aTargets": [4] }
],
"fnInitComplete": function ( ) {
mPass = $('#example tbody tr').length;
}
} );
},
function () { return mPass == 10; }
);
oTest.fnComplete();
} );