123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- 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);
- });
- });
|