1 |
|
2 | var tf = new TableFilter('demo', {
|
3 | base_path: '../dist/tablefilter/',
|
4 | extensions:[{
|
5 | name: 'filtersVisibility',
|
6 | target_id: 'test',
|
7 | btn_text: 'Hello'
|
8 | }]
|
9 | });
|
10 | tf.init();
|
11 |
|
12 | var extTargetElement = document.createElement('div');
|
13 | extTargetElement.setAttribute('id', 'test');
|
14 | document.body.insertBefore(extTargetElement, tf.dom());
|
15 |
|
16 | module('Sanity checks');
|
17 | test('Filters visibility extension', function() {
|
18 | var ext = tf.extension('filtersVisibility');
|
19 | deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
|
20 | notEqual(ext, null, 'Extension instanciated');
|
21 | deepEqual(ext.initialized, true, 'Extension initialized');
|
22 | });
|
23 |
|
24 | module('Check UI');
|
25 | test('UI elements', function() {
|
26 | var ext = tf.extension('filtersVisibility');
|
27 | var btn = ext.btnEl;
|
28 | deepEqual(
|
29 | extTargetElement.firstChild.nodeName, 'SPAN', 'Container element');
|
30 | deepEqual(btn.nodeName, 'A', 'Button element');
|
31 | deepEqual(btn.textContent || btn.innerText, 'Hello', 'Expected text');
|
32 | ext.destroy();
|
33 | });
|
34 |
|
35 | test('Button without icon', function() {
|
36 | var ext = tf.extension('filtersVisibility');
|
37 |
|
38 | ext.btnEl = null;
|
39 | ext.targetId = null;
|
40 | ext.btnText = '';
|
41 | ext.collapseBtnHtml = ext.defaultText;
|
42 | ext.enableIcon = false;
|
43 | ext.init();
|
44 |
|
45 | deepEqual(ext.contEl.nodeName, 'SPAN', 'Container element');
|
46 | deepEqual(ext.btnEl.nodeName, 'A', 'Button element');
|
47 | deepEqual(ext.btnEl.innerHTML, 'Toggle filters', 'Expected text');
|
48 | });
|