Improvements on input test. Ignoring hidden inputs for counting
This commit is contained in:
Родитель
d8b3eeb782
Коммит
2472e600f3
|
@ -18,54 +18,56 @@
|
|||
"use strict";
|
||||
|
||||
var $ = require('cheerio'),
|
||||
Deferred = require('promised-io').Deferred,
|
||||
inputTypes = ['color',
|
||||
'date',
|
||||
'datetime',
|
||||
'datetime-local',
|
||||
'email',
|
||||
'month',
|
||||
'number',
|
||||
'range',
|
||||
'reset',
|
||||
'search',
|
||||
'tel',
|
||||
'time',
|
||||
'url',
|
||||
'week'
|
||||
];
|
||||
Deferred = require('promised-io').Deferred,
|
||||
inputTypes = ['color',
|
||||
'date',
|
||||
'datetime',
|
||||
'datetime-local',
|
||||
'email',
|
||||
'month',
|
||||
'number',
|
||||
'range',
|
||||
'reset',
|
||||
'search',
|
||||
'tel',
|
||||
'time',
|
||||
'url',
|
||||
'week'
|
||||
];
|
||||
|
||||
var check = function (website) {
|
||||
var deferred = new Deferred();
|
||||
var deferred = new Deferred();
|
||||
|
||||
process.nextTick(function () {
|
||||
var inputs = website.$('input');
|
||||
process.nextTick(function () {
|
||||
//Removing the hidden type, we should probably remove other types too like password and so.
|
||||
var inputs = website.$('input[type!="hidden"]');
|
||||
|
||||
var htmlInputs = inputs.filter(function (index) {
|
||||
var input = $(this);
|
||||
for (var i = 0, l = inputTypes.length; i < l; i++) {
|
||||
if (input.attr('type') && input.attr('type').toLowerCase() === inputTypes[i]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
var htmlInputs = inputs.filter(function (index) {
|
||||
var input = $(this);
|
||||
for (var i = 0, l = inputTypes.length; i < l; i++) {
|
||||
if (input.attr('type') && input.attr('type').toLowerCase() === inputTypes[i]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
var passed = true;
|
||||
var passed = true;
|
||||
|
||||
if (inputs.length > 0) {
|
||||
passed = htmlInputs.length > 0;
|
||||
}
|
||||
//At least 2 inputs required to check this. If not websites with only search fail
|
||||
if (inputs.length > 1) {
|
||||
passed = htmlInputs.length > 0;
|
||||
}
|
||||
|
||||
var test = {
|
||||
testName: "inputTypes",
|
||||
passed: passed
|
||||
};
|
||||
var test = {
|
||||
testName: "inputTypes",
|
||||
passed: passed
|
||||
};
|
||||
|
||||
deferred.resolve(test);
|
||||
});
|
||||
deferred.resolve(test);
|
||||
});
|
||||
|
||||
return deferred.promise;
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
module.exports.check = check;
|
Загрузка…
Ссылка в новой задаче