mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-05-17 05:46:39 +02:00
222 lines
6.9 KiB
JavaScript
222 lines
6.9 KiB
JavaScript
var tf = new TableFilter('demo', {
|
|
base_path: '../dist/tablefilter/',
|
|
rows_counter: true,
|
|
allow_uneven_rows: true
|
|
});
|
|
tf.init();
|
|
|
|
// var toolbar = tf.feature('toolbar');
|
|
|
|
module('Sanity checks');
|
|
test('toolbar component', function() {
|
|
// assert
|
|
notEqual(toolbar, null, 'toolbar instanciated');
|
|
equal(toolbar.contCssClass, 'inf', 'container css class');
|
|
equal(toolbar.lContCssClass, 'ldiv', 'left container css class');
|
|
equal(toolbar.cContCssClass, 'mdiv', 'middle container css class');
|
|
equal(toolbar.rContCssClass, 'rdiv', 'right container css class');
|
|
equal(toolbar.tgtId, null, 'external container id null');
|
|
notEqual(toolbar.cont, null, 'container created');
|
|
notEqual(toolbar.lCont, null, 'left inner container created');
|
|
notEqual(toolbar.cCont, null, 'middle inner container created');
|
|
notEqual(toolbar.rCont, null, 'right inner container created');
|
|
equal(toolbar.emitter.events['initializing-feature'].length, 1,
|
|
'subscribed to `initializing-feature` event');
|
|
equal(toolbar.emitter.events['initializing-extension'].length, 1,
|
|
'subscribed to `initializing-extension` event');
|
|
});
|
|
|
|
// module('Feature interface');
|
|
// test('Properties', function() {
|
|
// deepEqual(toolbar.tf instanceof TableFilter, true,
|
|
// 'TableFilter instance');
|
|
// deepEqual(toolbar.feature, 'toolbar', 'Feature name');
|
|
// deepEqual(toolbar.enabled, true, 'Feature enabled');
|
|
// deepEqual(toolbar.initialized, true, 'Feature enabled');
|
|
// deepEqual(typeof toolbar.config, 'object', 'TF configuration object');
|
|
// deepEqual(typeof toolbar.init, 'function', 'Feature init method');
|
|
// deepEqual(typeof toolbar.destroy, 'function', 'Feature destroy method');
|
|
// deepEqual(typeof toolbar.reset, 'function', 'Feature reset method');
|
|
// deepEqual(typeof toolbar.enable, 'function', 'Feature enable method');
|
|
// deepEqual(typeof toolbar.disable, 'function', 'Feature enable method');
|
|
// deepEqual(typeof toolbar.isEnabled, 'function', 'Feature enable method');
|
|
// });
|
|
// test('Can destroy', function() {
|
|
// toolbar.destroy();
|
|
// deepEqual(toolbar.initialized, false, 'not initialised');
|
|
// });
|
|
// test('Can reset', function() {
|
|
// toolbar.reset();
|
|
// deepEqual(toolbar.enabled, true, 'enabled');
|
|
// });
|
|
// test('Can disable', function() {
|
|
// toolbar.disable();
|
|
// deepEqual(toolbar.enabled, false, 'disabled');
|
|
// });
|
|
// test('Can enable', function() {
|
|
// toolbar.enable();
|
|
// deepEqual(toolbar.enabled, true, 'enabled');
|
|
// });
|
|
// test('Can init', function() {
|
|
// toolbar.destroy();
|
|
// toolbar.enable();
|
|
// toolbar.init();
|
|
// deepEqual(toolbar.enabled, true, 'enabled');
|
|
// });
|
|
// test('Can check is enabled', function() {
|
|
// toolbar.isEnabled();
|
|
// deepEqual(toolbar.enabled, true, 'enabled');
|
|
// });
|
|
|
|
// module('Behaviour');
|
|
// test('Does not init if initialised', function() {
|
|
// // setup
|
|
// var createContainer = toolbar.createContainer;
|
|
// var hit = 0;
|
|
// toolbar.createContainer = function() {
|
|
// hit++;
|
|
// };
|
|
|
|
// // act
|
|
// toolbar.init();
|
|
|
|
// // assert
|
|
// deepEqual(hit, 0, 'does not initialise');
|
|
|
|
// toolbar.createContainer = createContainer;
|
|
// });
|
|
|
|
// test('Does not init if external', function() {
|
|
// // setup
|
|
// toolbar.initialized = false;
|
|
// var createContainer = toolbar.createContainer;
|
|
// var hit = 0;
|
|
// toolbar.createContainer = function() {
|
|
// hit++;
|
|
// };
|
|
|
|
// // act
|
|
// toolbar.init(true);
|
|
|
|
// // assert
|
|
// deepEqual(hit, 0, 'does not initialise');
|
|
|
|
// toolbar.createContainer = createContainer;
|
|
// toolbar.initialized = true;
|
|
// });
|
|
|
|
// test('Can get container', function() {
|
|
// // act
|
|
// var result = toolbar.container('left');
|
|
|
|
// // assert
|
|
// deepEqual(result, toolbar.cont.querySelector('.ldiv'),
|
|
// 'left inner container');
|
|
// });
|
|
|
|
// test('Can get default container', function() {
|
|
// // act
|
|
// var result = toolbar.container();
|
|
|
|
// // assert
|
|
// deepEqual(result, toolbar.cont.querySelector('.rdiv'),
|
|
// 'left inner container');
|
|
// });
|
|
|
|
// test('Can get container with appended element', function() {
|
|
// // act
|
|
// var result = toolbar.container('center',
|
|
// document.createElement('span')
|
|
// .appendChild(document.createTextNode('test')));
|
|
|
|
// // assert
|
|
// deepEqual(result.firstChild, toolbar.cont.querySelector('.mdiv')
|
|
// .firstChild,
|
|
// 'center inner container with appended element');
|
|
// });
|
|
|
|
// test('Can create container with css class', function() {
|
|
// // act
|
|
// var result = toolbar.createContainer(toolbar.cont, 'test');
|
|
|
|
// // assert
|
|
// deepEqual(result, toolbar.cont.querySelector('.test'),
|
|
// 'inner container created');
|
|
// });
|
|
|
|
// module('Custom css');
|
|
// test('config with custom css', function() {
|
|
// // setup
|
|
// tf.destroy();
|
|
// tf = new TableFilter('demo', {
|
|
// base_path: '../dist/tablefilter/',
|
|
// toolbar: {
|
|
// container_css_class: 'cont-css',
|
|
// left_cont_css_class: 'left-cont-css',
|
|
// right_cont_css_class: 'right-cont-css',
|
|
// center_cont_css_class: 'center-cont-css'
|
|
// }
|
|
// });
|
|
|
|
// // act
|
|
// tf.init();
|
|
// var toolbar = tf.feature('toolbar');
|
|
|
|
// deepEqual(toolbar.cont, document.querySelector('.cont-css'),
|
|
// 'container with custom css class');
|
|
// deepEqual(toolbar.lCont, toolbar.cont.querySelector('.left-cont-css'),
|
|
// 'left inner container with custom css class');
|
|
// deepEqual(toolbar.rCont, document.querySelector('.right-cont-css'),
|
|
// 'right inner container with custom css class');
|
|
// deepEqual(toolbar.cCont, document.querySelector('.center-cont-css'),
|
|
// 'middle inner container with custom css class');
|
|
// });
|
|
|
|
// module('External container');
|
|
// test('config with external container id', function() {
|
|
// // setup
|
|
// tf.destroy();
|
|
// tf = new TableFilter('demo', {
|
|
// base_path: '../dist/tablefilter/',
|
|
// toolbar: {
|
|
// target_id: 'ext-cont'
|
|
// }
|
|
// });
|
|
|
|
// // act
|
|
// tf.init();
|
|
// var toolbar = tf.feature('toolbar');
|
|
|
|
// // assert
|
|
// deepEqual(toolbar.cont, document.querySelector('#ext-cont').firstChild,
|
|
// 'external container element');
|
|
// });
|
|
|
|
// module('Grid-layout');
|
|
// test('config with grid-layout', function() {
|
|
// // setup
|
|
// tf.destroy();
|
|
// tf = new TableFilter('demo', {
|
|
// base_path: '../dist/tablefilter/',
|
|
// grid_layout: true,
|
|
// toolbar: true
|
|
// });
|
|
|
|
// // act
|
|
// tf.init();
|
|
// var toolbar = tf.feature('toolbar');
|
|
|
|
// // assert
|
|
// deepEqual(toolbar.cont, document.querySelector('.grd_inf'),
|
|
// 'container element with grid-layout mode');
|
|
// });
|
|
|
|
// module('tear-down');
|
|
// test('destroy TableFilter', function() {
|
|
// // act
|
|
// tf.destroy();
|
|
|
|
// // assert
|
|
// deepEqual(tf.feature('toolbar').initialized, false, 'toolbar removed');
|
|
// });
|