UNPKG

3.09 kBJavaScriptView Raw
1
2var tf = new TableFilter('demo', 0, {
3 base_path: '../dist/tablefilter/'
4});
5tf.init();
6
7module('Sanity checks');
8test('No headers', function() {
9 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
10 deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
11 deepEqual(tf.refRow, 1, 'Reference row index');
12 notEqual(tf.getFilterElement(0), null, 'Filter element for column 0');
13});
14
15test('Can perform a search', function() {
16 tf.setFilterValue(1, 'Ade');
17 tf.filter();
18
19 deepEqual(tf.getValidRows(), [1], 'Filtered row');
20});
21
22test('Paging with no headers', function() {
23 tf.clearFilters();
24 tf.destroy();
25 tf = new TableFilter('demo', 0, {
26 base_path: '../dist/tablefilter/',
27 paging: true,
28 paging_length: 3
29 });
30 tf.init();
31
32 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
33 deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
34 deepEqual(tf.refRow, 1, 'Reference row index');
35 notEqual(tf.getFilterElement(0), null, 'Filter element for column 0');
36});
37
38test('Can perform a search', function() {
39 tf.setFilterValue(1, 'Ade');
40 tf.filter();
41
42 deepEqual(tf.getValidRows(), [1], 'Filtered row');
43});
44
45// Grid layout currently does not handle a table with no headers...
46// Raised in issue 110 (https://github.com/koalyptus/TableFilter/issues/110)
47test('Grid layout with no header', function() {
48 tf.clearFilters();
49 tf.destroy();
50 tf = new TableFilter('demo', {
51 base_path: '../dist/tablefilter/',
52 grid_layout: {
53 no_headers: true
54 }
55 });
56 tf.init();
57
58 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
59 deepEqual(tf.getFiltersRowIndex(), 1, 'Filters row index');
60 deepEqual(tf.refRow, 0, 'Reference row index');
61 notEqual(tf.getFilterElement(0), null, 'Filter element for column 0');
62 deepEqual(tf.getRowsNb(), 7, 'Filterable rows number');
63});
64test('Can perform a search', function() {
65 tf.setFilterValue(2, '<900');
66 tf.filter();
67
68 deepEqual(tf.getValidRows(), [2,3], 'Filtered row');
69});
70
71// With no toolbar cannot clear filters :)
72test('Popup filters with no header', function() {
73 tf.clearFilters();
74 tf.destroy();
75 tf = new TableFilter('demo', 0, {
76 base_path: '../dist/tablefilter/',
77 popup_filters: true
78 });
79 tf.init();
80
81 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
82 deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
83 deepEqual(tf.refRow, 1, 'Reference row index');
84 notEqual(tf.getFilterElement(0), null, 'Filter element for column 0');
85});
86
87test('Can perform a search', function() {
88 tf.setFilterValue(1, 'Melbourne');
89 tf.filter();
90
91 deepEqual(tf.getValidRows(), [4], 'Filtered row');
92});
93
94module('Tear-down');
95test('TableFilter removed', function() {
96 tf.clearFilters();
97 tf.destroy();
98 deepEqual(tf.isInitialized(), false, 'Filters removed');
99});