1 |
|
2 | var tf = new TableFilter('demo', {
|
3 | base_path: '../dist/tablefilter/',
|
4 | grid_layout: true,
|
5 | extensions:[{
|
6 | name: 'filtersVisibility',
|
7 | visible_at_start: false
|
8 | }]
|
9 | });
|
10 | tf.init();
|
11 |
|
12 | var gridLayout = tf.feature('gridLayout');
|
13 | var filtersRow = gridLayout.headTbl.rows[tf.getFiltersRowIndex()];
|
14 |
|
15 | module('Sanity checks');
|
16 | test('Filters visibility extension', function() {
|
17 | var ext = tf.extension('filtersVisibility');
|
18 | deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
|
19 | notEqual(ext, null, 'Extension instanciated');
|
20 | deepEqual(ext.initialized, true, 'Extension initialized');
|
21 | });
|
22 |
|
23 | module('UI');
|
24 | test('Filters visibility extension', function() {
|
25 | var ext = tf.extension('filtersVisibility');
|
26 | var cont = ext.contEl;
|
27 | var btn = ext.btnEl;
|
28 | deepEqual(filtersRow.style.display, 'none', 'Filters hidden');
|
29 | deepEqual(cont.nodeName, 'SPAN', 'Container element');
|
30 | deepEqual(btn.nodeName, 'A', 'Button element');
|
31 | });
|
32 |
|
33 | module('Check behaviours');
|
34 | test('Toggle filters', function() {
|
35 | var ext = tf.extension('filtersVisibility');
|
36 | ext.toggle();
|
37 |
|
38 | deepEqual(filtersRow.style.display, '', 'Filters displayed');
|
39 |
|
40 | ext.toggle();
|
41 | deepEqual(filtersRow.style.display, 'none', 'Filters hidden');
|
42 | });
|
43 |
|
44 | test('Remove extension', function() {
|
45 | var ext = tf.extension('filtersVisibility');
|
46 | ext.destroy();
|
47 | deepEqual(ext.contEl, null, 'Container element removed');
|
48 | deepEqual(ext.btnEl, null, 'Button element removed');
|
49 | deepEqual(ext.initialized, false, 'Extension not initialized');
|
50 | });
|