UNPKG

2.84 kBJavaScriptView Raw
1
2(function(win, TableFilter){
3
4 var tf = new TableFilter('demo', {
5 base_path: '../dist/tablefilter/',
6 col_3: 'select',
7 custom_options: {
8 cols: [3],
9 texts: [['0-0.5', '0.5-1', '1-2', '>2']],
10 values: [['>0 && <=0.5', '>0.5 && <=1', '>1 && <=2', '>2']],
11 sorts: [false]
12 }
13 });
14 tf.init();
15
16 module('Sanity checks');
17 test('Filter type', function() {
18 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
19 deepEqual(
20 tf.getFilterElement(3).nodeName, 'SELECT', 'Expected filter type');
21 });
22
23 module('Behaviour');
24 test('Filter column with custom filter', function() {
25 var flt = tf.getFilterElement(3);
26 flt.selectedIndex = flt.options.length-1;
27 tf.filter();
28
29 deepEqual(
30 tf.getFilteredData().length, 2, 'Expected nb of filtered rows');
31
32 tf.clearFilters();
33
34 deepEqual(
35 tf.getFilteredData().length, 7, 'Expected nb of filtered rows');
36 });
37
38 test('Paging: filter column with custom filter', function() {
39 tf.destroy();
40 tf = null;
41 tf = new TableFilter('demo', {
42 col_3: 'select',
43 custom_options: {
44 cols: [3],
45 texts: [['0-0.5', '0.5-1', '1-2', '>2']],
46 values: [['>0 && <=0.5', '>0.5 && <=1', '>1 && <=2', '>2']],
47 sorts: [false]
48 },
49 paging: true,
50 paging_length: 3
51 });
52 tf.init();
53
54 var flt = tf.getFilterElement(3);
55 flt.selectedIndex = flt.options.length-1;
56 tf.filter();
57
58 deepEqual(
59 tf.getFilteredData().length, 2, 'Expected nb of filtered rows');
60
61 tf.clearFilters();
62
63 deepEqual(
64 tf.getFilteredData().length, 7, 'Expected nb of filtered rows');
65
66 tf.destroy();
67 tf = null;
68 });
69
70 test('Grid layout: filter column with custom filter', function() {
71 tf = new TableFilter('demo', {
72 base_path: '../dist/tablefilter/',
73 col_3: 'select',
74 custom_options: {
75 cols: [3],
76 texts: [['0-0.5', '0.5-1', '1-2', '>2']],
77 values: [['>0 && <=0.5', '>0.5 && <=1', '>1 && <=2', '>2']],
78 sorts: [false]
79 },
80 grid_layout: true
81 });
82 tf.init();
83
84 var flt = tf.getFilterElement(3);
85 flt.selectedIndex = flt.options.length-1;
86 tf.filter();
87
88 deepEqual(
89 tf.getFilteredData().length, 2, 'Expected nb of filtered rows');
90
91 tf.clearFilters();
92
93 deepEqual(
94 tf.getFilteredData().length, 7, 'Expected nb of filtered rows');
95
96 tf.destroy();
97 tf = null;
98 });
99
100})(window, TableFilter);