TableFilter/test/test-filter-html-elements.js

64 lines
1.4 KiB
JavaScript

var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/'
});
tf.init();
module('Sanity checks');
test('Filters', function() {
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
notEqual(tf.getFilterElement(0), null, 'Filter generated');
});
module('Filter HTML elements');
test('can filter cell containing a div', function() {
// setup
tf.setFilterValue(1, 'Adelaide');
// act
tf.filter();
// assert
deepEqual(tf.getFilteredColumnData(1), ['Adelaide'], 'Filtered data');
});
test('can filter cell containing a div with a child span', function() {
// setup
tf.setFilterValue(1, 'Brisbane');
// act
tf.filter();
// assert
deepEqual(tf.getFilteredColumnData(1), ['Brisbane', 'Brisbane'],
'Filtered data');
});
test('can filter cell containing a table', function() {
// setup
tf.setFilterValue(1, 'Canberra');
// act
tf.filter();
// assert
deepEqual(tf.getFilteredColumnData(1), ['Canberra'], 'Filtered data');
});
test('can filter cell containing a textarea', function() {
// setup
tf.setFilterValue(1, 'Melbourne');
// act
tf.filter();
// assert
deepEqual(tf.getFilteredColumnData(1), ['Melbourne'], 'Filtered data');
});
module('Tear-down');
test('can destroy TableFilter DOM elements', function() {
tf.clearFilters();
tf.destroy();
deepEqual(tf.isInitialized(), false, 'Filters removed');
});