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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
describe('searching option', function() {
dt.libs({
js: ['jquery', 'datatables'],
css: ['datatables']
});
describe('Check the defaults', function() {
dt.html('basic');
it('Default is enabled', function() {
expect($.fn.dataTable.defaults.bFilter).toBe(true);
});
dt.html('basic');
it('Filter there if not specified', function() {
$('#example').DataTable();
expect($('div.dataTables_filter').length).toBe(1);
});
dt.html('basic');
it('Filter there if specified', function() {
$('#example').DataTable({
searching: true
});
expect($('div.dataTables_filter').length).toBe(1);
});
dt.html('basic');
it('Filter not there if disabled', function() {
$('#example').DataTable({
searching: false
});
expect($('div.dataTables_filter').length).toBe(0);
});
});
describe('Functional tests', function() {
dt.html('two_tables');
it('Can specify differently on multiple tables', function() {
$('#example_one').DataTable({
searching: true
});
$('#example_two').DataTable({
searching: false
});
expect($('#example_one_wrapper div.dataTables_filter').length).toBe(1);
expect($('#example_two_wrapper div.dataTables_filter').length).toBe(0);
});
});
// the following tests are historical - a bit verbose and not focused on the option, but does no harm to leave in
describe('Check searches', function() {
dt.html('basic');
it('searching enabled by default- DOM', function() {
$('#example').dataTable();
$('div.dataTables_filter input')
.val(33)
.keyup();
expect(
$('div.dataTables_info').html() == 'Showing 1 to 2 of 2 entries (filtered from 57 total entries)'
).toBeTruthy();
});
it('searching enabled by default- API', function() {
$('#example')
.DataTable()
.search(33)
.draw();
expect(
$('div.dataTables_info').html() == 'Showing 1 to 2 of 2 entries (filtered from 57 total entries)'
).toBeTruthy();
});
it('Can search multiple space separated words- DOM', function() {
$('div.dataTables_filter input')
.val('New 3')
.keyup();
expect(
$('div.dataTables_info').html() == 'Showing 1 to 5 of 5 entries (filtered from 57 total entries)'
).toBeTruthy();
});
it('Can search multiple space separated words- API', function() {
$('#example')
.DataTable()
.search('New 3')
.draw();
expect(
$('div.dataTables_info').html() == 'Showing 1 to 5 of 5 entries (filtered from 57 total entries)'
).toBeTruthy();
});
});
describe('Check can disable', function() {
dt.html('basic');
it('Searching can be disabled', function() {
$('#example').dataTable({
searching: false
});
expect($('div.dataTables_filter').is(':visible')).toBe(false);
});
it('Searching on disabled table has no effect- DOM', function() {
$('div.dataTables_filter input')
.val('New 3')
.keyup();
expect($('div.dataTables_info').html() == 'Showing 1 to 10 of 57 entries').toBeTruthy();
});
it('Searching on disabled table has no effect- API', function() {
$('#example')
.DataTable()
.search(33)
.draw();
expect($('div.dataTables_info').html() == 'Showing 1 to 10 of 57 entries').toBeTruthy();
});
});
describe('Check enable override', function() {
dt.html('basic');
it('Searching enabled override- DOM', function() {
$('#example').dataTable({
searching: true
});
$('div.dataTables_filter input')
.val('New 3')
.keyup();
expect(
$('div.dataTables_info').html() == 'Showing 1 to 5 of 5 entries (filtered from 57 total entries)'
).toBeTruthy();
});
it('Searching enabled override- API', function() {
$('#example')
.DataTable()
.search('New 3')
.draw();
expect(
$('div.dataTables_info').html() == 'Showing 1 to 5 of 5 entries (filtered from 57 total entries)'
).toBeTruthy();
});
});
});
|