From 60a30c594e1cc60023cb23ac618677e6c966579f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20M=C3=A9tais?= Date: Wed, 3 Sep 2014 14:29:47 +0200 Subject: [PATCH] New better duplicated DOM query counter --- app/public/scripts/resultsCtrl.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/app/public/scripts/resultsCtrl.js b/app/public/scripts/resultsCtrl.js index dbb8ed5..df81498 100644 --- a/app/public/scripts/resultsCtrl.js +++ b/app/public/scripts/resultsCtrl.js @@ -54,6 +54,15 @@ app.controller('ResultsCtrl', function ($scope) { } }); + // Read all the duplicated queries and calculate a more appropriated score + $scope.duplicatedQueriesCountAll = 0; + if ($scope.phantomasResults.offenders.DOMqueriesDuplicated) { + var regex = /^{.*}: (\d+) queries$/; + $scope.phantomasResults.offenders.DOMqueriesDuplicated.forEach(function(query) { + $scope.duplicatedQueriesCountAll += parseInt(regex.exec(query)[1], 10); + }); + } + $scope.notations = { domComplexity: 'A', domManipulations: 'A', @@ -99,20 +108,20 @@ app.controller('ResultsCtrl', function ($scope) { $scope.notations.domManipulations = 'F'; } - var duplicatedDomQueries = $scope.phantomasResults.metrics.DOMqueriesDuplicated; - if (duplicatedDomQueries > 5) { + var duplicatedDomQueries = $scope.duplicatedQueriesCountAll; + if (duplicatedDomQueries > 20) { $scope.notations.duplicatedDomQueries = 'B'; } - if (duplicatedDomQueries > 10) { + if (duplicatedDomQueries > 50) { $scope.notations.duplicatedDomQueries = 'C'; } - if (duplicatedDomQueries > 15) { + if (duplicatedDomQueries > 100) { $scope.notations.duplicatedDomQueries = 'D'; } - if (duplicatedDomQueries > 25) { + if (duplicatedDomQueries > 200) { $scope.notations.duplicatedDomQueries = 'E'; } - if (duplicatedDomQueries > 50) { + if (duplicatedDomQueries > 500) { $scope.notations.duplicatedDomQueries = 'F'; } @@ -120,7 +129,6 @@ app.controller('ResultsCtrl', function ($scope) { + $scope.phantomasResults.metrics.evalCalls * 3 + $scope.phantomasResults.metrics.jsErrors * 10 + $scope.phantomasResults.metrics.consoleMessages; - console.log($scope.phantomasResults.metrics.consoleMessages); if (badPracticesScore > 5) { $scope.notations.badPractices = 'B'; }