UNPKG

3.17 kBJavaScriptView Raw
1
2var tf = new TableFilter('demo', 3, {
3 base_path: '../dist/tablefilter/',
4 filters_row_index: 3,
5 headers_row_index: 2
6});
7tf.init();
8
9module('Sanity checks');
10test('Grouped headers', function() {
11 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
12 deepEqual(tf.getFiltersRowIndex(), 3, 'Filters row index');
13 deepEqual(tf.getHeadersRowIndex(), 2, 'Headers row index');
14 deepEqual(tf.getStartRowIndex(), 4, 'Reference row index');
15});
16
17test('Can perform a search', function() {
18 tf.setFilterValue(1, 'Ade');
19 tf.filter();
20 deepEqual(tf.getValidRows(), [4], 'Filtered row');
21});
22
23module('Paging');
24test('Sanity checks', function() {
25 tf.clearFilters();
26 tf.destroy();
27 tf = new TableFilter('demo', 3, {
28 base_path: '../dist/tablefilter/',
29 filters_row_index: 3,
30 headers_row_index: 2,
31 paging: {
32 length: 3
33 }
34 });
35 tf.init();
36
37 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
38 deepEqual(tf.getFiltersRowIndex(), 3, 'Filters row index');
39 deepEqual(tf.getHeadersRowIndex(), 2, 'Headers row index');
40 deepEqual(tf.getStartRowIndex(), 4, 'Reference row index');
41});
42
43test('Can perform a search', function() {
44 tf.setFilterValue(2, '>100');
45 tf.filter();
46
47 deepEqual(tf.getValidRows(), [4, 5, 6, 7, 8, 9, 10], 'Filtered rows');
48 deepEqual(
49 tf.feature('paging').nbPages,
50 3,
51 'Number of pages for filtered rows'
52 );
53});
54
55module('Pop-up filters');
56test('Sanity checks', function() {
57 tf.clearFilters();
58 tf.feature('paging').destroy();
59 tf.destroy();
60 tf = new TableFilter('demo', 3, {
61 base_path: '../dist/tablefilter/',
62 headers_row_index: 2,
63 popup_filters: true
64 });
65 tf.init();
66
67 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
68 deepEqual(tf.getHeadersRowIndex(), 3, 'Headers row index');
69 deepEqual(tf.getStartRowIndex(), 4, 'Reference row index');
70});
71
72test('Can perform a search', function() {
73 tf.setFilterValue(1, 'Melb');
74 tf.filter();
75
76 deepEqual(tf.getValidRows(), [7], 'Filtered rows');
77});
78
79module('Pop-up filters, issue #295');
80test('Sanity checks', function() {
81 var tf2 = new TableFilter('demo2', 2, {
82 base_path: '../dist/tablefilter/',
83 headers_row_index: 1,
84 popup_filters: true
85 });
86 tf2.init();
87 tf2.setFilterValue(1, 'Melb');
88 tf2.filter();
89
90 deepEqual(tf2 instanceof TableFilter, true, 'TableFilter instanciated');
91 deepEqual(tf2.getHeadersRowIndex(), 2, 'Headers row index');
92 deepEqual(tf2.getStartRowIndex(), 3, 'Reference row index');
93 deepEqual(tf2.getValidRows(), [6], 'Filtered rows');
94
95 tf2.clearFilters();
96 tf2.destroy();
97 deepEqual(tf2.isInitialized(), false, 'Filters removed');
98});
99
100//Grid-layout currently does not support grouped headers
101
102module('Tear-down');
103test('TableFilter removed', function() {
104 tf.clearFilters();
105 tf.destroy();
106 deepEqual(tf.isInitialized(), false, 'Filters removed');
107});