@axe-core/playwright 4.3.2-alpha.211 → 4.3.3-alpha.213

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 CHANGED
@@ -83,7 +83,7 @@ new AxeBuilder({ page })
83
83
  });
84
84
  ```
85
85
 
86
- ### AxeBuilder#include(selector: String | String[])
86
+ ### AxeBuilder#include(selector: String)
87
87
 
88
88
  Adds a CSS selector to the list of elements to include in analysis
89
89
 
@@ -91,18 +91,7 @@ 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
- 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[])
94
+ ### AxeBuilder#exclude(selector: String)
106
95
 
107
96
  Add a CSS selector to the list of elements to exclude from analysis
108
97
 
@@ -110,17 +99,6 @@ Add a CSS selector to the list of elements to exclude from analysis
110
99
  new AxeBuilder({ page }).exclude('.another-element');
111
100
  ```
112
101
 
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
-
124
102
  ### AxeBuilder#options(options: [axe.RunOptions](https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#options-parameter))
125
103
 
126
104
  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.
@@ -35,14 +35,10 @@ 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, 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));
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
39
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
40
+ to[j] = from[i];
41
+ return to;
46
42
  };
47
43
  Object.defineProperty(exports, "__esModule", { value: true });
48
44
  exports.caught = void 0;
@@ -51,7 +47,7 @@ var AxePartialRunner = /** @class */ (function () {
51
47
  if (initiator === void 0) { initiator = false; }
52
48
  this.initiator = initiator;
53
49
  this.childRunners = [];
54
- this.partialPromise = (0, exports.caught)(partialPromise);
50
+ this.partialPromise = exports.caught(partialPromise);
55
51
  }
56
52
  AxePartialRunner.prototype.addChildResults = function (childResultRunner) {
57
53
  this.childRunners.push(childResultRunner);
@@ -67,12 +63,12 @@ var AxePartialRunner = /** @class */ (function () {
67
63
  case 1:
68
64
  parentPartial = _a.sent();
69
65
  childPromises = this.childRunners.map(function (childRunner) {
70
- return childRunner ? (0, exports.caught)(childRunner.getPartials()) : [null];
66
+ return childRunner ? exports.caught(childRunner.getPartials()) : [null];
71
67
  });
72
68
  return [4 /*yield*/, Promise.all(childPromises)];
73
69
  case 2:
74
70
  childPartials = (_a.sent()).flat(1);
75
- return [2 /*return*/, __spreadArray([parentPartial], childPartials, true)];
71
+ return [2 /*return*/, __spreadArray([parentPartial], childPartials)];
76
72
  case 3:
77
73
  e_1 = _a.sent();
78
74
  if (this.initiator) {
@@ -1 +1 @@
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"}
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,cAAM,CAAC,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,cAAM,CAAC,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,GAAE;;;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 | string[]): this;
17
+ include(selector: 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 | string[]): this;
24
+ exclude(selector: string): this;
25
25
  /**
26
26
  * Set options to be passed into axe-core
27
27
  * @param RunOptions options
@@ -88,4 +88,5 @@ export default class AxeBuilder {
88
88
  */
89
89
  private runPartialRecursive;
90
90
  private finishRun;
91
+ private axeConfigure;
91
92
  }
package/dist/index.js CHANGED
@@ -60,7 +60,6 @@ var AxeBuilder = /** @class */ (function () {
60
60
  * @returns this
61
61
  */
62
62
  AxeBuilder.prototype.include = function (selector) {
63
- selector = Array.isArray(selector) ? selector : [selector];
64
63
  this.includes.push(selector);
65
64
  return this;
66
65
  };
@@ -71,7 +70,6 @@ var AxeBuilder = /** @class */ (function () {
71
70
  * @returns this
72
71
  */
73
72
  AxeBuilder.prototype.exclude = function (selector) {
74
- selector = Array.isArray(selector) ? selector : [selector];
75
73
  this.excludes.push(selector);
76
74
  return this;
77
75
  };
@@ -154,7 +152,7 @@ var AxeBuilder = /** @class */ (function () {
154
152
  return __generator(this, function (_b) {
155
153
  switch (_b.label) {
156
154
  case 0:
157
- context = (0, utils_1.normalizeContext)(this.includes, this.excludes);
155
+ context = utils_1.normalizeContext(this.includes, this.excludes);
158
156
  _a = this, page = _a.page, options = _a.option;
159
157
  page.evaluate(this.script());
160
158
  return [4 /*yield*/, page.evaluate('typeof window.axe.runPartial === "function"')];
@@ -191,23 +189,28 @@ var AxeBuilder = /** @class */ (function () {
191
189
  */
192
190
  AxeBuilder.prototype.inject = function (frames) {
193
191
  return __awaiter(this, void 0, void 0, function () {
194
- var _i, frames_1, iframe;
195
- return __generator(this, function (_a) {
196
- switch (_a.label) {
192
+ var _i, frames_1, iframe, _a, _b;
193
+ return __generator(this, function (_c) {
194
+ switch (_c.label) {
197
195
  case 0:
198
196
  _i = 0, frames_1 = frames;
199
- _a.label = 1;
197
+ _c.label = 1;
200
198
  case 1:
201
- if (!(_i < frames_1.length)) return [3 /*break*/, 4];
199
+ if (!(_i < frames_1.length)) return [3 /*break*/, 6];
202
200
  iframe = frames_1[_i];
203
201
  return [4 /*yield*/, iframe.evaluate(this.script())];
204
202
  case 2:
205
- _a.sent();
206
- _a.label = 3;
207
- case 3:
203
+ _c.sent();
204
+ _b = (_a = iframe).evaluate;
205
+ return [4 /*yield*/, this.axeConfigure()];
206
+ case 3: return [4 /*yield*/, _b.apply(_a, [_c.sent()])];
207
+ case 4:
208
+ _c.sent();
209
+ _c.label = 5;
210
+ case 5:
208
211
  _i++;
209
212
  return [3 /*break*/, 1];
210
- case 4: return [2 /*return*/];
213
+ case 6: return [2 /*return*/];
211
214
  }
212
215
  });
213
216
  });
@@ -217,7 +220,7 @@ var AxeBuilder = /** @class */ (function () {
217
220
  * @returns String
218
221
  */
219
222
  AxeBuilder.prototype.script = function () {
220
- return "\n " + this.source + "\n axe.configure({\n " + (this.legacyMode ? '' : 'allowedOrigins: ["<unsafe_all_origins>"],') + "\n branding: { application: 'playwright' }\n })\n ";
223
+ return this.source;
221
224
  };
222
225
  AxeBuilder.prototype.runLegacy = function (context) {
223
226
  return __awaiter(this, void 0, void 0, function () {
@@ -315,17 +318,21 @@ var AxeBuilder = /** @class */ (function () {
315
318
  };
316
319
  AxeBuilder.prototype.finishRun = function (partialResults) {
317
320
  return __awaiter(this, void 0, void 0, function () {
318
- var _a, page, options, context, blankPage;
319
- return __generator(this, function (_b) {
320
- switch (_b.label) {
321
+ var _a, page, options, context, blankPage, _b, _c;
322
+ return __generator(this, function (_d) {
323
+ switch (_d.label) {
321
324
  case 0:
322
325
  _a = this, page = _a.page, options = _a.option;
323
326
  context = page.context();
324
327
  return [4 /*yield*/, context.newPage()];
325
328
  case 1:
326
- blankPage = _b.sent();
329
+ blankPage = _d.sent();
327
330
  assert(blankPage, 'Please make sure that you have popup blockers disabled.');
328
331
  blankPage.evaluate(this.script());
332
+ _c = (_b = blankPage).evaluate;
333
+ return [4 /*yield*/, this.axeConfigure()];
334
+ case 2:
335
+ _c.apply(_b, [_d.sent()]);
329
336
  return [4 /*yield*/, blankPage
330
337
  .evaluate(browser_1.axeFinishRun, {
331
338
  partialResults: partialResults,
@@ -334,7 +341,22 @@ var AxeBuilder = /** @class */ (function () {
334
341
  .finally(function () {
335
342
  blankPage.close();
336
343
  })];
337
- case 2: return [2 /*return*/, _b.sent()];
344
+ case 3: return [2 /*return*/, _d.sent()];
345
+ }
346
+ });
347
+ });
348
+ };
349
+ AxeBuilder.prototype.axeConfigure = function () {
350
+ return __awaiter(this, void 0, void 0, function () {
351
+ var hasRunPartial;
352
+ return __generator(this, function (_a) {
353
+ switch (_a.label) {
354
+ case 0: return [4 /*yield*/, this.page.evaluate('typeof window.axe?.runPartial === "function"')];
355
+ case 1:
356
+ hasRunPartial = _a.sent();
357
+ return [2 /*return*/, "\n ;axe.configure({\n " + (!this.legacyMode && !hasRunPartial
358
+ ? 'allowedOrigins: ["<unsafe_all_origins>"],'
359
+ : 'allowedOrigins: ["<same_origin>"],') + "\n branding: { application: 'playwright' }\n })\n "];
338
360
  }
339
361
  });
340
362
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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,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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AAEI,IAAM,gBAAgB,GAAG,UAC9B,QAAkB,EAClB,QAAkB;;IAElB,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.2-alpha.211+be3912d",
3
+ "version": "4.3.3-alpha.213+e670bee",
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.5",
40
- "playwright": "^1.16.2"
39
+ "axe-core": "^4.3.3",
40
+ "playwright": "^1.13.1"
41
41
  },
42
42
  "devDependencies": {
43
- "@types/chai": "^4.2.22",
43
+ "@types/chai": "^4.2.21",
44
44
  "@types/express": "^4.17.13",
45
45
  "@types/mocha": "^8.2.3",
46
- "@types/node": "^14.17.32",
46
+ "@types/node": "^14.17.9",
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.4.4"
56
+ "typescript": "^4.3.5"
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": "be3912d47f6a9d5507aec6af2a01484de554daec"
80
+ "gitHead": "e670bee3ef75c692451ba4a6b13580cb8d7a5b68"
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,8 +42,7 @@ export default class AxeBuilder {
42
42
  * @returns this
43
43
  */
44
44
 
45
- public include(selector: string | string[]): this {
46
- selector = Array.isArray(selector) ? selector : [selector];
45
+ public include(selector: string): this {
47
46
  this.includes.push(selector);
48
47
  return this;
49
48
  }
@@ -55,8 +54,7 @@ export default class AxeBuilder {
55
54
  * @returns this
56
55
  */
57
56
 
58
- public exclude(selector: string | string[]): this {
59
- selector = Array.isArray(selector) ? selector : [selector];
57
+ public exclude(selector: string): this {
60
58
  this.excludes.push(selector);
61
59
  return this;
62
60
  }
@@ -169,9 +167,7 @@ export default class AxeBuilder {
169
167
  return await this.finishRun(partials);
170
168
  } catch (error) {
171
169
  throw new Error(
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`
170
+ `${error.message}\n Please check out https://github.com/dequelabs/axe-core-npm/blob/develop/packages/playwright/error-handling.md`
175
171
  );
176
172
  }
177
173
  }
@@ -185,6 +181,7 @@ export default class AxeBuilder {
185
181
  private async inject(frames: Frame[]): Promise<void> {
186
182
  for (const iframe of frames) {
187
183
  await iframe.evaluate(this.script());
184
+ await iframe.evaluate(await this.axeConfigure());
188
185
  }
189
186
  }
190
187
 
@@ -194,13 +191,7 @@ export default class AxeBuilder {
194
191
  */
195
192
 
196
193
  private script(): string {
197
- return `
198
- ${this.source}
199
- axe.configure({
200
- ${this.legacyMode ? '' : 'allowedOrigins: ["<unsafe_all_origins>"],'}
201
- branding: { application: 'playwright' }
202
- })
203
- `;
194
+ return this.source;
204
195
  }
205
196
 
206
197
  private async runLegacy(context: ContextObject): Promise<AxeResults> {
@@ -286,6 +277,7 @@ export default class AxeBuilder {
286
277
  );
287
278
 
288
279
  blankPage.evaluate(this.script());
280
+ blankPage.evaluate(await this.axeConfigure());
289
281
 
290
282
  return await blankPage
291
283
  .evaluate(axeFinishRun, {
@@ -296,4 +288,21 @@ export default class AxeBuilder {
296
288
  blankPage.close();
297
289
  });
298
290
  }
291
+
292
+ private async axeConfigure(): Promise<string> {
293
+ const hasRunPartial = await this.page.evaluate<boolean>(
294
+ 'typeof window.axe?.runPartial === "function"'
295
+ );
296
+
297
+ return `
298
+ ;axe.configure({
299
+ ${
300
+ !this.legacyMode && !hasRunPartial
301
+ ? 'allowedOrigins: ["<unsafe_all_origins>"],'
302
+ : 'allowedOrigins: ["<same_origin>"],'
303
+ }
304
+ branding: { application: 'playwright' }
305
+ })
306
+ `;
307
+ }
299
308
  }
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: []
@@ -61,7 +61,7 @@ describe('@axe-core/playwright', () => {
61
61
  page,
62
62
  axeSource: axeLegacySource
63
63
  }).analyze();
64
- assert.strictEqual(results.testEngine.version, '4.0.3');
64
+ assert.strictEqual(results.testEngine.version, '4.2.3');
65
65
  assert.isNotNull(results);
66
66
  assert.isArray(results.violations);
67
67
  assert.isArray(results.incomplete);
@@ -128,7 +128,7 @@ describe('@axe-core/playwright', () => {
128
128
  axeSource: 'throw new Error()'
129
129
  }).analyze();
130
130
  } catch (e) {
131
- error = e as Error;
131
+ error = e;
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 as Error;
146
+ error = e;
147
147
  }
148
148
 
149
149
  assert.isNotNull(error);
@@ -413,95 +413,6 @@ 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
- });
505
416
  });
506
417
 
507
418
  describe('axe.finishRun errors', () => {
@@ -526,7 +437,7 @@ describe('@axe-core/playwright', () => {
526
437
  assert.fail('Should have thrown');
527
438
  } catch (err) {
528
439
  assert.match(
529
- (err as Error).message,
440
+ err.message,
530
441
  /Please make sure that you have popup blockers disabled./
531
442
  );
532
443
  }
@@ -542,7 +453,7 @@ describe('@axe-core/playwright', () => {
542
453
  }).analyze();
543
454
  assert.fail('Should have thrown');
544
455
  } catch (err) {
545
- assert.match((err as Error).message, /Please check out/);
456
+ assert.match(err.message, /Please check out/);
546
457
  }
547
458
  });
548
459
  });
@@ -599,7 +510,7 @@ describe('@axe-core/playwright', () => {
599
510
  page,
600
511
  axeSource: axeLegacySource
601
512
  }).analyze();
602
- assert.strictEqual(results.testEngine.version, '4.0.3');
513
+ assert.strictEqual(results.testEngine.version, '4.2.3');
603
514
  assert.isNotNull(results);
604
515
  assert.isArray(results.violations);
605
516
  assert.isArray(results.incomplete);
@@ -616,7 +527,7 @@ describe('@axe-core/playwright', () => {
616
527
  axeSource: axeLegacySource + axeCrasherSource
617
528
  }).analyze();
618
529
  } catch (e) {
619
- error = e as Error;
530
+ error = e;
620
531
  }
621
532
  assert.isNotNull(error);
622
533
  });
@@ -699,12 +610,55 @@ describe('@axe-core/playwright', () => {
699
610
 
700
611
  const nodes = violations[0].nodes;
701
612
  assert.deepEqual(nodes[0].target, ['#light-frame', 'input']);
702
- assert.deepEqual(nodes[1].target, ['#slotted-frame', 'input']);
703
- assert.deepEqual(nodes[2].target, [
613
+ assert.deepEqual(nodes[1].target, [
704
614
  ['#shadow-root', '#shadow-frame'],
705
615
  'input'
706
616
  ]);
617
+ assert.deepEqual(nodes[2].target, ['#slotted-frame', 'input']);
707
618
  });
708
619
  });
709
620
  });
621
+
622
+ describe('allowedOrigins', () => {
623
+ const getAllowedOrigins = async (): Promise<string[]> => {
624
+ return await page.evaluate('axe._audit.allowedOrigins');
625
+ };
626
+
627
+ it('should not set when running runPartial and not legacy mode', async () => {
628
+ await page.goto(`${addr}/index.html`);
629
+ await new AxeBuilder({ page }).analyze();
630
+ const allowedOrigins = await getAllowedOrigins();
631
+ assert.deepEqual(allowedOrigins, [addr]);
632
+ assert.lengthOf(allowedOrigins, 1);
633
+ });
634
+
635
+ it('should not set when running runPartial and legacy mode', async () => {
636
+ await page.goto(`${addr}/index.html`);
637
+ await new AxeBuilder({ page }).setLegacyMode(true).analyze();
638
+ const allowedOrigins = await getAllowedOrigins();
639
+ assert.deepEqual(allowedOrigins, [addr]);
640
+ assert.lengthOf(allowedOrigins, 1);
641
+ });
642
+
643
+ it('should not set when running legacy source and legacy mode', async () => {
644
+ await page.goto(`${addr}/index.html`);
645
+ await new AxeBuilder({ page, axeSource: axeLegacySource })
646
+ .setLegacyMode(true)
647
+ .analyze();
648
+ const allowedOrigins = await getAllowedOrigins();
649
+ assert.deepEqual(allowedOrigins, [addr]);
650
+ assert.lengthOf(allowedOrigins, 1);
651
+ });
652
+
653
+ it('should set when running legacy source and not legacy mode', async () => {
654
+ await page.goto(`${addr}/index.html`);
655
+ await new AxeBuilder({
656
+ page,
657
+ axeSource: axeLegacySource
658
+ }).analyze();
659
+ const allowedOrigins = await getAllowedOrigins();
660
+ assert.deepEqual(allowedOrigins, ['*']);
661
+ assert.lengthOf(allowedOrigins, 1);
662
+ });
663
+ });
710
664
  });
@@ -6,8 +6,6 @@
6
6
  <body>
7
7
  <h1>Context Test</h1>
8
8
  <div class="include">include me</div>
9
- <div class="include2">include me</div>
10
9
  <div class="exclude">exclude me</div>
11
- <div class="exclude2">exclude me</div>
12
10
  </body>
13
11
  </html>