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 | // DATA_TEMPLATE: dom_data oTest.fnStart( "fnRowCallback" ); /* Note - fnRowCallback MUST return the first arguments (modified or not) */ $(document).ready( function () { /* Check the default */ var oTable = $('#example').dataTable(); var oSettings = oTable.fnSettings(); var mPass; oTest.fnTest( "Default should be null", null, function () { return oSettings.fnRowCallback == null; } ); oTest.fnTest( "Four arguments passed", function () { oSession.fnRestore(); mPass = -1; $('#example').dataTable( { "fnRowCallback": function ( nTr ) { mPass = arguments.length; return nTr; } } ); }, function () { return mPass == 4; } ); oTest.fnTest( "fnRowCallback called once for each drawn row", function () { oSession.fnRestore(); mPass = 0; $('#example').dataTable( { "fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) { mPass++; return nTr; } } ); }, function () { return mPass == 10; } ); oTest.fnTest( "fnRowCallback allows us to alter row information", function () { oSession.fnRestore(); $('#example').dataTable( { "fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) { $(nTr).addClass('unit_test'); return nTr; } } ); }, function () { return $('#example tbody tr:eq(1)').hasClass('unit_test'); } ); oTest.fnTest( "Data array has length matching columns", function () { oSession.fnRestore(); mPass = true; $('#example').dataTable( { "fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) { if ( asData.length != 5 ) mPass = false; return nTr; } } ); }, function () { return mPass; } ); oTest.fnTest( "Data array has length matching columns", function () { oSession.fnRestore(); mPass = true; var iCount = 0; $('#example').dataTable( { "fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) { if ( iCount != iDrawIndex ) mPass = false; iCount++; return nTr; } } ); }, function () { return mPass; } ); oTest.fnComplete(); } ); |