--- /dev/null
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "fnCreatedRow tests" );
+
+$(document).ready( function () {
+ var tmp = 0;
+
+ $('#example').dataTable( {
+ fnCreatedRow: function () {
+ tmp++;
+ }
+ } );
+
+ oTest.fnTest(
+ "Row created is called once for each row on init",
+ null,
+ function () { return tmp===57; }
+ );
+
+ oTest.fnTest(
+ "Created isn't called back on other draws",
+ function () { $('#example th:eq(1)').click(); },
+ function () { return tmp===57; }
+ );
+
+ oTest.fnTest(
+ "Three arguments for the function",
+ function () {
+ oSession.fnRestore();
+ tmp = true;
+
+ $('#example').dataTable( {
+ fnCreatedRow: function () {
+ if ( arguments.length !== 3 ) {
+ tmp = false;
+ }
+ }
+ } );
+ },
+ function () { return tmp; }
+ );
+
+ oTest.fnTest(
+ "First argument is a TR element",
+ function () {
+ oSession.fnRestore();
+ tmp = true;
+
+ $('#example').dataTable( {
+ fnCreatedRow: function () {
+ if ( arguments[0].nodeName !== "TR" ) {
+ tmp = false;
+ }
+ }
+ } );
+ },
+ function () { return tmp; }
+ );
+
+ oTest.fnTest(
+ "Second argument is an array with 5 elements",
+ function () {
+ oSession.fnRestore();
+ tmp = true;
+
+ $('#example').dataTable( {
+ fnCreatedRow: function () {
+ if ( arguments[1].length !== 5 ) {
+ tmp = false;
+ }
+ }
+ } );
+ },
+ function () { return tmp; }
+ );
+
+ oTest.fnTest(
+ "Third argument is the data source for the row",
+ function () {
+ oSession.fnRestore();
+ tmp = true;
+
+ $('#example').dataTable( {
+ fnCreatedRow: function () {
+ if ( arguments[1] !== this.fnSettings().aoData[ arguments[2] ]._aData ) {
+ tmp = false;
+ }
+ }
+ } );
+ },
+ function () { return tmp; }
+ );
+
+ oTest.fnTest(
+ "TR element is tied to the correct data",
+ function () {
+ oSession.fnRestore();
+ tmp = false;
+
+ $('#example').dataTable( {
+ fnCreatedRow: function (tr, data, index) {
+ if ( data[1] === "Firefox 1.0" ) {
+ if ( $('td:eq(3)', tr).html() == "1.7" ) {
+ tmp = true;
+ }
+ }
+ }
+ } );
+ },
+ function () { return tmp; }
+ );
+
+
+
+ oTest.fnComplete();
+} );
\ No newline at end of file