From b3910ca837f78df42723fd882e84ee31677f6fd3 Mon Sep 17 00:00:00 2001 From: Max Guglielmi Date: Tue, 24 Jan 2017 14:06:29 +1100 Subject: [PATCH] Increasing TableFilter class Coverage --- package.json | 2 +- test/test-linked-filters.js | 12 ++++++++++++ test/test-no-filters.js | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 78e664ac..de5d506b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tablefilter", - "version": "0.4.37", + "version": "0.4.38", "description": "A Javascript library making HTML tables filterable and a bit more", "license": "MIT", "author": { diff --git a/test/test-linked-filters.js b/test/test-linked-filters.js index 71c8fede..b5da466a 100644 --- a/test/test-linked-filters.js +++ b/test/test-linked-filters.js @@ -9,9 +9,17 @@ col_1: 'checklist', on_after_reset: testClearFilters }); + + var ct = 0; + tf.emitter.on(['build-checklist-filter'], function() { + ct++; + }); + tf.init(); + tf.setFilterValue(0, 'Sydney'); tf.getFilterElement(0).focus(); + tf.filter(); module('Sanity checks'); @@ -19,7 +27,11 @@ deepEqual(tf instanceof TableFilter, true, 'TableFilter instantiated'); deepEqual(tf.linkedFilters, true, 'Linked filters enabled'); + tf.activateFilter(0); tf.clearFilters(); + + deepEqual(ct, 2, + 'build-checklist-filter event emitted after filtering'); tf.onAfterFilter = null; tf.destroy(); tf = null; diff --git a/test/test-no-filters.js b/test/test-no-filters.js index e72ec954..54199a0f 100644 --- a/test/test-no-filters.js +++ b/test/test-no-filters.js @@ -85,6 +85,24 @@ deepEqual(ct, 0, 'Filters not cleared'); }); + test('cannot _initNoFilters if there are filters', function() { + // setup + tf.fltGrid = true; + var getRowsNb = this.getRowsNb; + var ct = 0; + tf.getRowsNb = function(){ + ct++; + }; + + // act + tf._initNoFilters(); + + // assert + deepEqual(ct, 0, '_initNoFilters not executed'); + + tf.getRowsNb = getRowsNb; + }); + module('Paging on'); test('Paging with no filters', function() { // setup