UNPKG

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