X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=webapp%2Fresources%2Fdatatables-1.9.4%2Fmedia%2Funit_testing%2Ftests_onhold%2F3_ajax%2FfnHeaderCallback.js;fp=webapp%2Fresources%2Fdatatables-1.9.4%2Fmedia%2Funit_testing%2Ftests_onhold%2F3_ajax%2FfnHeaderCallback.js;h=dd1612876d594324fa7298afda6f9a238f6cb1ba;hb=9bb6ee99ca7f738fac1087190b5481b8fe6e8d9f;hp=0000000000000000000000000000000000000000;hpb=2e3f6b76be585306f1003d849831840c0adb3360;p=proteocache.git diff --git a/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js new file mode 100644 index 0000000..dd16128 --- /dev/null +++ b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js @@ -0,0 +1,191 @@ +// DATA_TEMPLATE: empty_table +oTest.fnStart( "fnHeaderCallback" ); + +$(document).ready( function () { + /* Check the default */ + var oTable = $('#example').dataTable( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt" + } ); + 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", + "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", + "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", + "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", + "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", + "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", + "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", + "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", + "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