Mercurial > repos > saskia-hiltemann > ireport
diff DataTables-1.9.4/media/unit_testing/tests_onhold/6_delayed_rendering/fnHeaderCallback.js @ 0:ac5f9272033b draft
first upload
author | saskia-hiltemann |
---|---|
date | Tue, 01 Jul 2014 11:42:23 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DataTables-1.9.4/media/unit_testing/tests_onhold/6_delayed_rendering/fnHeaderCallback.js Tue Jul 01 11:42:23 2014 -0400 @@ -0,0 +1,200 @@ +// DATA_TEMPLATE: empty_table +oTest.fnStart( "fnHeaderCallback" ); + +$(document).ready( function () { + /* Check the default */ + var oTable = $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true + } ); + var oSettings = oTable.fnSettings(); + var mPass, bInit; + + oTest.fnWaitTest( + "Default should be null", + null, + function () { return oSettings.fnHeaderCallback == null; } + ); + + + oTest.fnWaitTest( + "Five arguments passed", + function () { + oSession.fnRestore(); + + mPass = -1; + bInit = false; + $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true, + "fnHeaderCallback": function ( ) { + mPass = arguments.length; + }, + "fnInitComplete": function () { + bInit = true; + } + } ); + }, + function () { return mPass == 5 && bInit; } + ); + + + /* The header callback is called once for the init and then when the data is added */ + oTest.fnWaitTest( + "fnHeaderCallback called once per draw", + function () { + oSession.fnRestore(); + + mPass = 0; + bInit = false; + $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true, + "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) { + mPass++; + }, + "fnInitComplete": function () { + bInit = true; + } + } ); + }, + function () { return mPass == 2 && bInit; } + ); + + oTest.fnWaitTest( + "fnRowCallback called on paging (i.e. another draw)", + function () { $('#example_next').click(); }, + function () { return mPass == 3; } + ); + + + oTest.fnWaitTest( + "fnRowCallback allows us to alter row information", + function () { + oSession.fnRestore(); + $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true, + "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) { + nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records"; + } + } ); + }, + function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; } + ); + + + oTest.fnWaitTest( + "iStart correct on first page", + function () { + oSession.fnRestore(); + + mPass = true; + $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true, + "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) { + if ( iStart != 0 ) + { + mPass = false; + } + } + } ); + }, + function () { return mPass; } + ); + + + oTest.fnWaitTest( + "iStart correct on second page", + function () { + oSession.fnRestore(); + + mPass = false; + $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true, + "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) { + if ( iStart == 10 ) + { + mPass = true; + } + }, + "fnInitComplete": function () { + $('#example_next').click(); + } + } ); + }, + function () { return mPass; } + ); + + + oTest.fnWaitTest( + "iEnd correct on second page", + function () { + oSession.fnRestore(); + + mPass = false; + $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true, + "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) { + if ( iEnd == 20 ) + { + mPass = true; + } + }, + "fnInitComplete": function () { + $('#example_next').click(); + } + } ); + }, + function () { return mPass; } + ); + + + oTest.fnWaitTest( + "aiDisplay length is full data when not filtered", + function () { + oSession.fnRestore(); + + mPass = false; + $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true, + "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) { + if ( aiDisplay.length == 57 ) + { + mPass = true; + } + } + } ); + }, + function () { return mPass; } + ); + + oTest.fnWaitTest( + "aiDisplay length is 9 when filtering on 'Mozilla'", + function () { + oSession.fnRestore(); + + mPass = false; + oTable = $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bDeferRender": true, + "fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) { + if ( aiDisplay.length == 9 ) + { + mPass = true; + } + } + } ); + oTable.fnFilter( "Mozilla" ); + }, + function () { return mPass; } + ); + + + + oTest.fnComplete(); +} ); \ No newline at end of file