Server IP : 92.204.138.22 / Your IP : 18.116.15.109 Web Server : Apache System : Linux ns1009439.ip-92-204-138.us 4.18.0-553.8.1.el8_10.x86_64 #1 SMP Tue Jul 2 07:26:33 EDT 2024 x86_64 User : internationaljou ( 1019) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/internationaljou/www/application/admin1/bower_components/datatables/media/unit_testing/tests_onhold/4_server-side/ |
Upload File : |
// DATA_TEMPLATE: empty_table oTest.fnStart( "bAutoWidth" ); /* It's actually a little tricky to test this. We can't test absolute numbers because * different browsers and different platforms will render the width of the columns slightly * differently. However, we certainly can test the principle of what should happen (column * width doesn't change over pages) */ $(document).ready( function () { /* Check the default */ var oTable = $('#example').dataTable( { "bServerSide": true, "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php" } ); var oSettings = oTable.fnSettings(); oTest.fnWaitTest( "Auto width is enabled by default", null, function () { return oSettings.oFeatures.bAutoWidth; } ); oTest.fnWaitTest( "First column has a width assigned to it", null, function () { return $('#example thead th:eq(0)').attr('style').match(/width/i); } ); /* This would seem like a better test - but there appear to be difficulties with tables which are bigger (calculated) than there is actually room for. I suspect this is actually a bug in datatables oTest.fnWaitTest( "Check column widths on first page match second page", null, function () { var anThs = $('#example thead th'); var a0 = anThs[0].offsetWidth; var a1 = anThs[1].offsetWidth; var a2 = anThs[2].offsetWidth; var a3 = anThs[3].offsetWidth; var a4 = anThs[4].offsetWidth; $('#example_next').click(); var b0 = anThs[0].offsetWidth; var b1 = anThs[1].offsetWidth; var b2 = anThs[2].offsetWidth; var b3 = anThs[3].offsetWidth; var b4 = anThs[4].offsetWidth; console.log( a0, b0, a1, b1, a2, b2, a3, b3 ); if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 ) return true; else return false; } ); oTest.fnWaitTest( "Check column widths on second page match thid page", null, function () { var anThs = $('#example thead th'); var a0 = anThs[0].offsetWidth; var a1 = anThs[1].offsetWidth; var a2 = anThs[2].offsetWidth; var a3 = anThs[3].offsetWidth; var a4 = anThs[4].offsetWidth; $('#example_next').click(); var b0 = anThs[0].offsetWidth; var b1 = anThs[1].offsetWidth; var b2 = anThs[2].offsetWidth; var b3 = anThs[3].offsetWidth; var b4 = anThs[4].offsetWidth; if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 ) return true; else return false; } ); */ /* Check can disable */ oTest.fnWaitTest( "Auto width can be disabled", function () { oSession.fnRestore(); oTable = $('#example').dataTable( { "bServerSide": true, "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php", "bAutoWidth": false } ); oSettings = oTable.fnSettings(); }, function () { return oSettings.oFeatures.bAutoWidth == false; } ); oTest.fnWaitTest( "First column does not have a width assigned to it", null, function () { return $('#example thead th:eq(0)').attr('style') == null; } ); /* oTest.fnWaitTest( "Check column widths on first page do not match second page", null, function () { var anThs = $('#example thead th'); var a0 = anThs[0].offsetWidth; var a1 = anThs[1].offsetWidth; var a2 = anThs[2].offsetWidth; var a3 = anThs[3].offsetWidth; var a4 = anThs[4].offsetWidth; $('#example_next').click(); var b0 = anThs[0].offsetWidth; var b1 = anThs[1].offsetWidth; var b2 = anThs[2].offsetWidth; var b3 = anThs[3].offsetWidth; var b4 = anThs[4].offsetWidth; if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 ) return false; else return true; } ); */ /* Enable makes no difference */ oTest.fnWaitTest( "Auto width enabled override", function () { oSession.fnRestore(); oTable = $('#example').dataTable( { "bServerSide": true, "sAjaxSource": "../../../examples/server_side/scripts/server_processing.php", "bAutoWidth": true } ); oSettings = oTable.fnSettings(); }, function () { return oSettings.oFeatures.bAutoWidth; } ); oTest.fnComplete(); } );