// DATA_TEMPLATE: empty_table
oTest.fnStart( "fnCreatedCell tests" );
$(document).ready( function () {
var tmp = 0;
var complete = false;
$('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
"aoColumnDefs": [ {
fnCreatedCell: function () {
tmp++;
},
"aTargets": ["_all"]
} ]
} );
oTest.fnWaitTest(
"Cell created is called once for each cell on init",
null,
function () { return tmp===285; }
);
oTest.fnTest(
"Created isn't called back on other draws",
function () { $('#example th:eq(1)').click(); },
function () { return tmp===285; }
);
oTest.fnWaitTest(
"Four arguments for the function",
function () {
oSession.fnRestore();
tmp = true;
complete = false;
$('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
"aoColumnDefs": [ {
fnCreatedRow: function () {
if ( arguments.length !== 4 ) {
tmp = false;
}
},
"aTargets": ["_all"]
} ],
fnInitComplete: function () {
complete = true;
}
} );
},
function () { return (tmp && complete); }
);
oTest.fnWaitTest(
"First argument is a TD element",
function () {
oSession.fnRestore();
tmp = true;
complete = false;
$('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
"aoColumnDefs": [ {
fnCreatedRow: function () {
if ( arguments[0].nodeName !== "TD" ) {
tmp = false;
}
},
"aTargets": ["_all"]
} ],
fnInitComplete: function () {
complete = true;
}
} );
},
function () { return (tmp && complete); }
);
oTest.fnWaitTest(
"Second argument is the HTML value",
function () {
oSession.fnRestore();
tmp = true;
complete = false;
$('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
"aoColumnDefs": [ {
fnCreatedRow: function () {
if ( arguments[1] != $('td').html() ) {
tmp = false;
}
},
"aTargets": ["_all"]
} ],
fnInitComplete: function () {
complete = true;
}
} );
},
function () { return (tmp && complete); }
);
oTest.fnWaitTest(
"Third argument is the data array",
function () {
oSession.fnRestore();
tmp = true;
complete = false;
$('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
"aoColumnDefs": [ {
fnCreatedRow: function () {
if ( arguments[2].length !== 5 ) {
tmp = false;
}
},
"aTargets": ["_all"]
} ],
fnInitComplete: function () {
complete = true;
}
} );
},
function () { return (tmp && complete); }
);
oTest.fnWaitTest(
"Fourth argument is the data source for the row",
function () {
oSession.fnRestore();
tmp = true;
complete = false;
$('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
"aoColumnDefs": [ {
fnCreatedRow: function () {
if ( arguments[2] !== this.fnSettings().aoData[ arguments[2] ]._aData ) {
tmp = false;
}
},
"aTargets": ["_all"]
} ],
fnInitComplete: function () {
complete = true;
}
} );
},
function () { return (tmp && complete); }
);
oTest.fnWaitTest(
"Fifth argument is the the col index",
function () {
oSession.fnRestore();
tmp = true;
complete = false;
$('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
"aoColumnDefs": [ {
fnCreatedRow: function () {
if ( arguments[1] != $('td:eq('+arguments[4]+')', arguments[0].parentNode).html() ) {
tmp = false;
}
},
"aTargets": ["_all"]
} ],
fnInitComplete: function () {
complete = true;
}
} );
},
function () { return (tmp && complete); }
);
oTest.fnComplete();
} );
|