1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | // DATA_TEMPLATE: empty_table oTest.fnStart( "oSearch" ); /* Note with my server-side scripts the regex option has no effect - this just runs that down */ $(document).ready( function () { /* Check the default */ var oTable = $('#example').dataTable( { "bServerSide": true, "sAjaxSource": "../../../examples/examples_support/server_processing.php" } ); var oSettings = oTable.fnSettings(); oTest.fnWaitTest( "Default values should be blank", null, function () { var bReturn = oSettings.oPreviousSearch.sSearch == "" && !oSettings.oPreviousSearch.bRegex; return bReturn; } ); /* This test might be considered iffy since the full object isn't given, but it's reasonable to * expect DataTables to cope with this. It should just assumine regex false */ oTest.fnWaitTest( "Search term only in object", function () { oSession.fnRestore(); oTable = $('#example').dataTable( { "bServerSide": true, "sAjaxSource": "../../../examples/examples_support/server_processing.php", "oSearch": { "sSearch": "Mozilla" } } ); }, function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1"; } ); oTest.fnWaitTest( "New search will kill old one", function () { oTable.fnFilter("Opera"); }, function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Opera 7.0"; } ); oTest.fnWaitTest( "Search plain text term and escape regex true", function () { oSession.fnRestore(); $('#example').dataTable( { "bServerSide": true, "sAjaxSource": "../../../examples/examples_support/server_processing.php", "oSearch": { "sSearch": "DS", "bRegex": false } } ); }, function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Nintendo DS browser"; } ); oTest.fnWaitTest( "Search plain text term and escape regex false", function () { oSession.fnRestore(); $('#example').dataTable( { "bServerSide": true, "sAjaxSource": "../../../examples/examples_support/server_processing.php", "oSearch": { "sSearch": "Opera", "bRegex": true } } ); }, function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Opera 7.0"; } ); oTest.fnWaitTest( "Search regex text term and escape regex true", function () { oSession.fnRestore(); $('#example').dataTable( { "bServerSide": true, "sAjaxSource": "../../../examples/examples_support/server_processing.php", "oSearch": { "sSearch": "1.*", "bRegex": false } } ); }, function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; } ); oTest.fnComplete(); } ); |