Browse Source

DOMQueriesAvoidable taking offenders from DOMQueriesDuplicated

Gaël Métais 10 years ago
parent
commit
606c2c6f95

+ 2 - 1
lib/metadata/policies.js

@@ -55,7 +55,8 @@ var policies = {
         "message": "<p>This is the number of queries that could be avoided by removing all duplicated queries.</p><p>Simply save the result of a query in a variable. Ok it is not always simple, especially with third-party scripts, but at least do it with your own code.</p>",
         "isOkThreshold": 0,
         "isBadThreshold": 200,
-        "isAbnormalThreshold": 500
+        "isAbnormalThreshold": 500,
+        "takeOffendersFrom": "DOMqueriesDuplicated"
     },
     "eventsBound": {
         "tool": "phantomas",

+ 5 - 0
lib/rulesChecker.js

@@ -23,6 +23,11 @@ var RulesChecker = function() {
                         policy: policy
                     };
 
+                    // Take DOMqueriesAvoidable's offenders from DOMqueriesDuplicated.
+                    if (policy.takeOffendersFrom) {
+                        data.toolsResults[policy.tool].offenders[metricName] = data.toolsResults[policy.tool].offenders[policy.takeOffendersFrom];
+                    }
+
                     if (data.toolsResults[policy.tool].offenders &&
                         data.toolsResults[policy.tool].offenders[metricName] &&
                         data.toolsResults[policy.tool].offenders[metricName].length > 0) {

+ 3 - 1
test/fixtures/rulesCheckerOutput.json

@@ -21,9 +21,11 @@
             "message": "A great message",
             "isOkThreshold": 1000,
             "isBadThreshold": 3000,
-            "isAbnormalThreshold": 5000
+            "isAbnormalThreshold": 5000,
+            "takeOffendersFrom": "metric3"
         },
         "value": 222,
+        "offenders": ["offender1", "offender2"],
         "bad": false,
         "abnormal": false,
         "score": 100,

+ 2 - 1
test/fixtures/rulesCheckerPolicies.json

@@ -13,7 +13,8 @@
         "message": "A great message",
         "isOkThreshold": 1000,
         "isBadThreshold": 3000,
-        "isAbnormalThreshold": 5000
+        "isAbnormalThreshold": 5000,
+        "takeOffendersFrom": "metric3"
     },
     "metric3": {
         "tool": "tool1",