X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=webapp%2Fresources%2Fdatatables-1.9.4%2Fmedia%2Funit_testing%2Ftests_onhold%2F4_server-side%2FsAjaxDataProp.js;fp=webapp%2Fresources%2Fdatatables-1.9.4%2Fmedia%2Funit_testing%2Ftests_onhold%2F4_server-side%2FsAjaxDataProp.js;h=c831c383906c24fd239cd2bbde86d3a3a1ae018c;hb=9bb6ee99ca7f738fac1087190b5481b8fe6e8d9f;hp=0000000000000000000000000000000000000000;hpb=2e3f6b76be585306f1003d849831840c0adb3360;p=proteocache.git diff --git a/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/4_server-side/sAjaxDataProp.js b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/4_server-side/sAjaxDataProp.js new file mode 100644 index 0000000..c831c38 --- /dev/null +++ b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/4_server-side/sAjaxDataProp.js @@ -0,0 +1,146 @@ +// DATA_TEMPLATE: empty_table +/* + * NOTE: There are some differences in this zero config script for server-side + * processing compared to the other data sources. The main reason for this is the + * difference in how the server-side processing does it's filtering. Also the + * sorting state is always reset on each draw. + */ +oTest.fnStart( "Custom data property in returned Ajax" ); + +$(document).ready( function () { + $('#example').dataTable( { + "bServerSide": true, + "sAjaxSource": "../../../examples/server_side/scripts/custom_data_property.php", + "sAjaxDataProp": "test" + } ); + + oTest.fnWaitTest( + "10 rows shown on the first page", + null, + function () { return $('#example tbody tr').length == 10; } + ); + + oTest.fnWaitTest( + "Initial sort occured", + null, + function () { return $('#example tbody td:eq(0)').html() == "Gecko"; } + ); + + /* Need to use the WaitTest for sorting due to the setTimeout datatables uses */ + oTest.fnWaitTest( + "Sorting (first click) on second column", + function () { $('#example thead th:eq(1)').click(); }, + function () { return $('#example tbody td:eq(1)').html() == "All others"; } + ); + + oTest.fnWaitTest( + "Sorting (second click) on second column", + function () { $('#example thead th:eq(1)').click(); }, + function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; } + ); + + oTest.fnWaitTest( + "Sorting (third click) on second column", + function () { $('#example thead th:eq(1)').click(); }, + function () { return $('#example tbody td:eq(1)').html() == "All others"; } + ); + + oTest.fnWaitTest( + "Sorting (first click) on numeric column", + function () { $('#example thead th:eq(3)').click(); }, + function () { return $('#example tbody td:eq(3)').html() == "-"; } + ); + + oTest.fnWaitTest( + "Sorting (second click) on numeric column", + function () { $('#example thead th:eq(3)').click(); }, + function () { return $('#example tbody td:eq(3)').html() == "522.1"; } + ); + + oTest.fnWaitTest( + "Sorting multi-column (first click)", + function () { + $('#example thead th:eq(0)').click(); + oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); }, + function () { var b = + $('#example tbody td:eq(0)').html() == "Gecko" && + $('#example tbody td:eq(1)').html() == "Camino 1.0"; return b; } + ); + + oTest.fnWaitTest( + "Sorting multi-column - sorting first column only", + function () { + $('#example thead th:eq(0)').click(); }, + function () { var b = + $('#example tbody td:eq(0)').html() == "Gecko" && + $('#example tbody td:eq(1)').html() == "Firefox 1.0"; return b; } + ); + + /* Basic paging */ + oTest.fnWaitTest( + "Paging to second page", + function () { $('#example_next').click(); }, + function () { return $('#example tbody td:eq(1)').html() == "Mozilla 1.1"; } + ); + + oTest.fnWaitTest( + "Paging to first page", + function () { $('#example_previous').click(); }, + function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; } + ); + + oTest.fnWaitTest( + "Attempting to page back beyond the first page", + function () { $('#example_previous').click(); }, + function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; } + ); + + /* Changing length */ + oTest.fnWaitTest( + "Changing table length to 25 records", + function () { $("select[name=example_length]").val('25').change(); }, + function () { return $('#example tbody tr').length == 25; } + ); + + oTest.fnWaitTest( + "Changing table length to 50 records", + function () { $("select[name=example_length]").val('50').change(); }, + function () { return $('#example tbody tr').length == 50; } + ); + + oTest.fnWaitTest( + "Changing table length to 100 records", + function () { $("select[name=example_length]").val('100').change(); }, + function () { return $('#example tbody tr').length == 57; } + ); + + oTest.fnWaitTest( + "Changing table length to 10 records", + function () { $("select[name=example_length]").val('10').change(); }, + function () { return $('#example tbody tr').length == 10; } + ); + + /* + * Information element + */ + oTest.fnWaitTest( + "Information on zero config", + null, + function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; } + ); + + oTest.fnWaitTest( + "Information on second page", + function () { $('#example_next').click(); }, + function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; } + ); + + oTest.fnWaitTest( + "Information on third page", + function () { $('#example_next').click(); }, + function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; } + ); + + + oTest.fnComplete(); +} ); \ No newline at end of file