|
@@ -242,7 +242,53 @@ var policies = {
|
|
|
"isOkThreshold": 0,
|
|
|
"isBadThreshold": 10,
|
|
|
"isAbnormalThreshold": 20,
|
|
|
- "hasOffenders": false
|
|
|
+ "hasOffenders": true,
|
|
|
+ "offendersTransformFn": function(offenders) {
|
|
|
+ return {
|
|
|
+ count: offenders.length,
|
|
|
+ list: offenders.map(function(offender) {
|
|
|
+ var parts = /^document.write(ln)?\(\) used from (.*)$/.exec(offender);
|
|
|
+
|
|
|
+ if (parts) {
|
|
|
+
|
|
|
+ var writeFn = 'document.write' + (parts[1] || '');
|
|
|
+
|
|
|
+ var methodParts = /^([^\s]+) \((.+):(\d+)\)$/.exec(parts[2]);
|
|
|
+ if (methodParts) {
|
|
|
+ return {
|
|
|
+ writeFn: writeFn,
|
|
|
+ from: {
|
|
|
+ functionName: methodParts[1],
|
|
|
+ file: methodParts[2],
|
|
|
+ line: methodParts[3]
|
|
|
+ }
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ var noMethodParts = /^(.+):(\d+)$/.exec(parts[2]);
|
|
|
+
|
|
|
+ if (noMethodParts) {
|
|
|
+ return {
|
|
|
+ writeFn: writeFn,
|
|
|
+ from: {
|
|
|
+ file: noMethodParts[1],
|
|
|
+ line: noMethodParts[2]
|
|
|
+ }
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ return {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ debug('documentWriteCalls offenders transform function error with "%s"', offender);
|
|
|
+ return {
|
|
|
+ parseError: offender
|
|
|
+ };
|
|
|
+ })
|
|
|
+ };
|
|
|
+ }
|
|
|
},
|
|
|
"consoleMessages": {
|
|
|
"tool": "phantomas",
|