@axe-core/playwright 4.3.2 → 4.3.3-alpha.221
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/README.md +24 -2
- package/dist/AxePartialRunner.js +11 -7
- package/dist/AxePartialRunner.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +7 -7
- package/src/index.ts +9 -5
- package/src/utils.ts +2 -2
- package/tests/axe-playwright.spec.ts +94 -5
- package/tests/fixtures/context.html +2 -0
package/README.md
CHANGED
|
@@ -83,7 +83,7 @@ new AxeBuilder({ page })
|
|
|
83
83
|
});
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
### AxeBuilder#include(selector: String)
|
|
86
|
+
### AxeBuilder#include(selector: String | String[])
|
|
87
87
|
|
|
88
88
|
Adds a CSS selector to the list of elements to include in analysis
|
|
89
89
|
|
|
@@ -91,7 +91,18 @@ Adds a CSS selector to the list of elements to include in analysis
|
|
|
91
91
|
new AxeBuilder({ page }).include('.results-panel');
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
Method chaining is also available, add multiple CSS selectors to the list of elements to include in analysis
|
|
95
|
+
|
|
96
|
+
```js
|
|
97
|
+
new AxeBuilder({ page })
|
|
98
|
+
.include('.selector-one')
|
|
99
|
+
.include('.selector-two')
|
|
100
|
+
.include('.selector-three');
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Note: arrays with more than one index when passing multiple CSS selectors are not currently supported example: ` .include(['#foo', '#bar', '#baz'])`
|
|
104
|
+
|
|
105
|
+
### AxeBuilder#exclude(selector: String | String[])
|
|
95
106
|
|
|
96
107
|
Add a CSS selector to the list of elements to exclude from analysis
|
|
97
108
|
|
|
@@ -99,6 +110,17 @@ Add a CSS selector to the list of elements to exclude from analysis
|
|
|
99
110
|
new AxeBuilder({ page }).exclude('.another-element');
|
|
100
111
|
```
|
|
101
112
|
|
|
113
|
+
Method chaining is also available, add multiple CSS selectors to the list of elements to exclude from analysis
|
|
114
|
+
|
|
115
|
+
```js
|
|
116
|
+
new AxeBuilder({ page })
|
|
117
|
+
.exclude('.selector-one')
|
|
118
|
+
.exclude('.selector-two')
|
|
119
|
+
.exclude('.selector-three');
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Note: arrays with more than one index when passing multiple CSS selectors are not currently supported example: ` .exclude(['#foo', '#bar', '#baz'])`
|
|
123
|
+
|
|
102
124
|
### AxeBuilder#options(options: [axe.RunOptions](https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#options-parameter))
|
|
103
125
|
|
|
104
126
|
Specifies options to be used by `axe.run`. Will override any other configured options. including calls to `AxeBuilder#withRules()` and `AxeBuilder#withTags()`. See [axe-core API documentation](https://github.com/dequelabs/axe-core/blob/master/doc/API.md) for information on its structure.
|
package/dist/AxePartialRunner.js
CHANGED
|
@@ -35,10 +35,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
39
|
-
for (var i = 0,
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
42
46
|
};
|
|
43
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
48
|
exports.caught = void 0;
|
|
@@ -47,7 +51,7 @@ var AxePartialRunner = /** @class */ (function () {
|
|
|
47
51
|
if (initiator === void 0) { initiator = false; }
|
|
48
52
|
this.initiator = initiator;
|
|
49
53
|
this.childRunners = [];
|
|
50
|
-
this.partialPromise = exports.caught(partialPromise);
|
|
54
|
+
this.partialPromise = (0, exports.caught)(partialPromise);
|
|
51
55
|
}
|
|
52
56
|
AxePartialRunner.prototype.addChildResults = function (childResultRunner) {
|
|
53
57
|
this.childRunners.push(childResultRunner);
|
|
@@ -63,12 +67,12 @@ var AxePartialRunner = /** @class */ (function () {
|
|
|
63
67
|
case 1:
|
|
64
68
|
parentPartial = _a.sent();
|
|
65
69
|
childPromises = this.childRunners.map(function (childRunner) {
|
|
66
|
-
return childRunner ? exports.caught(childRunner.getPartials()) : [null];
|
|
70
|
+
return childRunner ? (0, exports.caught)(childRunner.getPartials()) : [null];
|
|
67
71
|
});
|
|
68
72
|
return [4 /*yield*/, Promise.all(childPromises)];
|
|
69
73
|
case 2:
|
|
70
74
|
childPartials = (_a.sent()).flat(1);
|
|
71
|
-
return [2 /*return*/, __spreadArray([parentPartial], childPartials)];
|
|
75
|
+
return [2 /*return*/, __spreadArray([parentPartial], childPartials, true)];
|
|
72
76
|
case 3:
|
|
73
77
|
e_1 = _a.sent();
|
|
74
78
|
if (this.initiator) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxePartialRunner.js","sourceRoot":"","sources":["../src/AxePartialRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AxePartialRunner.js","sourceRoot":"","sources":["../src/AxePartialRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;IAIE,0BACE,cAA0C,EAClC,SAA0B;QAA1B,0BAAA,EAAA,iBAA0B;QAA1B,cAAS,GAAT,SAAS,CAAiB;QAJ5B,iBAAY,GAAmC,EAAE,CAAC;QAMxD,IAAI,CAAC,cAAc,GAAG,IAAA,cAAM,EAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAEM,0CAAe,GAAtB,UAAuB,iBAA0C;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IAEY,sCAAW,GAAxB;;;;;;;wBAE0B,qBAAM,IAAI,CAAC,cAAc,EAAA;;wBAAzC,aAAa,GAAG,SAAyB;wBACzC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,WAAW;4BACrD,OAAO,WAAW,CAAC,CAAC,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC;wBACoB,qBAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAA;;wBAAjD,aAAa,GAAG,CAAC,SAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;wBAChE,qCAAQ,aAAa,GAAK,aAAa,SAAE;;;wBAEzC,IAAI,IAAI,CAAC,SAAS,EAAE;4BAClB,MAAM,GAAC,CAAC;yBACT;wBACD,sBAAO,CAAC,IAAI,CAAC,EAAC;;;;;KAEjB;IACH,uBAAC;AAAD,CAAC,AA9BD,IA8BC;;AAED,2EAA2E;AAC3E,oHAAoH;AACvG,QAAA,MAAM,GAAG,CAAC,UAAC,CAAa;IACnC,OAAO,UAAI,CAAa,IAAiB,OAAA,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAf,CAAe,CAAC;IACzD,yDAAyD;AAC3D,CAAC,CAAC,CAAC,cAAO,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,14 +14,14 @@ export default class AxeBuilder {
|
|
|
14
14
|
* @param String selector
|
|
15
15
|
* @returns this
|
|
16
16
|
*/
|
|
17
|
-
include(selector: string): this;
|
|
17
|
+
include(selector: string | string[]): this;
|
|
18
18
|
/**
|
|
19
19
|
* Selector to exclude in analysis.
|
|
20
20
|
* This may be called any number of times.
|
|
21
21
|
* @param String selector
|
|
22
22
|
* @returns this
|
|
23
23
|
*/
|
|
24
|
-
exclude(selector: string): this;
|
|
24
|
+
exclude(selector: string | string[]): this;
|
|
25
25
|
/**
|
|
26
26
|
* Set options to be passed into axe-core
|
|
27
27
|
* @param RunOptions options
|
package/dist/index.js
CHANGED
|
@@ -60,6 +60,7 @@ var AxeBuilder = /** @class */ (function () {
|
|
|
60
60
|
* @returns this
|
|
61
61
|
*/
|
|
62
62
|
AxeBuilder.prototype.include = function (selector) {
|
|
63
|
+
selector = Array.isArray(selector) ? selector : [selector];
|
|
63
64
|
this.includes.push(selector);
|
|
64
65
|
return this;
|
|
65
66
|
};
|
|
@@ -70,6 +71,7 @@ var AxeBuilder = /** @class */ (function () {
|
|
|
70
71
|
* @returns this
|
|
71
72
|
*/
|
|
72
73
|
AxeBuilder.prototype.exclude = function (selector) {
|
|
74
|
+
selector = Array.isArray(selector) ? selector : [selector];
|
|
73
75
|
this.excludes.push(selector);
|
|
74
76
|
return this;
|
|
75
77
|
};
|
|
@@ -152,7 +154,7 @@ var AxeBuilder = /** @class */ (function () {
|
|
|
152
154
|
return __generator(this, function (_b) {
|
|
153
155
|
switch (_b.label) {
|
|
154
156
|
case 0:
|
|
155
|
-
context = utils_1.normalizeContext(this.includes, this.excludes);
|
|
157
|
+
context = (0, utils_1.normalizeContext)(this.includes, this.excludes);
|
|
156
158
|
_a = this, page = _a.page, options = _a.option;
|
|
157
159
|
page.evaluate(this.script());
|
|
158
160
|
return [4 /*yield*/, page.evaluate('typeof window.axe.runPartial === "function"')];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,+BAAiC;AAQjC,iCAAwD;AAExD,qCAKmB;AACnB,uDAAkD;AAElD;IAQE,oBAAY,EAAwC;YAAtC,IAAI,UAAA,EAAE,SAAS,eAAA;QAFrB,eAAU,GAAG,KAAK,CAAC;QAGzB,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,SAAS,IAAI,MAAM,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IAEI,4BAAO,GAAd,UAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { AnalyzePageParams, AnalyzePageResponse } from './types';
|
|
|
6
6
|
* @param Array exclude
|
|
7
7
|
* @returns ContextObject
|
|
8
8
|
*/
|
|
9
|
-
export declare const normalizeContext: (includes: string[], excludes: string[]) => ContextObject;
|
|
9
|
+
export declare const normalizeContext: (includes: string[][], excludes: string[][]) => ContextObject;
|
|
10
10
|
/**
|
|
11
11
|
* Analyze the page.
|
|
12
12
|
* @param AnalyzePageParams analyzeContext
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AAEI,IAAM,gBAAgB,GAAG,UAC9B,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AAEI,IAAM,gBAAgB,GAAG,UAC9B,QAAoB,EACpB,QAAoB;;IAEpB,IAAM,IAAI,GAAkB;QAC1B,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAClD,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,IAAI,WAAI,QAAQ,EAAE;KAChC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B;AAEF;;;;GAIG;AAEI,IAAM,WAAW,GAAG,UAAC,EAGR;QAFlB,OAAO,aAAA,EACP,OAAO,aAAA;IAEP,8DAA8D;IAC9D,IAAM,OAAO,GAAI,MAAc,CAAC,GAAG,CAAC;IAEpC,eAAe;IACf,OAAO,OAAO;SACX,GAAG,CAAC,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;SACvC,IAAI,CAAC,UAAC,OAAmB;QACxB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,SAAA,EAAE,CAAC;IAClC,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,GAAU;QAChB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,WAAW,eAgBtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axe-core/playwright",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.3-alpha.221+23b848c",
|
|
4
4
|
"description": "Provides a method to inject and analyze web pages using axe",
|
|
5
5
|
"contributors": [
|
|
6
6
|
{
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"prepare": "npm run build"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"axe-core": "^4.3.
|
|
40
|
-
"playwright": "^1.
|
|
39
|
+
"axe-core": "^4.3.5",
|
|
40
|
+
"playwright": "^1.16.2"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/chai": "^4.2.
|
|
43
|
+
"@types/chai": "^4.2.22",
|
|
44
44
|
"@types/express": "^4.17.13",
|
|
45
45
|
"@types/mocha": "^8.2.3",
|
|
46
|
-
"@types/node": "^14.17.
|
|
46
|
+
"@types/node": "^14.17.32",
|
|
47
47
|
"@types/test-listen": "^1.1.0",
|
|
48
48
|
"axe-test-fixtures": "github:dequelabs/axe-test-fixtures#v1",
|
|
49
49
|
"chai": "^4.3.0",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"rimraf": "^3.0.2",
|
|
54
54
|
"test-listen": "^1.1.0",
|
|
55
55
|
"ts-node": "^9.1.1",
|
|
56
|
-
"typescript": "^4.
|
|
56
|
+
"typescript": "^4.4.4"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"playwright": ">= 1.0.0"
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"functions": 100,
|
|
78
78
|
"lines": 95
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "23b848c8959046014d9620a46f18088d5cfa8f3b"
|
|
81
81
|
}
|
package/src/index.ts
CHANGED
|
@@ -19,8 +19,8 @@ import AxePartialRunner from './AxePartialRunner';
|
|
|
19
19
|
|
|
20
20
|
export default class AxeBuilder {
|
|
21
21
|
private page: Page;
|
|
22
|
-
private includes: string[];
|
|
23
|
-
private excludes: string[];
|
|
22
|
+
private includes: string[][];
|
|
23
|
+
private excludes: string[][];
|
|
24
24
|
private option: RunOptions;
|
|
25
25
|
private source: string;
|
|
26
26
|
private legacyMode = false;
|
|
@@ -42,7 +42,8 @@ export default class AxeBuilder {
|
|
|
42
42
|
* @returns this
|
|
43
43
|
*/
|
|
44
44
|
|
|
45
|
-
public include(selector: string): this {
|
|
45
|
+
public include(selector: string | string[]): this {
|
|
46
|
+
selector = Array.isArray(selector) ? selector : [selector];
|
|
46
47
|
this.includes.push(selector);
|
|
47
48
|
return this;
|
|
48
49
|
}
|
|
@@ -54,7 +55,8 @@ export default class AxeBuilder {
|
|
|
54
55
|
* @returns this
|
|
55
56
|
*/
|
|
56
57
|
|
|
57
|
-
public exclude(selector: string): this {
|
|
58
|
+
public exclude(selector: string | string[]): this {
|
|
59
|
+
selector = Array.isArray(selector) ? selector : [selector];
|
|
58
60
|
this.excludes.push(selector);
|
|
59
61
|
return this;
|
|
60
62
|
}
|
|
@@ -167,7 +169,9 @@ export default class AxeBuilder {
|
|
|
167
169
|
return await this.finishRun(partials);
|
|
168
170
|
} catch (error) {
|
|
169
171
|
throw new Error(
|
|
170
|
-
`${
|
|
172
|
+
`${
|
|
173
|
+
(error as Error).message
|
|
174
|
+
}\n Please check out https://github.com/dequelabs/axe-core-npm/blob/develop/packages/playwright/error-handling.md`
|
|
171
175
|
);
|
|
172
176
|
}
|
|
173
177
|
}
|
package/src/utils.ts
CHANGED
|
@@ -9,8 +9,8 @@ import type { AnalyzePageParams, AnalyzePageResponse } from './types';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export const normalizeContext = (
|
|
12
|
-
includes: string[],
|
|
13
|
-
excludes: string[]
|
|
12
|
+
includes: string[][],
|
|
13
|
+
excludes: string[][]
|
|
14
14
|
): ContextObject => {
|
|
15
15
|
const base: ContextObject = {
|
|
16
16
|
exclude: []
|
|
@@ -128,7 +128,7 @@ describe('@axe-core/playwright', () => {
|
|
|
128
128
|
axeSource: 'throw new Error()'
|
|
129
129
|
}).analyze();
|
|
130
130
|
} catch (e) {
|
|
131
|
-
error = e;
|
|
131
|
+
error = e as Error;
|
|
132
132
|
}
|
|
133
133
|
assert.isNotNull(error);
|
|
134
134
|
});
|
|
@@ -143,7 +143,7 @@ describe('@axe-core/playwright', () => {
|
|
|
143
143
|
.withRules('label')
|
|
144
144
|
.analyze();
|
|
145
145
|
} catch (e) {
|
|
146
|
-
error = e;
|
|
146
|
+
error = e as Error;
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
assert.isNotNull(error);
|
|
@@ -413,6 +413,95 @@ describe('@axe-core/playwright', () => {
|
|
|
413
413
|
|
|
414
414
|
assert.notInclude(flattenTarget, '.exclude');
|
|
415
415
|
});
|
|
416
|
+
|
|
417
|
+
it('with chaining includes', async () => {
|
|
418
|
+
await page.goto(`${addr}/context.html`);
|
|
419
|
+
|
|
420
|
+
const results = await new AxeBuilder({ page })
|
|
421
|
+
.include('.include')
|
|
422
|
+
.include('.include2')
|
|
423
|
+
.analyze();
|
|
424
|
+
const flattenTarget = flatPassesTargets(results);
|
|
425
|
+
|
|
426
|
+
assert.strictEqual(flattenTarget[0], '.include');
|
|
427
|
+
assert.strictEqual(flattenTarget[1], '.include2');
|
|
428
|
+
assert.notInclude(flattenTarget, '.exclude');
|
|
429
|
+
assert.notInclude(flattenTarget, '.exclude2');
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
it('with chaining excludes', async () => {
|
|
433
|
+
await page.goto(`${addr}/context.html`);
|
|
434
|
+
const results = await new AxeBuilder({ page })
|
|
435
|
+
.exclude('.exclude')
|
|
436
|
+
.exclude('.exclude2')
|
|
437
|
+
.analyze();
|
|
438
|
+
const flattenTarget = flatPassesTargets(results);
|
|
439
|
+
|
|
440
|
+
assert.notInclude(flattenTarget, '.exclude');
|
|
441
|
+
assert.notInclude(flattenTarget, '.exclude2');
|
|
442
|
+
});
|
|
443
|
+
|
|
444
|
+
it('with chaining includes and excludes', async () => {
|
|
445
|
+
await page.goto(`${addr}/context.html`);
|
|
446
|
+
const results = await new AxeBuilder({ page })
|
|
447
|
+
.include('.include')
|
|
448
|
+
.include('.include2')
|
|
449
|
+
.exclude('.exclude')
|
|
450
|
+
.exclude('.exclude2')
|
|
451
|
+
.analyze();
|
|
452
|
+
const flattenTarget = flatPassesTargets(results);
|
|
453
|
+
|
|
454
|
+
assert.strictEqual(flattenTarget[0], '.include');
|
|
455
|
+
assert.strictEqual(flattenTarget[1], '.include2');
|
|
456
|
+
assert.notInclude(flattenTarget, '.exclude');
|
|
457
|
+
assert.notInclude(flattenTarget, '.exclude2');
|
|
458
|
+
});
|
|
459
|
+
|
|
460
|
+
it('with include using an array of strings', async () => {
|
|
461
|
+
await page.goto(`${addr}/context.html`);
|
|
462
|
+
const expected = ['.selector-one', '.selector-two', '.selector-three'];
|
|
463
|
+
|
|
464
|
+
const axeSource = `
|
|
465
|
+
window.axe = {
|
|
466
|
+
configure(){},
|
|
467
|
+
run({ include }){
|
|
468
|
+
return Promise.resolve({ include })
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
`;
|
|
472
|
+
const results = new AxeBuilder({ page, axeSource: axeSource }).include([
|
|
473
|
+
'.selector-one',
|
|
474
|
+
'.selector-two',
|
|
475
|
+
'.selector-three'
|
|
476
|
+
]);
|
|
477
|
+
|
|
478
|
+
const { include: actual } = (await results.analyze()) as any;
|
|
479
|
+
|
|
480
|
+
assert.deepEqual(actual[0], expected);
|
|
481
|
+
});
|
|
482
|
+
|
|
483
|
+
it('with exclude using an array of strings', async () => {
|
|
484
|
+
await page.goto(`${addr}/context.html`);
|
|
485
|
+
const expected = ['.selector-one', '.selector-two', '.selector-three'];
|
|
486
|
+
|
|
487
|
+
const axeSource = `
|
|
488
|
+
window.axe = {
|
|
489
|
+
configure(){},
|
|
490
|
+
run({ exclude }){
|
|
491
|
+
return Promise.resolve({ exclude })
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
`;
|
|
495
|
+
const results = new AxeBuilder({ page, axeSource: axeSource }).exclude([
|
|
496
|
+
'.selector-one',
|
|
497
|
+
'.selector-two',
|
|
498
|
+
'.selector-three'
|
|
499
|
+
]);
|
|
500
|
+
|
|
501
|
+
const { exclude: actual } = (await results.analyze()) as any;
|
|
502
|
+
|
|
503
|
+
assert.deepEqual(actual[0], expected);
|
|
504
|
+
});
|
|
416
505
|
});
|
|
417
506
|
|
|
418
507
|
describe('axe.finishRun errors', () => {
|
|
@@ -437,7 +526,7 @@ describe('@axe-core/playwright', () => {
|
|
|
437
526
|
assert.fail('Should have thrown');
|
|
438
527
|
} catch (err) {
|
|
439
528
|
assert.match(
|
|
440
|
-
err.message,
|
|
529
|
+
(err as Error).message,
|
|
441
530
|
/Please make sure that you have popup blockers disabled./
|
|
442
531
|
);
|
|
443
532
|
}
|
|
@@ -453,7 +542,7 @@ describe('@axe-core/playwright', () => {
|
|
|
453
542
|
}).analyze();
|
|
454
543
|
assert.fail('Should have thrown');
|
|
455
544
|
} catch (err) {
|
|
456
|
-
assert.match(err.message, /Please check out/);
|
|
545
|
+
assert.match((err as Error).message, /Please check out/);
|
|
457
546
|
}
|
|
458
547
|
});
|
|
459
548
|
});
|
|
@@ -527,7 +616,7 @@ describe('@axe-core/playwright', () => {
|
|
|
527
616
|
axeSource: axeLegacySource + axeCrasherSource
|
|
528
617
|
}).analyze();
|
|
529
618
|
} catch (e) {
|
|
530
|
-
error = e;
|
|
619
|
+
error = e as Error;
|
|
531
620
|
}
|
|
532
621
|
assert.isNotNull(error);
|
|
533
622
|
});
|