2017-11-26 07:56:24 +01:00
|
|
|
var tf = new TableFilter('demo', {
|
2017-12-03 11:48:00 +01:00
|
|
|
base_path: '../dist/tablefilter/'
|
2017-11-26 07:56:24 +01:00
|
|
|
});
|
|
|
|
tf.init();
|
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
module('filtering');
|
|
|
|
test('ignore uneven rows', function() {
|
|
|
|
// act
|
|
|
|
tf.setFilterValue(1, 'Perth');
|
|
|
|
tf.filter();
|
2017-11-26 07:56:24 +01:00
|
|
|
|
|
|
|
// assert
|
2017-12-03 11:48:00 +01:00
|
|
|
deepEqual(tf.getValidRows(), [9], 'uneven row');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[4]), '', 'uneven row displayed');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[5]), '', 'uneven row displayed');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[5]), '', 'uneven row displayed');
|
2017-11-26 07:56:24 +01:00
|
|
|
});
|
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
test('display uneven rows when no matches', function() {
|
|
|
|
// act
|
|
|
|
tf.clearFilters();
|
|
|
|
tf.setFilterValue(0, '123');
|
|
|
|
tf.filter();
|
2017-11-26 07:56:24 +01:00
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
// assert
|
|
|
|
deepEqual(tf.getValidRows(), [], 'uneven row');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[4]), '', 'uneven row displayed');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[5]), '', 'uneven row displayed');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[5]), '', 'uneven row displayed');
|
|
|
|
});
|
2017-11-26 07:56:24 +01:00
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
module('re-initialise');
|
|
|
|
test('can re-initialise', function() {
|
|
|
|
// act
|
|
|
|
tf.destroy();
|
|
|
|
tf.init();
|
2017-11-26 07:56:24 +01:00
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
// assert
|
|
|
|
deepEqual(tf.isInitialized(), true, 'Filters re-initialised');
|
|
|
|
});
|
2017-11-26 07:56:24 +01:00
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
test('can filter', function() {
|
|
|
|
// act
|
|
|
|
tf.setFilterValue(1, 'Perth');
|
|
|
|
tf.filter();
|
2017-11-26 07:56:24 +01:00
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
// assert
|
|
|
|
deepEqual(tf.getValidRows(), [9], 'uneven row');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[4]), '', 'uneven row displayed');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[5]), '', 'uneven row displayed');
|
|
|
|
deepEqual(tf.getRowDisplay(tf.dom().rows[5]), '', 'uneven row displayed');
|
|
|
|
});
|
2017-11-26 07:56:24 +01:00
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
module('tear-down');
|
|
|
|
test('can destroy', function() {
|
|
|
|
// act
|
|
|
|
tf.destroy();
|
2017-11-26 07:56:24 +01:00
|
|
|
|
2017-12-03 11:48:00 +01:00
|
|
|
// assert
|
|
|
|
deepEqual(tf.isInitialized(), false, 'Filters removed');
|
|
|
|
});
|