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%2FbAutoWidth.js;fp=webapp%2Fresources%2Fdatatables-1.9.4%2Fmedia%2Funit_testing%2Ftests_onhold%2F3_ajax%2FbAutoWidth.js;h=ee49f7c107a5c959e6fff14a58f102f89ee1bdd3;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/bAutoWidth.js b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/3_ajax/bAutoWidth.js new file mode 100644 index 0000000..ee49f7c --- /dev/null +++ b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/3_ajax/bAutoWidth.js @@ -0,0 +1,142 @@ +// 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( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt" + } ); + 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( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "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( { + "sAjaxSource": "../../../examples/ajax/sources/arrays.txt", + "bAutoWidth": true + } ); + oSettings = oTable.fnSettings(); + }, + function () { return oSettings.oFeatures.bAutoWidth; } + ); + + + oTest.fnComplete(); +} ); \ No newline at end of file