|
@@ -4,6 +4,7 @@ var RulesChecker = function() {
|
|
|
'use strict';
|
|
|
|
|
|
this.check = function(data, policies) {
|
|
|
+ /*jshint loopfunc:true */
|
|
|
|
|
|
var results = {};
|
|
|
|
|
@@ -23,9 +24,21 @@ var RulesChecker = function() {
|
|
|
policy: policy
|
|
|
};
|
|
|
|
|
|
- // Take DOMqueriesAvoidable's offenders from DOMqueriesDuplicated.
|
|
|
+ // Take DOMqueriesAvoidable's offenders from DOMqueriesDuplicated, for example.
|
|
|
if (policy.takeOffendersFrom) {
|
|
|
- data.toolsResults[policy.tool].offenders[metricName] = data.toolsResults[policy.tool].offenders[policy.takeOffendersFrom];
|
|
|
+ var fromList = policy.takeOffendersFrom;
|
|
|
+ var offenders = [];
|
|
|
+
|
|
|
+ // takeOffendersFrom option can be a string or an array of strings.
|
|
|
+ if (typeof fromList === 'string') {
|
|
|
+ fromList = [fromList];
|
|
|
+ }
|
|
|
+
|
|
|
+ fromList.forEach(function(from) {
|
|
|
+ offenders = offenders.concat(data.toolsResults[policy.tool].offenders[from]);
|
|
|
+ });
|
|
|
+
|
|
|
+ data.toolsResults[policy.tool].offenders[metricName] = offenders;
|
|
|
}
|
|
|
|
|
|
if (data.toolsResults[policy.tool].offenders &&
|