mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-06-15 20:25:07 +02:00
92 lines
3 KiB
JavaScript
92 lines
3 KiB
JavaScript
|
|
var id = function (id){ return document.getElementById(id); };
|
|
|
|
var tf = new TableFilter('demo', {
|
|
base_path: '../dist/tablefilter/',
|
|
col_2: 'multiple',
|
|
col_3: 'select',
|
|
col_4: 'none',
|
|
popup_filters: true
|
|
});
|
|
tf.init();
|
|
|
|
var popupFilter = tf.feature('popupFilter');
|
|
module('Sanity checks');
|
|
test('Pop-up filter component', function() {
|
|
notEqual(popupFilter, null, 'PopupFilter instanciated');
|
|
deepEqual(popupFilter.popUpFltElms instanceof Array,
|
|
true, 'Type of popUpFltElms property');
|
|
});
|
|
|
|
module('UI elements');
|
|
test('Pop-up filter UI elements', function() {
|
|
var flt1 = id(tf.fltIds[3]);
|
|
var flt2 = id(tf.fltIds[2]);
|
|
var fltIcn1 = popupFilter.popUpFltImgs[3];
|
|
var fltIcn2 = popupFilter.popUpFltImgs[2];
|
|
var fltIcn3 = popupFilter.popUpFltImgs[4];
|
|
|
|
notEqual(flt1, null, 'Filter element exists');
|
|
notEqual(flt2, null, 'Filter element exists');
|
|
deepEqual(flt2.hasAttribute('multiple'), true, 'Multiple select exists');
|
|
deepEqual(fltIcn1.nodeName, 'IMG', 'Filter icon exists');
|
|
deepEqual(fltIcn2.nodeName, 'IMG', 'Filter icon exists');
|
|
deepEqual(fltIcn3, undefined, 'Filter icon does not exist for column 4');
|
|
});
|
|
|
|
test('TableFilter removed', function() {
|
|
tf.destroy();
|
|
var fltIcn1 = popupFilter.popUpFltImgs[3];
|
|
deepEqual(fltIcn1, undefined, 'Filter icon is removed');
|
|
deepEqual(id(tf.fltIds[3]), null, 'Filter is removed');
|
|
});
|
|
|
|
test('TableFilter re-initialised', function() {
|
|
tf.init();
|
|
var fltIcn1 = popupFilter.popUpFltImgs[3];
|
|
deepEqual(fltIcn1.nodeName, 'IMG', 'Filter icon exists');
|
|
deepEqual(id(tf.fltIds[3]).nodeName, 'SELECT', 'Filter exists');
|
|
});
|
|
|
|
module('Grid-layout');
|
|
test('Re-instantiated with grid-layout', function() {
|
|
tf.destroy();
|
|
tf = null;
|
|
tf = new TableFilter('demo', {
|
|
base_path: '../dist/tablefilter/',
|
|
col_2: 'multiple',
|
|
col_3: 'select',
|
|
col_4: 'none',
|
|
popup_filters: true,
|
|
grid_layout: true
|
|
});
|
|
tf.init();
|
|
|
|
notEqual(popupFilter, null, 'PopupFilter instanciated');
|
|
deepEqual(popupFilter.popUpFltElms instanceof Array,
|
|
true, 'Type of popUpFltElms property');
|
|
});
|
|
|
|
test('Pop-up filter UI elements with grid-layout', function() {
|
|
var popupFilter = tf.feature('popupFilter');
|
|
var flt1 = id(tf.fltIds[3]);
|
|
var flt2 = id(tf.fltIds[2]);
|
|
var fltIcn1 = popupFilter.popUpFltImgs[3];
|
|
var fltIcn2 = popupFilter.popUpFltImgs[2];
|
|
var fltIcn3 = popupFilter.popUpFltImgs[4];
|
|
|
|
notEqual(flt1, null, 'Filter element exists');
|
|
notEqual(flt2, null, 'Filter element exists');
|
|
deepEqual(flt2.hasAttribute('multiple'), true, 'Multiple select exists');
|
|
deepEqual(fltIcn1.nodeName, 'IMG', 'Filter icon exists');
|
|
deepEqual(fltIcn2.nodeName, 'IMG', 'Filter icon exists');
|
|
deepEqual(fltIcn3, undefined, 'Filter icon does not exist for column 4');
|
|
});
|
|
|
|
test('TableFilter removed', function() {
|
|
tf.destroy();
|
|
var fltIcn1 = popupFilter.popUpFltImgs[3];
|
|
deepEqual(fltIcn1, undefined, 'Filter icon is removed');
|
|
deepEqual(id(tf.fltIds[3]), null, 'Filter is removed');
|
|
});
|