@axe-core/watcher 1.8.0-next.0a0e225f → 1.8.0-next.4113a178
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Controller.js +140 -63
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.js +66 -28
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +37 -24
- package/dist/cypressCommands.js.map +1 -1
- package/dist/git.js +26 -20
- package/dist/git.js.map +1 -1
- package/dist/playwright.js +102 -17
- package/dist/playwright.js.map +1 -1
- package/dist/puppeteer.js +112 -17
- package/dist/puppeteer.js.map +1 -1
- package/dist/util.js +47 -27
- package/dist/util.js.map +1 -1
- package/dist/validateApiKey.js +7 -6
- package/dist/validateApiKey.js.map +1 -1
- package/dist/wdio.js +160 -59
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.js +96 -21
- package/dist/webdriver.js.map +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +3 -2
package/dist/Controller.js
CHANGED
|
@@ -1,83 +1,160 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
40
|
};
|
|
5
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
42
|
+
var fs_1 = __importDefault(require("fs"));
|
|
43
|
+
var util_1 = require("./util");
|
|
44
|
+
var updateAutoAnalyze = function (val) {
|
|
45
|
+
var fileContents = fs_1.default.readFileSync(util_1.PATH_TO_EXTENSION_VARIABLES, 'utf-8');
|
|
46
|
+
var jsonValue = JSON.parse(fileContents);
|
|
11
47
|
jsonValue.auto_analyze = val;
|
|
12
48
|
fs_1.default.writeFileSync(util_1.PATH_TO_EXTENSION_VARIABLES, JSON.stringify(jsonValue));
|
|
13
49
|
};
|
|
14
|
-
|
|
15
|
-
|
|
50
|
+
var Controller = /** @class */ (function () {
|
|
51
|
+
function Controller() {
|
|
16
52
|
this.isStopped = false;
|
|
17
53
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
54
|
+
Controller.prototype.start = function () {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
56
|
+
return __generator(this, function (_a) {
|
|
57
|
+
switch (_a.label) {
|
|
58
|
+
case 0:
|
|
59
|
+
updateAutoAnalyze(true);
|
|
60
|
+
this.isStopped = false;
|
|
61
|
+
return [4 /*yield*/, this.executeScript(function () {
|
|
62
|
+
return new Promise(function (resolve) {
|
|
63
|
+
var event = new CustomEvent('axe:start-auto-mode');
|
|
64
|
+
var fn = function () {
|
|
65
|
+
window.removeEventListener('axe:start-auto-mode-done', fn);
|
|
66
|
+
resolve();
|
|
67
|
+
};
|
|
68
|
+
window.addEventListener('axe:start-auto-mode-done', fn);
|
|
69
|
+
window.dispatchEvent(event);
|
|
70
|
+
});
|
|
71
|
+
})];
|
|
72
|
+
case 1:
|
|
73
|
+
_a.sent();
|
|
74
|
+
return [2 /*return*/];
|
|
75
|
+
}
|
|
30
76
|
});
|
|
31
77
|
});
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
78
|
+
};
|
|
79
|
+
Controller.prototype.stop = function () {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
81
|
+
return __generator(this, function (_a) {
|
|
82
|
+
switch (_a.label) {
|
|
83
|
+
case 0:
|
|
84
|
+
updateAutoAnalyze(false);
|
|
85
|
+
this.isStopped = true;
|
|
86
|
+
return [4 /*yield*/, this.executeScript(function () {
|
|
87
|
+
return new Promise(function (resolve) {
|
|
88
|
+
var event = new CustomEvent('axe:stop-auto-mode');
|
|
89
|
+
var fn = function () {
|
|
90
|
+
window.removeEventListener('axe:stop-auto-mode-done', fn);
|
|
91
|
+
resolve();
|
|
92
|
+
};
|
|
93
|
+
window.addEventListener('axe:stop-auto-mode-done', fn);
|
|
94
|
+
window.dispatchEvent(event);
|
|
95
|
+
});
|
|
96
|
+
})];
|
|
97
|
+
case 1:
|
|
98
|
+
_a.sent();
|
|
99
|
+
return [2 /*return*/];
|
|
100
|
+
}
|
|
45
101
|
});
|
|
46
102
|
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
103
|
+
};
|
|
104
|
+
Controller.prototype.analyze = function (_a) {
|
|
105
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.__UserRequestedAnalyze, __UserRequestedAnalyze = _c === void 0 ? true : _c;
|
|
106
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
107
|
+
return __generator(this, function (_d) {
|
|
108
|
+
switch (_d.label) {
|
|
109
|
+
case 0:
|
|
110
|
+
// If the user didn't request an analyze, and we're in manual mode, don't do anything.
|
|
111
|
+
if (this.isStopped && !__UserRequestedAnalyze) {
|
|
112
|
+
return [2 /*return*/];
|
|
113
|
+
}
|
|
114
|
+
return [4 /*yield*/, this.executeScript(function (userRequestedAnalyze) {
|
|
115
|
+
return new Promise(function (resolve) {
|
|
116
|
+
var event = new CustomEvent('axe:manual-mode-analyze', {
|
|
117
|
+
detail: { userRequestedAnalyze: userRequestedAnalyze }
|
|
118
|
+
});
|
|
119
|
+
var fn = function () {
|
|
120
|
+
window.removeEventListener('axe:manual-mode-analyze-done', fn);
|
|
121
|
+
resolve();
|
|
122
|
+
};
|
|
123
|
+
window.addEventListener('axe:manual-mode-analyze-done', fn);
|
|
124
|
+
window.dispatchEvent(event);
|
|
125
|
+
});
|
|
126
|
+
}, __UserRequestedAnalyze)];
|
|
127
|
+
case 1:
|
|
128
|
+
_d.sent();
|
|
129
|
+
return [2 /*return*/];
|
|
130
|
+
}
|
|
64
131
|
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
132
|
+
});
|
|
133
|
+
};
|
|
67
134
|
/** Flush all axe-core results by sending them to the server. */
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
135
|
+
Controller.prototype.flush = function () {
|
|
136
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
137
|
+
return __generator(this, function (_a) {
|
|
138
|
+
switch (_a.label) {
|
|
139
|
+
case 0: return [4 /*yield*/, this.executeScript(function () {
|
|
140
|
+
return new Promise(function (resolve) {
|
|
141
|
+
var fn = function () {
|
|
142
|
+
window.removeEventListener('axe:flush-end', fn);
|
|
143
|
+
resolve();
|
|
144
|
+
};
|
|
145
|
+
window.addEventListener('axe:flush-end', fn);
|
|
146
|
+
var event = new CustomEvent('axe:flush-start');
|
|
147
|
+
window.dispatchEvent(event);
|
|
148
|
+
});
|
|
149
|
+
})];
|
|
150
|
+
case 1:
|
|
151
|
+
_a.sent();
|
|
152
|
+
return [2 /*return*/];
|
|
153
|
+
}
|
|
78
154
|
});
|
|
79
155
|
});
|
|
80
|
-
}
|
|
81
|
-
|
|
156
|
+
};
|
|
157
|
+
return Controller;
|
|
158
|
+
}());
|
|
82
159
|
exports.default = Controller;
|
|
83
160
|
//# sourceMappingURL=Controller.js.map
|
package/dist/Controller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"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"}
|
package/dist/cypress.js
CHANGED
|
@@ -1,23 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
25
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
26
|
+
if (ar || !(i in from)) {
|
|
27
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
28
|
+
ar[i] = from[i];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
32
|
+
};
|
|
2
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
34
|
exports.wrapCy = exports.WRAPPED_METHODS = exports.cypressConfig = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
35
|
+
var uuid_1 = require("uuid");
|
|
36
|
+
var util_1 = require("./util");
|
|
6
37
|
/**
|
|
7
38
|
* Create a Cypress config that uses the axe Watcher extension.
|
|
8
39
|
*
|
|
9
40
|
* @param config Cypress config to extend
|
|
10
41
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
(0, util_1.writeVariables)({
|
|
14
|
-
...axe,
|
|
42
|
+
var cypressConfig = function (config) {
|
|
43
|
+
var axe = config.axe, userConfig = __rest(config, ["axe"]);
|
|
44
|
+
(0, util_1.writeVariables)(__assign(__assign({}, axe), {
|
|
15
45
|
// Ensure the session ID persists between tabs.
|
|
16
46
|
// We cannot allow the extension to generate an ID, as each tab would get its own.
|
|
17
|
-
sessionId: axe.sessionId || (0, uuid_1.v4)(),
|
|
47
|
+
sessionId: axe.sessionId || (0, uuid_1.v4)(),
|
|
18
48
|
// Let the extension know to check for Cypress frames.
|
|
19
|
-
cypress: true
|
|
20
|
-
});
|
|
49
|
+
cypress: true }));
|
|
21
50
|
(0, util_1.writeManifest)({
|
|
22
51
|
all_frames: true,
|
|
23
52
|
exclude_globs: [
|
|
@@ -27,26 +56,26 @@ const cypressConfig = (config) => {
|
|
|
27
56
|
'*/__cypress/iframes/*'
|
|
28
57
|
]
|
|
29
58
|
});
|
|
30
|
-
return {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
59
|
+
return __assign(__assign({}, userConfig), { e2e: __assign(__assign({}, userConfig.e2e), { setupNodeEvents: function (on) {
|
|
60
|
+
var _a, _b;
|
|
61
|
+
var args = [];
|
|
62
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
63
|
+
args[_i - 1] = arguments[_i];
|
|
64
|
+
}
|
|
65
|
+
(_b = (_a = userConfig.e2e) === null || _a === void 0 ? void 0 : _a.setupNodeEvents) === null || _b === void 0 ? void 0 : _b.call.apply(_b, __spreadArray([_a, on], args, false));
|
|
66
|
+
on('before:browser:launch', function (browser, launchOptions) {
|
|
67
|
+
var _a;
|
|
37
68
|
// We only support Chrome.
|
|
38
69
|
if (browser.name === 'chrome') {
|
|
39
70
|
if (browser.isHeadless) {
|
|
40
71
|
throw new util_1.HeadlessNotSupportedError();
|
|
41
72
|
}
|
|
42
73
|
// Load the extension.
|
|
43
|
-
launchOptions.args.push(
|
|
74
|
+
(_a = launchOptions.args).push.apply(_a, util_1.extensionArgs);
|
|
44
75
|
}
|
|
45
76
|
return launchOptions;
|
|
46
77
|
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
};
|
|
78
|
+
} }) });
|
|
50
79
|
};
|
|
51
80
|
exports.cypressConfig = cypressConfig;
|
|
52
81
|
/** Methods we wrap on the provided `cy` instance. */
|
|
@@ -72,16 +101,21 @@ exports.WRAPPED_METHODS = [
|
|
|
72
101
|
'wait'
|
|
73
102
|
];
|
|
74
103
|
/** Wrap the given Cypress `cy` object, ensuring axe-core analysis is run after each command. */
|
|
75
|
-
|
|
104
|
+
var wrapCy = function (cy) {
|
|
76
105
|
// We cannot wrap the `cy` instance itself, but instead, wrap its prototype.
|
|
77
106
|
// We don't have access to the $Chainer prototype, so use the returned value from `cy.wrap('')`.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
proto[method] = function (
|
|
82
|
-
|
|
107
|
+
var proto = Object.getPrototypeOf(cy.wrap(''));
|
|
108
|
+
var _loop_1 = function (method) {
|
|
109
|
+
var old = proto[method];
|
|
110
|
+
proto[method] = function () {
|
|
111
|
+
var _this = this;
|
|
112
|
+
var params = [];
|
|
113
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
114
|
+
params[_i] = arguments[_i];
|
|
115
|
+
}
|
|
116
|
+
return old.apply(this, params).then(function ($element) {
|
|
83
117
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
84
|
-
|
|
118
|
+
_this.window().then(function (win) {
|
|
85
119
|
if (win && !win.__AXE_WATCHER_HAS_VISITED) {
|
|
86
120
|
/**
|
|
87
121
|
* Set a flag on the Window to indicate that a wrapped method has been called.
|
|
@@ -90,9 +124,13 @@ const wrapCy = (cy) => {
|
|
|
90
124
|
win.__AXE_WATCHER_HAS_VISITED = true;
|
|
91
125
|
}
|
|
92
126
|
});
|
|
93
|
-
return
|
|
127
|
+
return _this.axeAnalyze({ __UserRequestedAnalyze: false }).then(function () { return $element; });
|
|
94
128
|
});
|
|
95
129
|
};
|
|
130
|
+
};
|
|
131
|
+
for (var _i = 0, WRAPPED_METHODS_1 = exports.WRAPPED_METHODS; _i < WRAPPED_METHODS_1.length; _i++) {
|
|
132
|
+
var method = WRAPPED_METHODS_1[_i];
|
|
133
|
+
_loop_1(method);
|
|
96
134
|
}
|
|
97
135
|
return cy;
|
|
98
136
|
};
|
package/dist/cypress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":"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"}
|
package/dist/cypressCommands.js
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* istanbul ignore file: This file is basically untestable due to how Cypress works. Instead, it's covered by our E2E suite and manual testing. */
|
|
3
|
+
var __assign = (this && this.__assign) || function () {
|
|
4
|
+
__assign = Object.assign || function(t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
+
t[p] = s[p];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
return __assign.apply(this, arguments);
|
|
13
|
+
};
|
|
3
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
15
|
/** Overwrite the `cy.visit` command to set a flag on the Window. */
|
|
5
|
-
Cypress.Commands.overwrite('visit', function (originalFn, url, options
|
|
6
|
-
|
|
16
|
+
Cypress.Commands.overwrite('visit', function (originalFn, url, options) {
|
|
17
|
+
if (options === void 0) { options = {}; }
|
|
18
|
+
var oldOnBeforeLoad = options.onBeforeLoad || (function () { return undefined; });
|
|
7
19
|
options.onBeforeLoad = function (win) {
|
|
8
20
|
win.__AXE_WATCHER_HAS_VISITED = true;
|
|
9
21
|
oldOnBeforeLoad(win);
|
|
10
22
|
};
|
|
11
|
-
return originalFn({
|
|
23
|
+
return originalFn(__assign(__assign({}, options), { url: url }));
|
|
12
24
|
});
|
|
13
25
|
/**
|
|
14
26
|
* Has the user stopped automatic mode.
|
|
@@ -18,40 +30,41 @@ Cypress.Commands.overwrite('visit', function (originalFn, url, options = {}) {
|
|
|
18
30
|
* As result, we need this top-level state for managing
|
|
19
31
|
* analyze calls created by "wrapped" methods.
|
|
20
32
|
*/
|
|
21
|
-
|
|
22
|
-
Cypress.Commands.add('axeFlush', ()
|
|
23
|
-
cy.window().then(win
|
|
33
|
+
var isStopped = false;
|
|
34
|
+
Cypress.Commands.add('axeFlush', function () {
|
|
35
|
+
cy.window().then(function (win) {
|
|
24
36
|
// @ts-expect-error `__AXE_WATCHER_HAS_VISITED` is a global set on the window by axe Watcher.
|
|
25
37
|
// This determines if axe Watcher has ever visited the page. If it hasn't, we don't want to
|
|
26
38
|
// flush results
|
|
27
39
|
if (!win.__AXE_WATCHER_HAS_VISITED) {
|
|
28
40
|
return;
|
|
29
41
|
}
|
|
30
|
-
return new Promise(resolve
|
|
31
|
-
|
|
42
|
+
return new Promise(function (resolve) {
|
|
43
|
+
var fn = function () {
|
|
32
44
|
win.removeEventListener('axe:flush-end', fn);
|
|
33
45
|
// @ts-expect-error reset `__AXE_WATCHER_HAS_VISITED` to false
|
|
34
46
|
win.__AXE_WATCHER_HAS_VISITED = false;
|
|
35
47
|
resolve();
|
|
36
48
|
};
|
|
37
49
|
win.addEventListener('axe:flush-end', fn);
|
|
38
|
-
|
|
50
|
+
var event = new CustomEvent('axe:flush-start');
|
|
39
51
|
win.dispatchEvent(event);
|
|
40
52
|
});
|
|
41
53
|
});
|
|
42
54
|
});
|
|
43
55
|
Cypress.Commands.add('axeAnalyze',
|
|
44
56
|
// __UserRequestedAnalyze allows us to differentiate between user-initiated and automatic analysis.
|
|
45
|
-
(
|
|
57
|
+
function (_a) {
|
|
58
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.__UserRequestedAnalyze, __UserRequestedAnalyze = _c === void 0 ? true : _c;
|
|
46
59
|
if (!__UserRequestedAnalyze && isStopped) {
|
|
47
60
|
return;
|
|
48
61
|
}
|
|
49
|
-
cy.window().then(win
|
|
50
|
-
return new Promise(resolve
|
|
51
|
-
|
|
62
|
+
cy.window().then(function (win) {
|
|
63
|
+
return new Promise(function (resolve) {
|
|
64
|
+
var event = new CustomEvent('axe:manual-mode-analyze', {
|
|
52
65
|
detail: { userRequestedAnalyze: __UserRequestedAnalyze }
|
|
53
66
|
});
|
|
54
|
-
|
|
67
|
+
var fn = function () {
|
|
55
68
|
win.removeEventListener('axe:manual-mode-analyze-done', fn);
|
|
56
69
|
resolve();
|
|
57
70
|
};
|
|
@@ -60,11 +73,11 @@ Cypress.Commands.add('axeAnalyze',
|
|
|
60
73
|
});
|
|
61
74
|
});
|
|
62
75
|
});
|
|
63
|
-
Cypress.Commands.add('axeStart', ()
|
|
64
|
-
cy.window().then(win
|
|
65
|
-
return new Promise(resolve
|
|
66
|
-
|
|
67
|
-
|
|
76
|
+
Cypress.Commands.add('axeStart', function () {
|
|
77
|
+
cy.window().then(function (win) {
|
|
78
|
+
return new Promise(function (resolve) {
|
|
79
|
+
var event = new CustomEvent('axe:start-auto-mode');
|
|
80
|
+
var fn = function () {
|
|
68
81
|
isStopped = false;
|
|
69
82
|
win.removeEventListener('axe:start-auto-mode-done', fn);
|
|
70
83
|
resolve();
|
|
@@ -74,11 +87,11 @@ Cypress.Commands.add('axeStart', () => {
|
|
|
74
87
|
});
|
|
75
88
|
});
|
|
76
89
|
});
|
|
77
|
-
Cypress.Commands.add('axeStop', ()
|
|
78
|
-
cy.window().then(win
|
|
79
|
-
return new Promise(resolve
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
Cypress.Commands.add('axeStop', function () {
|
|
91
|
+
cy.window().then(function (win) {
|
|
92
|
+
return new Promise(function (resolve) {
|
|
93
|
+
var event = new CustomEvent('axe:stop-auto-mode');
|
|
94
|
+
var fn = function () {
|
|
82
95
|
isStopped = true;
|
|
83
96
|
win.removeEventListener('axe:stop-auto-mode-done', fn);
|
|
84
97
|
resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";AAAA,kJAAkJ
|
|
1
|
+
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":"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"}
|