1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-17 22:06:41 +02:00

Extended eslint to tests

This commit is contained in:
Max Guglielmi 2016-02-22 18:14:58 +11:00
parent 1691f38368
commit 6f0a009200
21 changed files with 239 additions and 194 deletions

View file

@ -3,33 +3,17 @@
"rules": {
"max-len": [2, 80, 2, {"ignoreUrls": true}],
"max-depth": [2, 7],
"no-unused-vars": 2,
"no-eval": 2,
"no-underscore-dangle": 0,
"no-loop-func": 2,
"curly": 2,
"quotes": [2, "single"],
//"indent": [2, 4],
"indent": [2, 4, {"SwitchCase": 1}],
"no-trailing-spaces": 2,
"no-multi-spaces": 2,
"array-bracket-spacing": 2/*,
"new-cap": 2*/
//"camelcase": [2, {"properties": "always"}]
/*"-W024": true,
"scripturl": true,
"evil": true,
"curly": true,
"indent": 4,
"es3": true,
"esnext": true,
"unused": true,
"maxlen" : 80,
"trailing": true,
"quotmark": "single",
"immed": true,
"maxstatements": 172,
"maxdepth": 7,
"maxcomplexity": 87,*/
"array-bracket-spacing": 2,
"new-cap": 2
},
"ecmaFeatures": {
"modules": true

View file

@ -18,7 +18,8 @@ module.exports = function (grunt) {
target: [
'Gruntfile.js',
'webpack.config.js',
'src/**/*.js'
'src/**/*.js',
'test/*.js'
]
},
@ -350,7 +351,8 @@ module.exports = function (grunt) {
grunt.task.run('connect');
grunt.config('qunit.only.options.urls', res);
grunt.task.run('qunit:only');
});
}
);
function isTestFile(pth) {
var allowedExts = ['.html', '.htm'];

View file

@ -33,7 +33,6 @@
"babel-loader": "^6.0.1",
"babel-preset-es2015": "^6.3.13",
"clean-webpack-plugin": "^0.1.3",
"eslint": "2.1.0",
"grunt": "^0.4.5",
"grunt-babel": "^6.0.0",
"grunt-contrib-clean": "^0.6.0",

View file

@ -93,16 +93,24 @@ export default class AdapterEzEditTable {
//Next valid filtered row needs to be selected
var doSelect = function(nextRowIndex){
if(et.defaultSelection === 'row'){
/* eslint-disable */
slc.SelectRowByIndex(nextRowIndex);
/* eslint-enable */
} else {
/* eslint-disable */
et.ClearSelections();
/* eslint-enable */
var cellIndex = selectedElm.cellIndex,
row = tf.tbl.rows[nextRowIndex];
if(et.defaultSelection === 'both'){
/* eslint-disable */
slc.SelectRowByIndex(nextRowIndex);
/* eslint-enable */
}
if(row){
/* eslint-disable */
slc.SelectCell(row.cells[cellIndex]);
/* eslint-enable */
}
}
//Table is filtered
@ -135,7 +143,9 @@ export default class AdapterEzEditTable {
selectedElm.parentNode : selectedElm,
//cell for default_selection = 'both' or 'cell'
cell = selectedElm.nodeName==='TD' ? selectedElm : null,
/* eslint-disable */
keyCode = e !== undefined ? et.Event.GetKey(e) : 0,
/* eslint-enable */
isRowValid = validIndexes.indexOf(row.rowIndex) !== -1,
nextRowIndex,
paging = tf.feature('paging'),
@ -244,11 +254,15 @@ export default class AdapterEzEditTable {
var advGrid = paging.tf.extension('advancedGrid');
var et = advGrid._ezEditTable;
var slc = et.Selection;
/* eslint-disable */
var row = slc.GetActiveRow();
/* eslint-enable */
if(row){
row.scrollIntoView(false);
}
/* eslint-disable */
var cell = slc.GetActiveCell();
/* eslint-enable */
if(cell){
cell.scrollIntoView(false);
}
@ -342,8 +356,10 @@ export default class AdapterEzEditTable {
}
try{
/* eslint-disable */
this._ezEditTable = new EditTable(tf.id, cfg, startRow);
this._ezEditTable.Init();
/* eslint-enable */
} catch(e) { throw new Error(this.err); }
this.initialized = true;
@ -356,10 +372,14 @@ export default class AdapterEzEditTable {
var ezEditTable = this._ezEditTable;
if(ezEditTable){
if(this.cfg.selection){
/* eslint-disable */
ezEditTable.Selection.Set();
/* eslint-enable */
}
if(this.cfg.editable){
/* eslint-disable */
ezEditTable.Editable.Set();
/* eslint-enable */
}
}
}
@ -370,14 +390,22 @@ export default class AdapterEzEditTable {
toggle(){
var ezEditTable = this._ezEditTable;
if(ezEditTable.editable){
/* eslint-disable */
ezEditTable.Editable.Remove();
/* eslint-enable */
} else {
/* eslint-disable */
ezEditTable.Editable.Set();
/* eslint-enable */
}
if(ezEditTable.selection){
/* eslint-disable */
ezEditTable.Selection.Remove();
/* eslint-enable */
} else {
/* eslint-disable */
ezEditTable.Selection.Set();
/* eslint-enable */
}
}
@ -400,11 +428,15 @@ export default class AdapterEzEditTable {
var ezEditTable = this._ezEditTable;
if(ezEditTable){
if(this.cfg.selection){
/* eslint-disable */
ezEditTable.Selection.ClearSelections();
ezEditTable.Selection.Remove();
/* eslint-enable */
}
if(this.cfg.editable){
/* eslint-disable */
ezEditTable.Editable.Remove();
/* eslint-enable */
}
}

View file

@ -163,8 +163,10 @@ export default class ColOps{
if((q1Flag==1)|| (q3Flag==1) || (medFlag==1)){
if (j<colvalues[ucol].length -1){
for(k=j+1; k<colvalues[ucol].length; k++) {
/* eslint-disable */
if(eval(colvalues[ucol][k]) <
eval(colvalues[ucol][j])){
/* eslint-enable */
temp = colvalues[ucol][j];
colvalues[ucol][j] = colvalues[ucol][k];
colvalues[ucol][k] = temp;

View file

@ -75,8 +75,7 @@ export class Loader extends Feature{
'before-reset-page',
'before-reset-page-length',
'before-loading-extensions',
'before-loading-themes'
],
'before-loading-themes'],
()=> this.show('')
);
emitter.on([
@ -88,8 +87,7 @@ export class Loader extends Feature{
'after-reset-page',
'after-reset-page-length',
'after-loading-extensions',
'after-loading-themes'
],
'after-loading-themes'],
()=> this.show('none')
);
@ -138,8 +136,7 @@ export class Loader extends Feature{
'before-reset-page',
'before-reset-page-length',
'before-loading-extensions',
'before-loading-themes'
],
'before-loading-themes'],
()=> this.show('')
);
emitter.off([
@ -151,8 +148,7 @@ export class Loader extends Feature{
'after-reset-page',
'after-reset-page-length',
'after-loading-extensions',
'after-loading-themes'
],
'after-loading-themes'],
()=> this.show('none')
);

View file

@ -141,8 +141,7 @@ export class StatusBar extends Feature{
'after-reset-page',
'after-reset-page-length',
'after-loading-extensions',
'after-loading-themes'
],
'after-loading-themes'],
()=> this.message('')
);
@ -213,8 +212,7 @@ export class StatusBar extends Feature{
'after-reset-page',
'after-reset-page-length',
'after-loading-extensions',
'after-loading-themes'
],
'after-loading-themes'],
()=> this.message('')
);

View file

@ -821,7 +821,9 @@ export class TableFilter {
// Require pattern for Webpack
require(['./' + modulePath], (mod)=> {
/* eslint-disable */
let inst = new mod.default(this, ext);
/* eslint-enable */
inst.init();
this.ExtRegistry[name] = inst;
});
@ -1922,12 +1924,12 @@ export class TableFilter {
return;
}
tbl = tbl || this.tbl;
let rIndex;
if(rowIndex === undefined){
rIndex = tbl.rows[0].style.display!='none' ? 0 : 1;
} else{
rIndex = rowIndex;
}
// let rIndex;
// if(rowIndex === undefined){
// rIndex = tbl.rows[0].style.display!='none' ? 0 : 1;
// } else{
// rIndex = rowIndex;
// }
setWidths.call(this);

View file

@ -11,14 +11,16 @@ var checkList = tf.feature('checkList');
module('Sanity checks');
test('CheckList component', function() {
deepEqual(typeof checkList, 'object', 'CheckList instanciated');
deepEqual(checkList.checkListDiv instanceof Array, true, 'Type of checkListDiv property');
deepEqual(checkList.checkListDiv instanceof Array, true,
'Type of checkListDiv property');
});
module('UI elements');
test('CheckList UI elements', function() {
var flt = id(tf.fltIds[3]);
notEqual(flt, null, 'CheckList UL element');
deepEqual(flt.firstChild.nodeName, 'LI', 'First CheckList option element name');
deepEqual(flt.firstChild.nodeName, 'LI',
'First CheckList option element name');
deepEqual(flt.childNodes.length, 8, 'number of checklist options');
});

View file

@ -22,15 +22,21 @@
test('External filters', function() {
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
deepEqual(tf.isExternalFlt, true, 'Has external filters');
deepEqual(tf.externalFltTgtIds.length, 5, 'External filters ids length');
deepEqual(tf.externalFltTgtIds.length, 5,
'External filters ids length');
deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
deepEqual(tf.getHeadersRowIndex(), 1, 'Headers row index');
deepEqual(tf.getStartRowIndex(), 2, 'Reference row index');
deepEqual(id('extFrom').childNodes.length>0, true, 'Col0 filter is external');
deepEqual(id('extDestination').childNodes.length>0, true, 'Col1 filter is external');
deepEqual(id('extRoadDistance').childNodes.length>0, true, 'Col2 filter is external');
deepEqual(id('extAirDistance').childNodes.length>0, true, 'Col3 filter is external');
deepEqual(id('extRailDistance').childNodes.length>0, true, 'Col4 filter is external');
deepEqual(id('extFrom').childNodes.length>0, true,
'Col0 filter is external');
deepEqual(id('extDestination').childNodes.length>0, true,
'Col1 filter is external');
deepEqual(id('extRoadDistance').childNodes.length>0, true,
'Col2 filter is external');
deepEqual(id('extAirDistance').childNodes.length>0, true,
'Col3 filter is external');
deepEqual(id('extRailDistance').childNodes.length>0, true,
'Col4 filter is external');
});
module('Filter columns');
@ -90,15 +96,21 @@
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
deepEqual(tf.isExternalFlt, true, 'Has external filters');
deepEqual(tf.externalFltTgtIds.length, 5, 'External filters ids length');
deepEqual(tf.externalFltTgtIds.length, 5,
'External filters ids length');
deepEqual(tf.getFiltersRowIndex(), 1, 'Filters row index');
deepEqual(tf.getHeadersRowIndex(), 0, 'Headers row index');
deepEqual(tf.getStartRowIndex(), 0, 'Reference row index');
deepEqual(id('extFrom').childNodes.length, 0, 'Col0 filter is external');
deepEqual(id('extDestination').childNodes.length, 0, 'Col1 filter is external');
deepEqual(id('extRoadDistance').childNodes.length, 0, 'Col2 filter is external');
deepEqual(id('extAirDistance').childNodes.length, 0, 'Col3 filter is external');
deepEqual(id('extRailDistance').childNodes.length, 0, 'Col4 filter is external');
deepEqual(id('extFrom').childNodes.length, 0,
'Col0 filter is external');
deepEqual(id('extDestination').childNodes.length, 0,
'Col1 filter is external');
deepEqual(id('extRoadDistance').childNodes.length, 0,
'Col2 filter is external');
deepEqual(id('extAirDistance').childNodes.length, 0,
'Col3 filter is external');
deepEqual(id('extRailDistance').childNodes.length, 0,
'Col4 filter is external');
});
test('Can filter column 0', function() {
tf.setFilterValue(0, 'Syd');
@ -156,15 +168,21 @@
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
deepEqual(tf.isExternalFlt, true, 'Has external filters');
deepEqual(tf.externalFltTgtIds.length, 5, 'External filters ids length');
deepEqual(tf.externalFltTgtIds.length, 5,
'External filters ids length');
deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
deepEqual(tf.getHeadersRowIndex(), 1, 'Headers row index');
deepEqual(tf.getStartRowIndex(), 2, 'Reference row index');
deepEqual(id('extFrom').childNodes.length, 0, 'Col0 filter is external');
deepEqual(id('extDestination').childNodes.length, 0, 'Col1 filter is external');
deepEqual(id('extRoadDistance').childNodes.length, 0, 'Col2 filter is external');
deepEqual(id('extAirDistance').childNodes.length, 0, 'Col3 filter is external');
deepEqual(id('extRailDistance').childNodes.length, 0, 'Col4 filter is external');
deepEqual(id('extFrom').childNodes.length, 0,
'Col0 filter is external');
deepEqual(id('extDestination').childNodes.length, 0,
'Col1 filter is external');
deepEqual(id('extRoadDistance').childNodes.length, 0,
'Col2 filter is external');
deepEqual(id('extAirDistance').childNodes.length, 0,
'Col3 filter is external');
deepEqual(id('extRailDistance').childNodes.length, 0,
'Col4 filter is external');
});
test('Can filter column 0', function() {
tf.setFilterValue(0, 'Syd');

View file

@ -1,8 +1,6 @@
var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
col_date_type: [
null, null, 'ddmmmyyyy'
]
col_date_type: [null, null, 'ddmmmyyyy']
});
tf.init();
@ -31,11 +29,11 @@ test('can filter values in this format: 21.1.18 as date with operator',
tf.setFilterValue(1, '>21.1.04');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Expected number of matches');
});
}
);
module('Issue 72');
test('can filter values in this format: 21-Jul-2010 as date',
function(){
test('can filter values in this format: 21-Jul-2010 as date', function(){
tf.clearFilters();
tf.setFilterValue(2, '14-Mar-2009');
tf.filter();
@ -47,7 +45,8 @@ test('can filter values in this format: 21-Jul-2010 as date with operator',
tf.setFilterValue(2, '<21-Jul-2010');
tf.filter();
deepEqual(tf.getValidRows().length, 2, 'Expected number of matches');
});
}
);
module('Tear-down');
test('can destroy TableFilter DOM elements', function() {

View file

@ -10,8 +10,10 @@ module('Sanity checks');
test('GridLayout component', function() {
deepEqual(typeof gridLayout, 'object', 'GridLayout instanciated');
notEqual(gridLayout.tblMainCont, null, 'GridLayout main container element');
notEqual(gridLayout.tblCont, null, 'GridLayout main HTML table container element');
notEqual(gridLayout.headTblCont, null, 'GridLayout headers container element');
notEqual(gridLayout.tblCont, null,
'GridLayout main HTML table container element');
notEqual(gridLayout.headTblCont, null,
'GridLayout headers container element');
notEqual(gridLayout.headTbl, null, 'GridLayout headers HTML table');
deepEqual(tf.startRow, null, 'Optional startRow row index');
deepEqual(tf.refRow, 0, 'Reference row index');
@ -22,8 +24,10 @@ test('GridLayout component', function() {
test('Destroy TableFilter', function() {
gridLayout.destroy();
deepEqual(gridLayout.tblMainCont, null, 'Main container element removed');
deepEqual(gridLayout.tblCont, null, 'Main HTML table container element removed');
deepEqual(gridLayout.headTblCont, null, 'Headers container element removed');
deepEqual(gridLayout.tblCont, null,
'Main HTML table container element removed');
deepEqual(gridLayout.headTblCont, null,
'Headers container element removed');
deepEqual(gridLayout.headTbl, null, 'Headers HTML table element removed');
notEqual(gridLayout.sourceTblHtml, null, 'Table reference is kept');
});

View file

@ -48,4 +48,5 @@ test('can destroy TableFilter DOM elements and clean highlighted words',
deepEqual(tf.hasGrid(), false, 'Filters removed');
deepEqual(highlightKeyword.highlightedNodes.length,
0, 'Number of highlighted words');
});
}
);

View file

@ -1,6 +1,3 @@
var id = function (id){ return document.getElementById(id); };
var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
paging: true,

View file

@ -44,7 +44,8 @@
deepEqual(tf.refRow, 0, 'Reference row index');
tf.setFilterValue(1, 'Bris');
deepEqual(tf.getValidRows().length, 0, 'does not fail on setFilterValue');
deepEqual(tf.getValidRows().length, 0,
'does not fail on setFilterValue');
});
module('Tear-down');

View file

@ -79,8 +79,10 @@ test('Filters value in cookie', function() {
tf.setFilterValue(3, '1.5');
tf.filter();
deepEqual(tf.feature('store').getFilterValues()[0], 'Sydney', 'Filter 0 value');
deepEqual(tf.feature('store').getFilterValues()[3], '1.5', 'Filter 3 value');
deepEqual(tf.feature('store').getFilterValues()[0],
'Sydney', 'Filter 0 value');
deepEqual(tf.feature('store').getFilterValues()[3],
'1.5', 'Filter 3 value');
});
test('Filters value in cookie', function() {
@ -88,8 +90,10 @@ test('Filters value in cookie', function() {
tf.setFilterValue(3, '1.5');
tf.filter();
deepEqual(tf.feature('store').getFilterValues()[0], 'Sydney', 'Filter 0 value');
deepEqual(tf.feature('store').getFilterValues()[3], '1.5', 'Filter 3 value');
deepEqual(tf.feature('store').getFilterValues()[0], 'Sydney',
'Filter 0 value');
deepEqual(tf.feature('store').getFilterValues()[3], '1.5',
'Filter 3 value');
});
test('Filters value with operators in cookie', function() {
@ -99,8 +103,10 @@ test('Filters value with operators in cookie', function() {
tf.filter();
deepEqual(tf.feature('store').getFilterValues()[0], ' ', 'Filter 0 value');
deepEqual(tf.feature('store').getFilterValues()[1], 'Canberra || Perth', 'Filter 1 value');
deepEqual(tf.feature('store').getFilterValues()[3], '>.6', 'Filter 3 value');
deepEqual(tf.feature('store').getFilterValues()[1],
'Canberra || Perth', 'Filter 1 value');
deepEqual(tf.feature('store').getFilterValues()[3], '>.6',
'Filter 3 value');
deepEqual(tf.getValidRows().length, 1, 'Expected nb of filtered rows');
});
@ -139,8 +145,10 @@ test('Filters value in cookie', function() {
tf.setFilterValue(1, ['Alice Springs', 'Brisbane']);
tf.filter();
deepEqual(tf.feature('store').getFilterValues()[0], 'Adelaide || Sydney', 'Filter 0 value');
deepEqual(tf.feature('store').getFilterValues()[1], 'Alice Springs || Brisbane', 'Filter 1 value');
deepEqual(tf.feature('store').getFilterValues()[0],
'Adelaide || Sydney', 'Filter 0 value');
deepEqual(tf.feature('store').getFilterValues()[1],
'Alice Springs || Brisbane', 'Filter 1 value');
deepEqual(tf.getValidRows().length, 3, 'Expected nb of filtered rows');
});