1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-19 23:06:42 +02:00
TableFilter/test/test-exact-query-match.js

57 lines
1.8 KiB
JavaScript
Raw Normal View History

2015-05-24 11:16:09 +02:00
(function(win, TableFilter){
var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
exact_match: true
});
tf.init();
module('Sanity checks');
test('Enable exact query match', function() {
deepEqual(tf instanceof TableFilter, true, 'TableFilter type');
deepEqual(tf.exactMatch, true, 'Exact query match enabled');
2015-05-24 11:16:09 +02:00
});
module('Behaviour');
test('After filtering with `syd`', function() {
tf.setFilterValue(0, 'syd');
2016-01-02 15:33:31 +01:00
tf.filter();
2015-05-24 11:16:09 +02:00
deepEqual(tf.getValidRows().length, 0, 'No matches');
});
test('After filtering with `sydney`', function() {
tf.setFilterValue(0, 'sydney');
2016-01-02 15:33:31 +01:00
tf.filter();
2015-05-24 11:16:09 +02:00
deepEqual(tf.getValidRows().length>0, true, 'Matches');
});
module('Re-instantiate with exact match by column');
test('Enable extact query match by column', function() {
tf.destroy();
tf = null;
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
columns_exact_match: [true, true, false, false, false]
});
tf.init();
deepEqual(tf instanceof TableFilter, true, 'TableFilter type');
deepEqual(tf.hasExactMatchByCol, true,
'Exact query match by column enabled');
});
module('Behaviour with exact match by column');
test('After filtering with `syd`', function() {
tf.setFilterValue(0, 'syd');
tf.setFilterValue(1, 'bris');
2016-01-02 15:33:31 +01:00
tf.filter();
deepEqual(tf.getValidRows().length, 0, 'No matches');
});
test('After filtering with `sydney`', function() {
tf.clearFilters();
tf.setFilterValue(0, 'sydney');
2016-01-02 15:33:31 +01:00
tf.filter();
deepEqual(tf.getValidRows().length>0, true, 'Matches');
});
2015-05-24 11:16:09 +02:00
})(window, TableFilter);