1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "aoSearchCols" );
4 /* We could be here forever testing this one, so we test a limited subset on a couple of colums */
6 $(document).ready( function () {
7 /* Check the default */
8 var oTable = $('#example').dataTable( {
9 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
11 { "mData": "engine" },
12 { "mData": "browser" },
13 { "mData": "platform" },
14 { "mData": "version" },
18 var oSettings = oTable.fnSettings();
21 "Default should be to have a empty colums array",
25 oSettings.aoPreSearchCols[0].sSearch == 0 && !oSettings.aoPreSearchCols[0].bRegex &&
26 oSettings.aoPreSearchCols[1].sSearch == 0 && !oSettings.aoPreSearchCols[1].bRegex &&
27 oSettings.aoPreSearchCols[2].sSearch == 0 && !oSettings.aoPreSearchCols[2].bRegex &&
28 oSettings.aoPreSearchCols[3].sSearch == 0 && !oSettings.aoPreSearchCols[3].bRegex &&
29 oSettings.aoPreSearchCols[4].sSearch == 0 && !oSettings.aoPreSearchCols[4].bRegex;
36 "Search on a single column - no regex statement given",
39 oTable = $('#example').dataTable( {
40 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
42 { "mData": "engine", "aTargets": [0] },
43 { "mData": "browser", "aTargets": [1] },
44 { "mData": "platform", "aTargets": [2] },
45 { "mData": "version", "aTargets": [3] },
46 { "mData": "grade", "aTargets": [4] }
50 { "sSearch": "Mozilla" },
57 function () { return $('#example_info').html() == "Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
61 "Search on two columns - no regex statement given",
64 oTable = $('#example').dataTable( {
65 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
67 { "mData": "engine", "aTargets": [0] },
68 { "mData": "browser", "aTargets": [1] },
69 { "mData": "platform", "aTargets": [2] },
70 { "mData": "version", "aTargets": [3] },
71 { "mData": "grade", "aTargets": [4] }
75 { "sSearch": "Mozilla" },
82 function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1.5"; }
86 "Search on single column - escape regex false",
89 oTable = $('#example').dataTable( {
90 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
92 { "mData": "engine", "aTargets": [0] },
93 { "mData": "browser", "aTargets": [1] },
94 { "mData": "platform", "aTargets": [2] },
95 { "mData": "version", "aTargets": [3] },
96 { "mData": "grade", "aTargets": [4] }
99 { "sSearch": ".*ML", "bEscapeRegex": false },
107 function () { return $('#example_info').html() == "Showing 1 to 3 of 3 entries (filtered from 57 total entries)"; }
111 "Search on two columns - escape regex false on first, true on second",
113 oSession.fnRestore();
114 oTable = $('#example').dataTable( {
115 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
117 { "mData": "engine", "aTargets": [0] },
118 { "mData": "browser", "aTargets": [1] },
119 { "mData": "platform", "aTargets": [2] },
120 { "mData": "version", "aTargets": [3] },
121 { "mData": "grade", "aTargets": [4] }
124 { "sSearch": ".*ML", "bEscapeRegex": false },
125 { "sSearch": "3.3", "bEscapeRegex": true },
132 function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Konqureror 3.3"; }
136 "Search on two columns (no records) - escape regex false on first, true on second",
138 oSession.fnRestore();
139 oTable = $('#example').dataTable( {
140 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
142 { "mData": "engine", "aTargets": [0] },
143 { "mData": "browser", "aTargets": [1] },
144 { "mData": "platform", "aTargets": [2] },
145 { "mData": "version", "aTargets": [3] },
146 { "mData": "grade", "aTargets": [4] }
149 { "sSearch": ".*ML", "bEscapeRegex": false },
150 { "sSearch": "Allan", "bEscapeRegex": true },
157 function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }