1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-04-26 04:01:33 +02:00
TableFilter/test/test-ignore-diacritics.js
2016-10-22 19:38:03 +11:00

91 lines
2.6 KiB
JavaScript

(function(win, TableFilter){
var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
ignore_diacritics: true
});
tf.init();
module('Sanity checks');
test('Enable ignore diacritics', function() {
deepEqual(tf instanceof TableFilter, true, 'TableFilter type');
deepEqual(tf.ignoreDiacritics, true, 'Ignore diacritics enabled');
});
module('Behaviour');
test('Filter with `jero`', function() {
tf.setFilterValue(1, 'jero');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Expected match');
});
test('Filter with `jérô`', function() {
tf.setFilterValue(1, 'jérô');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Expected match');
});
test('Filter with `brun`', function() {
tf.setFilterValue(1, 'brun');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Expected match');
});
test('Filter with `brün`', function() {
tf.setFilterValue(1, 'brün');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Expected match');
});
test('Ignore diacritcs default', function() {
tf.destroy();
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/'
});
tf.init();
tf.setFilterValue(1, 'jero');
tf.filter();
deepEqual(tf.getValidRows().length, 0, '0 matches');
tf.clearFilters();
tf.setFilterValue(1, 'jérô');
tf.filter();
deepEqual(tf.getValidRows().length, 1, '1 matches');
});
test('Ignore diacritcs on a column basis', function() {
tf.destroy();
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
ignore_diacritics: [false, true, false]
});
tf.init();
tf.setFilterValue(0, 'falo');
tf.filter();
deepEqual(tf.getValidRows().length, 0, 'Column: 0 - 0 matches');
tf.clearFilters();
tf.setFilterValue(0, 'falò');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Column: 0 - 1 matches');
tf.clearFilters();
tf.setFilterValue(1, 'jero');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Column: 1 - 1 matches');
tf.clearFilters();
tf.setFilterValue(1, 'jérô');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Column: 1 - 1 matches');
});
module('Tear-down');
test('can destroy', function() {
tf.destroy();
deepEqual(tf.isInitialized(), false, 'Removed');
});
})(window, TableFilter);