88 lines
2.6 KiB
JavaScript
88 lines
2.6 KiB
JavaScript
var should = require('chai').should();
|
|
var rulesChecker = require('../../lib/rulesChecker');
|
|
|
|
describe('rulesChecker', function() {
|
|
|
|
var policies = require('../../lib/metadata/policies.js');
|
|
|
|
|
|
it('should grade correctly jQuery versions', function() {
|
|
|
|
|
|
var versions = {
|
|
'1.2.9': 0,
|
|
'1.3.9': 0,
|
|
'1.4.4': 10,
|
|
'1.5.0': 20,
|
|
'1.6.3': 30,
|
|
'1.7.0': 40,
|
|
'1.8.3a': 50,
|
|
'1.9.2': 70,
|
|
'1.10.1': 90,
|
|
'2.0.0-rc1': 90,
|
|
'1.11.1': 100,
|
|
'2.1.1-beta1': 100,
|
|
'3.0.0': 100
|
|
};
|
|
|
|
for (var version in versions) {
|
|
results = rulesChecker.check({
|
|
"toolsResults": {
|
|
"phantomas": {
|
|
"metrics": {
|
|
"jQueryVersion": version
|
|
}
|
|
}
|
|
}
|
|
}, policies);
|
|
results.jQueryVersion.score.should.equal(versions[version]);
|
|
}
|
|
|
|
|
|
// Unknown jQuery version
|
|
results = rulesChecker.check({
|
|
"toolsResults": {
|
|
"phantomas": {
|
|
"metrics": {
|
|
"jQueryVersion": "wooot"
|
|
}
|
|
}
|
|
}
|
|
}, policies);
|
|
results.should.deep.equals({});
|
|
|
|
|
|
// If jQueryDifferentVersions is 0
|
|
results = rulesChecker.check({
|
|
"toolsResults": {
|
|
"phantomas": {
|
|
"metrics": {
|
|
"jQueryVersion": "1.6.0",
|
|
"jQueryDifferentVersions": 0
|
|
}
|
|
}
|
|
}
|
|
}, policies);
|
|
results.should.not.have.a.property('jQueryVersion');
|
|
results.should.have.a.property('jQueryDifferentVersions');
|
|
results.jQueryDifferentVersions.should.have.a.property('score').that.equals(100);
|
|
|
|
|
|
// If there are more than 1 jQuery version
|
|
results = rulesChecker.check({
|
|
"toolsResults": {
|
|
"phantomas": {
|
|
"metrics": {
|
|
"jQueryVersion": "1.6.0",
|
|
"jQueryDifferentVersions": 2
|
|
}
|
|
}
|
|
}
|
|
}, policies);
|
|
results.should.not.have.a.property('jQueryVersion');
|
|
results.should.have.a.property('jQueryDifferentVersions');
|
|
results.jQueryDifferentVersions.should.have.a.property('score').that.equals(0);
|
|
results.jQueryDifferentVersions.should.have.a.property('abnormal').that.equals(true);
|
|
});
|
|
});
|