@axe-core/watcher 1.7.0 → 1.8.0-next.0a0e225f
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 +63 -140
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.js +28 -66
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +24 -37
- package/dist/cypressCommands.js.map +1 -1
- package/dist/git.js +20 -26
- package/dist/git.js.map +1 -1
- package/dist/playwright.js +17 -102
- package/dist/playwright.js.map +1 -1
- package/dist/puppeteer.js +17 -112
- package/dist/puppeteer.js.map +1 -1
- package/dist/util.js +27 -47
- package/dist/util.js.map +1 -1
- package/dist/validateApiKey.js +6 -7
- package/dist/validateApiKey.js.map +1 -1
- package/dist/wdio.js +59 -160
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.js +21 -96
- package/dist/webdriver.js.map +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/extension/manifest.json +1 -1
- package/package.json +2 -2
package/dist/Controller.js
CHANGED
|
@@ -1,160 +1,83 @@
|
|
|
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
|
-
};
|
|
38
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
4
|
};
|
|
41
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const util_1 = require("./util");
|
|
8
|
+
const updateAutoAnalyze = (val) => {
|
|
9
|
+
const fileContents = fs_1.default.readFileSync(util_1.PATH_TO_EXTENSION_VARIABLES, 'utf-8');
|
|
10
|
+
const jsonValue = JSON.parse(fileContents);
|
|
47
11
|
jsonValue.auto_analyze = val;
|
|
48
12
|
fs_1.default.writeFileSync(util_1.PATH_TO_EXTENSION_VARIABLES, JSON.stringify(jsonValue));
|
|
49
13
|
};
|
|
50
|
-
|
|
51
|
-
|
|
14
|
+
class Controller {
|
|
15
|
+
constructor() {
|
|
52
16
|
this.isStopped = false;
|
|
53
17
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
}
|
|
18
|
+
async start() {
|
|
19
|
+
updateAutoAnalyze(true);
|
|
20
|
+
this.isStopped = false;
|
|
21
|
+
await this.executeScript(() => {
|
|
22
|
+
return new Promise(resolve => {
|
|
23
|
+
const event = new CustomEvent('axe:start-auto-mode');
|
|
24
|
+
const fn = () => {
|
|
25
|
+
window.removeEventListener('axe:start-auto-mode-done', fn);
|
|
26
|
+
resolve();
|
|
27
|
+
};
|
|
28
|
+
window.addEventListener('axe:start-auto-mode-done', fn);
|
|
29
|
+
window.dispatchEvent(event);
|
|
76
30
|
});
|
|
77
31
|
});
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
}
|
|
32
|
+
}
|
|
33
|
+
async stop() {
|
|
34
|
+
updateAutoAnalyze(false);
|
|
35
|
+
this.isStopped = true;
|
|
36
|
+
await this.executeScript(() => {
|
|
37
|
+
return new Promise(resolve => {
|
|
38
|
+
const event = new CustomEvent('axe:stop-auto-mode');
|
|
39
|
+
const fn = () => {
|
|
40
|
+
window.removeEventListener('axe:stop-auto-mode-done', fn);
|
|
41
|
+
resolve();
|
|
42
|
+
};
|
|
43
|
+
window.addEventListener('axe:stop-auto-mode-done', fn);
|
|
44
|
+
window.dispatchEvent(event);
|
|
101
45
|
});
|
|
102
46
|
});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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
|
-
}
|
|
47
|
+
}
|
|
48
|
+
async analyze({ __UserRequestedAnalyze = true } = {}) {
|
|
49
|
+
// If the user didn't request an analyze, and we're in manual mode, don't do anything.
|
|
50
|
+
if (this.isStopped && !__UserRequestedAnalyze) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
await this.executeScript(userRequestedAnalyze => {
|
|
54
|
+
return new Promise(resolve => {
|
|
55
|
+
const event = new CustomEvent('axe:manual-mode-analyze', {
|
|
56
|
+
detail: { userRequestedAnalyze }
|
|
57
|
+
});
|
|
58
|
+
const fn = () => {
|
|
59
|
+
window.removeEventListener('axe:manual-mode-analyze-done', fn);
|
|
60
|
+
resolve();
|
|
61
|
+
};
|
|
62
|
+
window.addEventListener('axe:manual-mode-analyze-done', fn);
|
|
63
|
+
window.dispatchEvent(event);
|
|
131
64
|
});
|
|
132
|
-
});
|
|
133
|
-
}
|
|
65
|
+
}, __UserRequestedAnalyze);
|
|
66
|
+
}
|
|
134
67
|
/** Flush all axe-core results by sending them to the server. */
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
return
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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
|
-
}
|
|
68
|
+
async flush() {
|
|
69
|
+
await this.executeScript(() => {
|
|
70
|
+
return new Promise(resolve => {
|
|
71
|
+
const fn = () => {
|
|
72
|
+
window.removeEventListener('axe:flush-end', fn);
|
|
73
|
+
resolve();
|
|
74
|
+
};
|
|
75
|
+
window.addEventListener('axe:flush-end', fn);
|
|
76
|
+
const event = new CustomEvent('axe:flush-start');
|
|
77
|
+
window.dispatchEvent(event);
|
|
154
78
|
});
|
|
155
79
|
});
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
}());
|
|
80
|
+
}
|
|
81
|
+
}
|
|
159
82
|
exports.default = Controller;
|
|
160
83
|
//# 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,52 +1,23 @@
|
|
|
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
|
-
};
|
|
33
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
3
|
exports.wrapCy = exports.WRAPPED_METHODS = exports.cypressConfig = void 0;
|
|
35
|
-
|
|
36
|
-
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
const util_1 = require("./util");
|
|
37
6
|
/**
|
|
38
7
|
* Create a Cypress config that uses the axe Watcher extension.
|
|
39
8
|
*
|
|
40
9
|
* @param config Cypress config to extend
|
|
41
10
|
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
(0, util_1.writeVariables)(
|
|
11
|
+
const cypressConfig = (config) => {
|
|
12
|
+
const { axe, ...userConfig } = config;
|
|
13
|
+
(0, util_1.writeVariables)({
|
|
14
|
+
...axe,
|
|
45
15
|
// Ensure the session ID persists between tabs.
|
|
46
16
|
// We cannot allow the extension to generate an ID, as each tab would get its own.
|
|
47
|
-
sessionId: axe.sessionId || (0, uuid_1.v4)(),
|
|
17
|
+
sessionId: axe.sessionId || (0, uuid_1.v4)(),
|
|
48
18
|
// Let the extension know to check for Cypress frames.
|
|
49
|
-
cypress: true
|
|
19
|
+
cypress: true
|
|
20
|
+
});
|
|
50
21
|
(0, util_1.writeManifest)({
|
|
51
22
|
all_frames: true,
|
|
52
23
|
exclude_globs: [
|
|
@@ -56,26 +27,26 @@ var cypressConfig = function (config) {
|
|
|
56
27
|
'*/__cypress/iframes/*'
|
|
57
28
|
]
|
|
58
29
|
});
|
|
59
|
-
return
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
(
|
|
66
|
-
on('before:browser:launch', function (browser, launchOptions) {
|
|
67
|
-
var _a;
|
|
30
|
+
return {
|
|
31
|
+
...userConfig,
|
|
32
|
+
e2e: {
|
|
33
|
+
...userConfig.e2e,
|
|
34
|
+
setupNodeEvents(on, ...args) {
|
|
35
|
+
userConfig.e2e?.setupNodeEvents?.(on, ...args);
|
|
36
|
+
on('before:browser:launch', (browser, launchOptions) => {
|
|
68
37
|
// We only support Chrome.
|
|
69
38
|
if (browser.name === 'chrome') {
|
|
70
39
|
if (browser.isHeadless) {
|
|
71
40
|
throw new util_1.HeadlessNotSupportedError();
|
|
72
41
|
}
|
|
73
42
|
// Load the extension.
|
|
74
|
-
|
|
43
|
+
launchOptions.args.push(...util_1.extensionArgs);
|
|
75
44
|
}
|
|
76
45
|
return launchOptions;
|
|
77
46
|
});
|
|
78
|
-
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
79
50
|
};
|
|
80
51
|
exports.cypressConfig = cypressConfig;
|
|
81
52
|
/** Methods we wrap on the provided `cy` instance. */
|
|
@@ -101,21 +72,16 @@ exports.WRAPPED_METHODS = [
|
|
|
101
72
|
'wait'
|
|
102
73
|
];
|
|
103
74
|
/** Wrap the given Cypress `cy` object, ensuring axe-core analysis is run after each command. */
|
|
104
|
-
|
|
75
|
+
const wrapCy = (cy) => {
|
|
105
76
|
// We cannot wrap the `cy` instance itself, but instead, wrap its prototype.
|
|
106
77
|
// We don't have access to the $Chainer prototype, so use the returned value from `cy.wrap('')`.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
proto[method] = function () {
|
|
111
|
-
|
|
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) {
|
|
78
|
+
const proto = Object.getPrototypeOf(cy.wrap(''));
|
|
79
|
+
for (const method of exports.WRAPPED_METHODS) {
|
|
80
|
+
const old = proto[method];
|
|
81
|
+
proto[method] = function (...params) {
|
|
82
|
+
return old.apply(this, params).then(($element) => {
|
|
117
83
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
118
|
-
|
|
84
|
+
this.window().then((win) => {
|
|
119
85
|
if (win && !win.__AXE_WATCHER_HAS_VISITED) {
|
|
120
86
|
/**
|
|
121
87
|
* Set a flag on the Window to indicate that a wrapped method has been called.
|
|
@@ -124,13 +90,9 @@ var wrapCy = function (cy) {
|
|
|
124
90
|
win.__AXE_WATCHER_HAS_VISITED = true;
|
|
125
91
|
}
|
|
126
92
|
});
|
|
127
|
-
return
|
|
93
|
+
return this.axeAnalyze({ __UserRequestedAnalyze: false }).then(() => $element);
|
|
128
94
|
});
|
|
129
95
|
};
|
|
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);
|
|
134
96
|
}
|
|
135
97
|
return cy;
|
|
136
98
|
};
|
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,26 +1,14 @@
|
|
|
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
|
-
};
|
|
14
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
4
|
/** Overwrite the `cy.visit` command to set a flag on the Window. */
|
|
16
|
-
Cypress.Commands.overwrite('visit', function (originalFn, url, options) {
|
|
17
|
-
|
|
18
|
-
var oldOnBeforeLoad = options.onBeforeLoad || (function () { return undefined; });
|
|
5
|
+
Cypress.Commands.overwrite('visit', function (originalFn, url, options = {}) {
|
|
6
|
+
const oldOnBeforeLoad = options.onBeforeLoad || (() => undefined);
|
|
19
7
|
options.onBeforeLoad = function (win) {
|
|
20
8
|
win.__AXE_WATCHER_HAS_VISITED = true;
|
|
21
9
|
oldOnBeforeLoad(win);
|
|
22
10
|
};
|
|
23
|
-
return originalFn(
|
|
11
|
+
return originalFn({ ...options, url });
|
|
24
12
|
});
|
|
25
13
|
/**
|
|
26
14
|
* Has the user stopped automatic mode.
|
|
@@ -30,41 +18,40 @@ Cypress.Commands.overwrite('visit', function (originalFn, url, options) {
|
|
|
30
18
|
* As result, we need this top-level state for managing
|
|
31
19
|
* analyze calls created by "wrapped" methods.
|
|
32
20
|
*/
|
|
33
|
-
|
|
34
|
-
Cypress.Commands.add('axeFlush',
|
|
35
|
-
cy.window().then(
|
|
21
|
+
let isStopped = false;
|
|
22
|
+
Cypress.Commands.add('axeFlush', () => {
|
|
23
|
+
cy.window().then(win => {
|
|
36
24
|
// @ts-expect-error `__AXE_WATCHER_HAS_VISITED` is a global set on the window by axe Watcher.
|
|
37
25
|
// This determines if axe Watcher has ever visited the page. If it hasn't, we don't want to
|
|
38
26
|
// flush results
|
|
39
27
|
if (!win.__AXE_WATCHER_HAS_VISITED) {
|
|
40
28
|
return;
|
|
41
29
|
}
|
|
42
|
-
return new Promise(
|
|
43
|
-
|
|
30
|
+
return new Promise(resolve => {
|
|
31
|
+
const fn = () => {
|
|
44
32
|
win.removeEventListener('axe:flush-end', fn);
|
|
45
33
|
// @ts-expect-error reset `__AXE_WATCHER_HAS_VISITED` to false
|
|
46
34
|
win.__AXE_WATCHER_HAS_VISITED = false;
|
|
47
35
|
resolve();
|
|
48
36
|
};
|
|
49
37
|
win.addEventListener('axe:flush-end', fn);
|
|
50
|
-
|
|
38
|
+
const event = new CustomEvent('axe:flush-start');
|
|
51
39
|
win.dispatchEvent(event);
|
|
52
40
|
});
|
|
53
41
|
});
|
|
54
42
|
});
|
|
55
43
|
Cypress.Commands.add('axeAnalyze',
|
|
56
44
|
// __UserRequestedAnalyze allows us to differentiate between user-initiated and automatic analysis.
|
|
57
|
-
|
|
58
|
-
var _b = _a === void 0 ? {} : _a, _c = _b.__UserRequestedAnalyze, __UserRequestedAnalyze = _c === void 0 ? true : _c;
|
|
45
|
+
({ __UserRequestedAnalyze = true } = {}) => {
|
|
59
46
|
if (!__UserRequestedAnalyze && isStopped) {
|
|
60
47
|
return;
|
|
61
48
|
}
|
|
62
|
-
cy.window().then(
|
|
63
|
-
return new Promise(
|
|
64
|
-
|
|
49
|
+
cy.window().then(win => {
|
|
50
|
+
return new Promise(resolve => {
|
|
51
|
+
const event = new CustomEvent('axe:manual-mode-analyze', {
|
|
65
52
|
detail: { userRequestedAnalyze: __UserRequestedAnalyze }
|
|
66
53
|
});
|
|
67
|
-
|
|
54
|
+
const fn = () => {
|
|
68
55
|
win.removeEventListener('axe:manual-mode-analyze-done', fn);
|
|
69
56
|
resolve();
|
|
70
57
|
};
|
|
@@ -73,11 +60,11 @@ function (_a) {
|
|
|
73
60
|
});
|
|
74
61
|
});
|
|
75
62
|
});
|
|
76
|
-
Cypress.Commands.add('axeStart',
|
|
77
|
-
cy.window().then(
|
|
78
|
-
return new Promise(
|
|
79
|
-
|
|
80
|
-
|
|
63
|
+
Cypress.Commands.add('axeStart', () => {
|
|
64
|
+
cy.window().then(win => {
|
|
65
|
+
return new Promise(resolve => {
|
|
66
|
+
const event = new CustomEvent('axe:start-auto-mode');
|
|
67
|
+
const fn = () => {
|
|
81
68
|
isStopped = false;
|
|
82
69
|
win.removeEventListener('axe:start-auto-mode-done', fn);
|
|
83
70
|
resolve();
|
|
@@ -87,11 +74,11 @@ Cypress.Commands.add('axeStart', function () {
|
|
|
87
74
|
});
|
|
88
75
|
});
|
|
89
76
|
});
|
|
90
|
-
Cypress.Commands.add('axeStop',
|
|
91
|
-
cy.window().then(
|
|
92
|
-
return new Promise(
|
|
93
|
-
|
|
94
|
-
|
|
77
|
+
Cypress.Commands.add('axeStop', () => {
|
|
78
|
+
cy.window().then(win => {
|
|
79
|
+
return new Promise(resolve => {
|
|
80
|
+
const event = new CustomEvent('axe:stop-auto-mode');
|
|
81
|
+
const fn = () => {
|
|
95
82
|
isStopped = true;
|
|
96
83
|
win.removeEventListener('axe:stop-auto-mode-done', fn);
|
|
97
84
|
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":";AAAA,kJAAkJ;;AA6BlJ,oEAAoE;AACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,UAAU,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE;IACzE,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,GAAS,EAAE,CAAC,SAAS,CAAC,CAAA;IACvE,OAAO,CAAC,YAAY,GAAG,UAAU,GAAkB;QACjD,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAA;QACpC,eAAe,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,OAAO,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;AACxC,CAAC,CAAC,CAAA;AAEF;;;;;;;GAOG;AAEH,IAAI,SAAS,GAAG,KAAK,CAAA;AAErB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAS,EAAE;IAC1C,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrB,6FAA6F;QAC7F,2FAA2F;QAC3F,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE;YAClC,OAAM;SACP;QAED,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,MAAM,EAAE,GAAG,GAAS,EAAE;gBACpB,GAAG,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC5C,8DAA8D;gBAC9D,GAAG,CAAC,yBAAyB,GAAG,KAAK,CAAA;gBACrC,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;YACzC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAA;YAChD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,YAAY;AACZ,mGAAmG;AACnG,CAAC,EAAE,sBAAsB,GAAG,IAAI,KAAuB,EAAE,EAAE,EAAE;IAC3D,IAAI,CAAC,sBAAsB,IAAI,SAAS,EAAE;QACxC,OAAM;KACP;IAED,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,EAAE;gBACvD,MAAM,EAAE,EAAE,oBAAoB,EAAE,sBAAsB,EAAE;aACzD,CAAC,CAAA;YACF,MAAM,EAAE,GAAG,GAAS,EAAE;gBACpB,GAAG,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;YACxD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CACF,CAAA;AAED,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAS,EAAE;IAC1C,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;YACpD,MAAM,EAAE,GAAG,GAAS,EAAE;gBACpB,SAAS,GAAG,KAAK,CAAA;gBACjB,GAAG,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;gBACvD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;YACpD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,GAAS,EAAE;IACzC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAA;YACnD,MAAM,EAAE,GAAG,GAAS,EAAE;gBACpB,SAAS,GAAG,IAAI,CAAA;gBAChB,GAAG,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;gBACtD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;YACnD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|