UNPKG

3.68 kBJavaScriptView Raw
1
2var tf = new TableFilter('demo', {
3 base_path: '../dist/tablefilter/'
4});
5tf.init();
6
7module('Sanity checks');
8test('tfoot', function() {
9 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
10 deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
11 deepEqual(tf.refRow, 2, 'Reference row index');
12 deepEqual(tf.getRowsNb(), 7, 'nb working rows');
13 deepEqual(tf.getRowsNb(true), 9, 'nb working rows with headers');
14 notEqual(tf.getFilterElement(0), null, 'Filter element for column 0');
15
16 tf.setFilterValue(1, 'Ade');
17 tf.filter();
18
19 deepEqual(tf.getValidRows(), [2], 'Filtered row');
20 deepEqual(
21 tf.getVisibleColumnData(0),
22 ['Sydney'],
23 'Get data API does not include footer'
24 );
25 deepEqual(
26 tf.getFilteredDataCol(0),
27 ['Sydney'],
28 'Get data API does not include footer'
29 );
30});
31
32test('tfoot with paging', function() {
33 tf.destroy();
34 tf = new TableFilter('demo', {
35 base_path: '../dist/tablefilter/',
36 paging: { length: 3 }
37 });
38 tf.init();
39
40 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
41 deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
42 deepEqual(tf.refRow, 2, 'Reference row index');
43 deepEqual(tf.getRowsNb(), 7, 'nb working rows');
44 deepEqual(tf.getRowsNb(true), 9, 'nb working rows with headers');
45 notEqual(tf.getFilterElement(0), null, 'Filter element for column 0');
46
47 tf.setFilterValue(1, 'Ade');
48 tf.filter();
49
50 deepEqual(tf.getValidRows(), [2], 'Filtered row');
51
52 deepEqual(tf.getValidRows(), [2], 'Filtered row');
53 deepEqual(
54 tf.getVisibleColumnData(0),
55 ['Sydney'],
56 'Get data API does not include footer'
57 );
58 deepEqual(
59 tf.getFilteredDataCol(0),
60 ['Sydney'],
61 'Get data API does not include footer'
62 );
63
64 tf.clearFilters();
65
66 var paging = tf.feature('paging');
67 paging.setPage(3);
68
69 deepEqual(tf.getRowDisplay(tf.dom().tFoot.rows[0]), '',
70 'Footer row visible');
71
72 deepEqual(tf.getRowDisplay(tf.dom().tFoot.rows[1]), '',
73 'Footer row visible');
74});
75
76test('tfoot with grid-layout', function() {
77 tf.destroy();
78 tf = new TableFilter('demo', {
79 base_path: '../dist/tablefilter/',
80 grid_layout: true
81 });
82 tf.init();
83
84 deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
85 deepEqual(tf.getFiltersRowIndex(), 1, 'Filters row index');
86 deepEqual(tf.refRow, 0, 'Reference row index');
87 deepEqual(tf.getRowsNb(), 7, 'nb working rows');
88 deepEqual(tf.getRowsNb(true), 7, 'nb working rows with headers');
89 notEqual(tf.getFilterElement(0), null, 'Filter element for column 0');
90
91 tf.setFilterValue(1, 'Ade');
92 tf.filter();
93
94 deepEqual(tf.getValidRows(), [0], 'Filtered row');
95
96 tf.setFilterValue(1, 'Ade');
97 tf.filter();
98
99 deepEqual(tf.getValidRows(), [0], 'Filtered row');
100 deepEqual(
101 tf.getVisibleColumnData(0),
102 ['Sydney'],
103 'Get data API does not include footer'
104 );
105 deepEqual(
106 tf.getFilteredDataCol(0),
107 ['Sydney'],
108 'Get data API does not include footer'
109 );
110
111 deepEqual(tf.getRowDisplay(tf.dom().tFoot.rows[0]), '',
112 'Footer row visible');
113
114 deepEqual(tf.getRowDisplay(tf.dom().tFoot.rows[1]), '',
115 'Footer row visible');
116});
117
118module('Tear-down');
119test('TableFilter removed', function() {
120 tf.clearFilters();
121 tf.destroy();
122 deepEqual(tf.isInitialized(), false, 'Filters removed');
123});