This commit is contained in:
Gaël Métais
2014-09-04 14:15:38 +02:00
parent 01f5c52104
commit a8af5915e3
4 changed files with 30 additions and 28 deletions
+1 -1
View File
@@ -57,7 +57,7 @@ var testQueue = function() {
this.testFailed = function(testId) {
self.emit('testFailed', testId);
}
};
};
// extend the EventEmitter class
+24 -24
View File
@@ -73,9 +73,9 @@ app.controller('ResultsCtrl', function ($scope) {
jQueryLoading: 'A'
};
var domComplexityScore = $scope.phantomasResults.metrics.DOMelementsCount
+ Math.pow($scope.phantomasResults.metrics.DOMelementMaxDepth, 2)
+ $scope.phantomasResults.metrics.iframesCount * 50;
var domComplexityScore = $scope.phantomasResults.metrics.DOMelementsCount +
Math.pow($scope.phantomasResults.metrics.DOMelementMaxDepth, 2) +
$scope.phantomasResults.metrics.iframesCount * 50;
if (domComplexityScore > 1000) {
$scope.notations.domComplexity = 'B';
}
@@ -92,9 +92,9 @@ app.controller('ResultsCtrl', function ($scope) {
$scope.notations.domComplexity = 'F';
}
var domManipulationsScore = $scope.phantomasResults.metrics.DOMinserts
+ $scope.phantomasResults.metrics.DOMqueries * 0.5
+ $scope.totalJSTime;
var domManipulationsScore = $scope.phantomasResults.metrics.DOMinserts +
$scope.phantomasResults.metrics.DOMqueries * 0.5 +
$scope.totalJSTime;
if (domManipulationsScore > 100) {
$scope.notations.domManipulations = 'B';
}
@@ -145,10 +145,10 @@ app.controller('ResultsCtrl', function ($scope) {
$scope.notations.eventsBound = 'F';
}
var badPracticesScore = $scope.phantomasResults.metrics.documentWriteCalls * 3
+ $scope.phantomasResults.metrics.evalCalls * 3
+ $scope.phantomasResults.metrics.jsErrors * 10
+ $scope.phantomasResults.metrics.consoleMessages;
var badPracticesScore = $scope.phantomasResults.metrics.documentWriteCalls * 3 +
$scope.phantomasResults.metrics.evalCalls * 3 +
$scope.phantomasResults.metrics.jsErrors * 10 +
$scope.phantomasResults.metrics.consoleMessages;
if (badPracticesScore > 5) {
$scope.notations.badPractices = 'B';
}
@@ -186,24 +186,24 @@ app.controller('ResultsCtrl', function ($scope) {
if ($scope.phantomasResults.metrics.jQueryDifferentVersions > 1) {
$scope.notations.jQueryLoading = 'F';
} else if ($scope.phantomasResults.metrics.jQueryVersion) {
if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.10.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('1.11.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('1.12.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('2.0.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('2.1.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('2.2.') === 0) {
if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.10.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('1.11.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('1.12.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('2.0.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('2.1.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('2.2.') === 0) {
$scope.notations.jQueryLoading = 'A';
} else if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.8.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('1.9.') === 0) {
} else if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.8.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('1.9.') === 0) {
$scope.notations.jQueryLoading = 'B';
} else if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.6.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('1.7.') === 0) {
} else if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.6.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('1.7.') === 0) {
$scope.notations.jQueryLoading = 'C';
} else if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.4.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('1.5.') === 0) {
} else if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.4.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('1.5.') === 0) {
$scope.notations.jQueryLoading = 'D';
} else if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.2.') === 0
|| $scope.phantomasResults.metrics.jQueryVersion.indexOf('1.3.') === 0) {
} else if ($scope.phantomasResults.metrics.jQueryVersion.indexOf('1.2.') === 0 ||
$scope.phantomasResults.metrics.jQueryVersion.indexOf('1.3.') === 0) {
$scope.notations.jQueryLoading = 'E';
}
}
@@ -2,12 +2,13 @@
* Analyzes events bound to DOM elements
*/
/* global Document: true, Element: true, window: true */
'use strict';
exports.version = '0.2.a';
exports.module = function(phantomas) {
phantomas.setMetric('eventsBound'); // @desc number of EventTarget.addEventListener calls
'use strict';
phantomas.setMetric('eventsBound'); // @desc number of EventTarget.addEventListener calls
// spy calls to EventTarget.addEventListener
// @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener
@@ -5,11 +5,12 @@
* @see https://developers.google.com/web/fundamentals/performance/critical-rendering-path/measure-crp
*/
/* global document: true, window: true */
'use strict';
exports.version = '1.0.a';
exports.module = function(phantomas) {
'use strict';
// times below are calculated relative to performance.timing.responseEnd (#117)
phantomas.setMetric('domInteractive'); // @desc time it took to parse the HTML and construct the DOM
phantomas.setMetric('domContentLoaded'); // @desc time it took to construct both DOM and CSSOM, no stylesheets that are blocking JavaScript execution (i.e. onDOMReady)