@axe-core/watcher 3.11.1 → 3.12.0-rc.6cf70f8c

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.
Files changed (48) hide show
  1. package/dist/Controller.d.ts +9 -1
  2. package/dist/Controller.js +21 -7
  3. package/dist/Controller.js.map +1 -1
  4. package/dist/createDebugger.d.ts +9 -0
  5. package/dist/createDebugger.js +27 -0
  6. package/dist/createDebugger.js.map +1 -0
  7. package/dist/cypress.js +19 -2
  8. package/dist/cypress.js.map +1 -1
  9. package/dist/cypressCommands.d.ts +3 -1
  10. package/dist/cypressCommands.js +78 -39
  11. package/dist/cypressCommands.js.map +1 -1
  12. package/dist/playwright.js +3 -3
  13. package/dist/playwright.js.map +1 -1
  14. package/dist/playwrightTest.js +1 -1
  15. package/dist/playwrightTest.js.map +1 -1
  16. package/dist/puppeteer.js +3 -3
  17. package/dist/puppeteer.js.map +1 -1
  18. package/dist/puppeteerWrapping.d.ts +3 -2
  19. package/dist/puppeteerWrapping.js +59 -1
  20. package/dist/puppeteerWrapping.js.map +1 -1
  21. package/dist/sendResultsToServer.d.ts +9 -2
  22. package/dist/sendResultsToServer.js +25 -3
  23. package/dist/sendResultsToServer.js.map +1 -1
  24. package/dist/util.d.ts +22 -2
  25. package/dist/util.js +16 -8
  26. package/dist/util.js.map +1 -1
  27. package/dist/utils/index.d.ts +2 -0
  28. package/dist/utils/index.js +20 -0
  29. package/dist/utils/index.js.map +1 -0
  30. package/dist/utils/validateAxeRunContext.d.ts +2 -0
  31. package/dist/utils/validateAxeRunContext.js +59 -0
  32. package/dist/utils/validateAxeRunContext.js.map +1 -0
  33. package/dist/utils/validateAxeRunContext.test.d.ts +1 -0
  34. package/dist/utils/validateAxeRunContext.test.js +100 -0
  35. package/dist/utils/validateAxeRunContext.test.js.map +1 -0
  36. package/dist/utils/validateAxeRunOptions.d.ts +13 -0
  37. package/dist/utils/validateAxeRunOptions.js +161 -0
  38. package/dist/utils/validateAxeRunOptions.js.map +1 -0
  39. package/dist/utils/validateAxeRunOptions.test.d.ts +1 -0
  40. package/dist/utils/validateAxeRunOptions.test.js +230 -0
  41. package/dist/utils/validateAxeRunOptions.test.js.map +1 -0
  42. package/dist/wdio.js +4 -4
  43. package/dist/wdio.js.map +1 -1
  44. package/dist/webdriver.js +4 -4
  45. package/dist/webdriver.js.map +1 -1
  46. package/extension/background.js +1 -1
  47. package/extension/content.js +1 -1
  48. package/package.json +10 -7
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateAxeRunOptions = validateAxeRunOptions;
4
+ exports.isObject = isObject;
5
+ const VALID_RUN_ONLY_TYPES = [
6
+ 'rules',
7
+ 'rule',
8
+ 'tag',
9
+ 'tags'
10
+ ];
11
+ /**
12
+ * We only provide a subset of axe-core's RunOptions.
13
+ * We want to sanitize the user's input to ensure they are not providing
14
+ * any invalid properties that are outside of the subset we provide.
15
+ *
16
+ * @param runOptions The user's run options.
17
+ */
18
+ function validateAxeRunOptions(runOptions = undefined) {
19
+ if (!runOptions) {
20
+ return;
21
+ }
22
+ const runOptionsKeys = Object.keys(runOptions);
23
+ const validKeys = [
24
+ 'runOnly',
25
+ 'rules',
26
+ 'ancestry'
27
+ ];
28
+ for (const key of runOptionsKeys) {
29
+ switch (key) {
30
+ case 'ancestry':
31
+ if (!isBoolean(runOptions.ancestry)) {
32
+ throw new Error('`ancestry` property must be a boolean. Full example: `{ ancestry: true }`');
33
+ }
34
+ break;
35
+ case 'rules':
36
+ validateRulesProperty(runOptions.rules);
37
+ break;
38
+ case 'runOnly':
39
+ validateRunOnlyProperty(runOptions.runOnly);
40
+ break;
41
+ default:
42
+ throw new Error(`Invalid property found in \`runOptions\`: ${key}. The available properties are: ${validKeys.join(', ')}`);
43
+ }
44
+ }
45
+ }
46
+ /** Helper functions */
47
+ /** Checks if the value provided is an object */
48
+ function isObject(value) {
49
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
50
+ }
51
+ /** Checks if the value provided is a boolean */
52
+ function isBoolean(value) {
53
+ return typeof value === 'boolean';
54
+ }
55
+ /**
56
+ * Validate the user's `rules` object and its values. As a user can provide:
57
+ * @example
58
+ * {
59
+ * rules: {
60
+ * 'ruleId1': { enabled: false },
61
+ * 'ruleId2': { enabled: false }
62
+ * 'ruleId3': { enabled: false }
63
+ * // ...
64
+ * }
65
+ * }
66
+ *
67
+ * @param rules The user's rules object.
68
+ */
69
+ function validateRulesProperty(rules) {
70
+ if (!isObject(rules)) {
71
+ throw new Error('`rules` property must be an object. Full example: `{ rules: { "ruleId": { enabled: false } } }`');
72
+ }
73
+ if (!Object.keys(rules).length) {
74
+ throw new Error('`rules` object must contain at least one key-value pair. Full example: `{ rules: { "ruleId": { enabled: false } } }`');
75
+ }
76
+ // Validate each K:V pair in the `rules` object e.g. { 'ruleId': { enabled: false } }
77
+ for (const ruleKey of Object.keys(rules)) {
78
+ const ruleValue = rules[ruleKey];
79
+ if (!isObject(ruleValue)) {
80
+ throw new Error(`The value of the \`${ruleKey}\` key in the \`rules\` object must be an object. Full example: \`{ rules: { "ruleId": { enabled: false } } }\``);
81
+ }
82
+ if (Object.keys(ruleValue).length !== 1) {
83
+ throw new Error(`The \`${ruleKey}\` key in the \`rules\` object must only contain the \`enabled\` property. Full example: \`{ rules: { "ruleId": { enabled: false } } }\``);
84
+ }
85
+ if (!('enabled' in ruleValue)) {
86
+ throw new Error(`The \`${ruleKey}\` key in the \`rules\` object must contain an \`enabled\` property. Full example: \`{ rules: { "ruleId": { enabled: false } } }\``);
87
+ }
88
+ if (!isBoolean(ruleValue.enabled)) {
89
+ throw new Error(`The \`enabled\` property of the \`${ruleKey}\` key in the \`rules\` object must be a boolean. Full example: \`{ rules: { "ruleId": { enabled: false } } }\``);
90
+ }
91
+ }
92
+ }
93
+ /**
94
+ * Validate the user's `runOnly` configuration. A user can provide:
95
+ * @example
96
+ * {
97
+ * runOnly: {
98
+ * type: 'rule',
99
+ * values: ['ruleId1', 'ruleId2', 'ruleId3']
100
+ * }
101
+ * }
102
+ *
103
+ * OR
104
+ *
105
+ * @example
106
+ * {
107
+ * runOnly: ['ruleId1', 'ruleId2', 'ruleId3']
108
+ * }
109
+ *
110
+ * OR
111
+ *
112
+ * @example
113
+ * {
114
+ * runOnly: 'ruleId1'
115
+ * }
116
+ *
117
+ * @param runOnly The user's runOnly object, array, or string.
118
+ */
119
+ function validateRunOnlyProperty(runOnly) {
120
+ const isRunOnlyObject = isObject(runOnly);
121
+ const isRunOnlyArray = Array.isArray(runOnly);
122
+ const isRunOnlyString = typeof runOnly === 'string';
123
+ if (!isRunOnlyObject && !isRunOnlyArray && !isRunOnlyString) {
124
+ throw new Error(`\`runOnly\` property must be an object, an array, or a string. Examples: \n
125
+ - Object: { runOnly: { type: 'rule', values: ['ruleId1'] } }\n
126
+ - Array: { runOnly: ['ruleId1', 'ruleId2', 'ruleId3'] }\n
127
+ - String: { runOnly: 'ruleId1' }\n
128
+
129
+ For more detailed examples: https://www.deque.com/axe/core-documentation/api-documentation/#options-parameter
130
+ `);
131
+ }
132
+ if (isRunOnlyArray) {
133
+ if (!runOnly.length) {
134
+ throw new Error(`\`runOnly\` array must contain at least one string value. Example: { runOnly: ['ruleId1', 'ruleId2'] }`);
135
+ }
136
+ if (runOnly.some(value => typeof value !== 'string')) {
137
+ throw new Error(`\`runOnly\` array must contain only strings. Example: { runOnly: ['ruleId1', 'ruleId2'] }`);
138
+ }
139
+ }
140
+ if (isRunOnlyObject) {
141
+ if (!('type' in runOnly)) {
142
+ throw new Error(`\`runOnly\` object must contain a \`type\` property. Example: { runOnly: { type: 'rule', values: ['ruleId1'] } }`);
143
+ }
144
+ if (!('values' in runOnly)) {
145
+ throw new Error(`\`runOnly\` object must contain a \`values\` property. Example: { runOnly: { type: 'rule', values: ['ruleId1'] } }`);
146
+ }
147
+ if (!VALID_RUN_ONLY_TYPES.includes(runOnly.type)) {
148
+ throw new Error(`\`runOnly\` object's \`type\` property must be one of the following: ${VALID_RUN_ONLY_TYPES.join(', ')}`);
149
+ }
150
+ if (!Array.isArray(runOnly.values)) {
151
+ throw new Error(`\`runOnly\` object's \`values\` property must be an array. Example: { runOnly: { type: 'rule', values: ['ruleId1'] } }`);
152
+ }
153
+ if (!runOnly.values.length) {
154
+ throw new Error(`\`runOnly\` object's \`values\` property must contain at least one value. Example: { runOnly: { type: 'rule', values: ['ruleId1'] } }`);
155
+ }
156
+ if (runOnly.values.some(value => typeof value !== 'string')) {
157
+ throw new Error(`\`runOnly\` object's \`values\` property must contain only strings. Example: { runOnly: { type: 'rule', values: ['ruleId1'] } }`);
158
+ }
159
+ }
160
+ }
161
+ //# sourceMappingURL=validateAxeRunOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAxeRunOptions.js","sourceRoot":"","sources":["../../src/utils/validateAxeRunOptions.ts"],"names":[],"mappings":";;AAmBA,sDAqCC;AAKD,4BAEC;AA1DD,MAAM,oBAAoB,GAA+B;IACvD,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;CACP,CAAA;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,aAAqC,SAAS;IAE9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAM;IACR,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAoC;QACjD,SAAS;QACT,OAAO;QACP,UAAU;KACX,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,UAAU;gBACb,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAA;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,OAAO;gBACV,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACvC,MAAK;YACP,KAAK,SAAS;gBACZ,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC3C,MAAK;YAEP;gBACE,MAAM,IAAI,KAAK,CACb,6CAA6C,GAAG,mCAAmC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1G,CAAA;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,uBAAuB;AAEvB,gDAAgD;AAChD,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,gDAAgD;AAChD,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,SAAS,CAAA;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AAEH,SAAS,qBAAqB,CAAC,KAA0B;IACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAA;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,sHAAsH,CACvH,CAAA;IACH,CAAC;IAED,qFAAqF;IACrF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;QAEhC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,sBAAsB,OAAO,iHAAiH,CAC/I,CAAA;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,SAAS,OAAO,0IAA0I,CAC3J,CAAA;QACH,CAAC;QAED,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,SAAS,OAAO,oIAAoI,CACrJ,CAAA;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,iHAAiH,CAC9J,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,SAAS,uBAAuB,CAAC,OAA8B;IAC7D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAA;IAEnD,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb;;;;;;OAMC,CACF,CAAA;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAA;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAA;QACH,CAAC;QAED,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAA;QACH,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,wEAAwE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1G,CAAA;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,uIAAuI,CACxI,CAAA;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CACb,iIAAiI,CAClI,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ import 'mocha';
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("mocha");
4
+ const chai_1 = require("chai");
5
+ const validateAxeRunOptions_1 = require("./validateAxeRunOptions");
6
+ describe('validateAxeRunOptions', () => {
7
+ describe('given no options', () => {
8
+ it('does not throw', () => {
9
+ chai_1.assert.doesNotThrow(() => {
10
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)();
11
+ });
12
+ });
13
+ });
14
+ describe('given an option that has not been exposed to be configured', () => {
15
+ it('throws', () => {
16
+ chai_1.assert.throws(() => {
17
+ //@ts-expect-error - testing invalid input
18
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ a: 'a' });
19
+ }, /Invalid property found in `runOptions`/i);
20
+ });
21
+ });
22
+ describe('given `ancestry` property is provided', () => {
23
+ describe('when `ancestry` is not a boolean', () => {
24
+ it('throws', () => {
25
+ chai_1.assert.throws(() => {
26
+ //@ts-expect-error - testing invalid input
27
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ ancestry: 'a' });
28
+ }, /`ancestry` property must be a boolean./i);
29
+ });
30
+ });
31
+ describe('when `ancestry` is a boolean', () => {
32
+ it('does not throw', () => {
33
+ chai_1.assert.doesNotThrow(() => {
34
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ ancestry: true });
35
+ });
36
+ });
37
+ });
38
+ });
39
+ describe('given `rules` property is provided', () => {
40
+ describe('when `rules` is not an object', () => {
41
+ it('throws', () => {
42
+ chai_1.assert.throws(() => {
43
+ //@ts-expect-error - testing invalid input
44
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ rules: 'a' });
45
+ }, /`rules` property must be an object./i);
46
+ });
47
+ });
48
+ describe('when `rules` is an array', () => {
49
+ it('throws', () => {
50
+ chai_1.assert.throws(() => {
51
+ //@ts-expect-error - testing invalid input
52
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ rules: ['a'] });
53
+ }, /`rules` property must be an object./i);
54
+ });
55
+ });
56
+ describe('when `rules` is an object', () => {
57
+ describe('when `rules` object has no value', () => {
58
+ it('throws', () => {
59
+ chai_1.assert.throws(() => {
60
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ rules: {} });
61
+ }, /`rules` object must contain at least one key-value pair./i);
62
+ });
63
+ });
64
+ describe('when `rules` object has a value', () => {
65
+ describe('and the value is not an object', () => {
66
+ it('throws', () => {
67
+ chai_1.assert.throws(() => {
68
+ //@ts-expect-error - testing invalid input
69
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ rules: { a: 'a' } });
70
+ }, /The value of the `a` key in the `rules` object must be an object./i);
71
+ });
72
+ });
73
+ describe('and the value is an object', () => {
74
+ describe('and the value has no properties', () => {
75
+ it('throws', () => {
76
+ chai_1.assert.throws(() => {
77
+ //@ts-expect-error - testing invalid input
78
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ rules: { a: {} } });
79
+ }, /The `a` key in the `rules` object must only contain the `enabled` property./i);
80
+ });
81
+ });
82
+ describe('and the value has properties', () => {
83
+ describe('and the value does not have an `enabled` property', () => {
84
+ it('throws', () => {
85
+ chai_1.assert.throws(() => {
86
+ //@ts-expect-error - testing invalid input
87
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ rules: { a: { b: 'a' } } });
88
+ }, /The `a` key in the `rules` object must contain an `enabled` property./i);
89
+ });
90
+ });
91
+ describe('and the value has an `enabled` property', () => {
92
+ describe('and the `enabled` property is not a boolean', () => {
93
+ it('throws', () => {
94
+ chai_1.assert.throws(() => {
95
+ //@ts-expect-error - testing invalid input
96
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ rules: { a: { enabled: 'a' } } });
97
+ }, /The `enabled` property of the `a` key in the `rules` object must be a boolean./i);
98
+ });
99
+ });
100
+ describe('and the `enabled` property is a boolean', () => {
101
+ it('does not throw', () => {
102
+ chai_1.assert.doesNotThrow(() => {
103
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ rules: { a: { enabled: true } } });
104
+ });
105
+ });
106
+ });
107
+ });
108
+ });
109
+ });
110
+ });
111
+ });
112
+ });
113
+ describe('given `runOnly` property is provided', () => {
114
+ describe('when `runOnly` is a string', () => {
115
+ it('does not throw', () => {
116
+ chai_1.assert.doesNotThrow(() => {
117
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: 'a' });
118
+ });
119
+ });
120
+ });
121
+ describe('when `runOnly` is an array', () => {
122
+ describe('and the array is empty', () => {
123
+ it('throws', () => {
124
+ chai_1.assert.throws(() => {
125
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: [] });
126
+ }, /`runOnly` array must contain at least one string value./i);
127
+ });
128
+ });
129
+ describe('and the array is not empty', () => {
130
+ describe('and the array is not an array of strings', () => {
131
+ it('throws', () => {
132
+ chai_1.assert.throws(() => {
133
+ //@ts-expect-error - testing invalid input
134
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: ['a', 1] });
135
+ }, /`runOnly` array must contain only strings./i);
136
+ });
137
+ });
138
+ describe('and the array is an array of strings', () => {
139
+ it('does not throw', () => {
140
+ chai_1.assert.doesNotThrow(() => {
141
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: ['a, b'] });
142
+ });
143
+ });
144
+ });
145
+ });
146
+ });
147
+ describe('when `runOnly` is not a string, array or object', () => {
148
+ it('throws', () => {
149
+ chai_1.assert.throws(() => {
150
+ //@ts-expect-error - testing invalid input
151
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: 1 });
152
+ }, /`runOnly` property must be an object, an array, or a string./i);
153
+ });
154
+ });
155
+ describe('when `runOnly` is an object', () => {
156
+ describe('and the object has no `type` property', () => {
157
+ it('throws', () => {
158
+ chai_1.assert.throws(() => {
159
+ //@ts-expect-error - testing invalid input
160
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: {} });
161
+ }, /`runOnly` object must contain a `type` property./i);
162
+ });
163
+ });
164
+ describe('and the object has no `values` property', () => {
165
+ it('throws', () => {
166
+ chai_1.assert.throws(() => {
167
+ //@ts-expect-error - testing invalid input
168
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: { type: 'rule' } });
169
+ }, /`runOnly` object must contain a `values` property./i);
170
+ });
171
+ });
172
+ describe('and the object has an invalid `type` property', () => {
173
+ it('throws', () => {
174
+ chai_1.assert.throws(() => {
175
+ //@ts-expect-error - testing invalid input
176
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: { type: 'a', values: ['a'] } });
177
+ }, /`runOnly` object's `type` property must be one of the following:/i);
178
+ });
179
+ });
180
+ describe('and the object has a valid `type` property', () => {
181
+ describe('and the `values` property is not an array', () => {
182
+ it('throws', () => {
183
+ chai_1.assert.throws(() => {
184
+ //@ts-expect-error - testing invalid input
185
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: { type: 'rule', values: 'a' } });
186
+ }, /`runOnly` object's `values` property must be an array./i);
187
+ });
188
+ });
189
+ describe('and the `values` property is an empty array', () => {
190
+ it('throws', () => {
191
+ chai_1.assert.throws(() => {
192
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({ runOnly: { type: 'rule', values: [] } });
193
+ }, /`runOnly` object's `values` property must contain at least one value./i);
194
+ });
195
+ });
196
+ describe('and the `values` property is an array of non-strings', () => {
197
+ it('throws', () => {
198
+ chai_1.assert.throws(() => {
199
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({
200
+ //@ts-expect-error - testing invalid input
201
+ runOnly: { type: 'rule', values: ['a', 1] }
202
+ });
203
+ }, /`runOnly` object's `values` property must contain only strings./i);
204
+ });
205
+ });
206
+ describe('and the `values` property is an array of strings', () => {
207
+ it('does not throw', () => {
208
+ chai_1.assert.doesNotThrow(() => {
209
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({
210
+ runOnly: { type: 'rule', values: ['a', 'b'] }
211
+ });
212
+ });
213
+ });
214
+ });
215
+ });
216
+ });
217
+ });
218
+ describe('given a valid `runOnly` object', () => {
219
+ it('does not throw', () => {
220
+ chai_1.assert.doesNotThrow(() => {
221
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)({
222
+ runOnly: { type: 'rule', values: ['ruleId1'] },
223
+ ancestry: true,
224
+ rules: { a: { enabled: true } }
225
+ });
226
+ });
227
+ });
228
+ });
229
+ });
230
+ //# sourceMappingURL=validateAxeRunOptions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAxeRunOptions.test.js","sourceRoot":"","sources":["../../src/utils/validateAxeRunOptions.test.ts"],"names":[],"mappings":"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"}
package/dist/wdio.js CHANGED
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.wrapWdio = exports.WRAPPED_ELEMENT_METHODS = exports.WRAPPED_BROWSER_METHODS = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = void 0;
6
+ exports.wrapWdio = exports.WRAPPED_ELEMENT_METHODS = exports.WRAPPED_BROWSER_METHODS = exports.WdioController = void 0;
7
+ exports.wdioConfig = wdioConfig;
8
+ exports.wdioTestRunner = wdioTestRunner;
7
9
  const fs_1 = __importDefault(require("fs"));
8
10
  const util_1 = require("./util");
9
11
  const Controller_1 = __importDefault(require("./Controller"));
@@ -36,7 +38,6 @@ function wdioConfig({ axe, ...options }) {
36
38
  }
37
39
  };
38
40
  }
39
- exports.wdioConfig = wdioConfig;
40
41
  const CHROME_OPTIONS = 'goog:chromeOptions';
41
42
  function wdioTestRunner(...params) {
42
43
  let axe;
@@ -86,10 +87,9 @@ function wdioTestRunner(...params) {
86
87
  }
87
88
  };
88
89
  }
89
- exports.wdioTestRunner = wdioTestRunner;
90
90
  class WdioController extends Controller_1.default {
91
91
  constructor(driver) {
92
- super();
92
+ super({ debugLoggerName: 'WdioController' });
93
93
  this.driver = driver;
94
94
  }
95
95
  async executeScript(fn, ...args) {
package/dist/wdio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
package/dist/webdriver.js CHANGED
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WebdriverController = exports.webdriverConfig = exports.wrapWebdriver = void 0;
6
+ exports.WebdriverController = exports.wrapWebdriver = void 0;
7
+ exports.webdriverConfig = webdriverConfig;
7
8
  const util_1 = require("./util");
8
9
  const Controller_1 = __importDefault(require("./Controller"));
9
10
  var webdriverWrapping_1 = require("./webdriverWrapping");
@@ -16,7 +17,7 @@ Object.defineProperty(exports, "wrapWebdriver", { enumerable: true, get: functio
16
17
  function webdriverConfig(arg) {
17
18
  var _a;
18
19
  // Lazily require `chrome` to avoid Puppeteer/Playwright/WDIO users from needing `selenium-webdriver` installed.
19
- // eslint-disable-next-line @typescript-eslint/no-require-imports
20
+ // eslint-disable-next-line import/no-extraneous-dependencies, @typescript-eslint/no-require-imports
20
21
  const chrome = require('selenium-webdriver/chrome');
21
22
  const { axe, options } = arg;
22
23
  (0, util_1.writeVariables)(axe);
@@ -34,10 +35,9 @@ function webdriverConfig(arg) {
34
35
  }
35
36
  return opts;
36
37
  }
37
- exports.webdriverConfig = webdriverConfig;
38
38
  class WebdriverController extends Controller_1.default {
39
39
  constructor(driver) {
40
- super();
40
+ super({ debugLoggerName: 'WebdriverController' });
41
41
  this.driver = driver;
42
42
  }
43
43
  async executeScript(fn, ...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;AAEA,iCAKe;AACf,8DAAqC;AAErC,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAMpC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,iEAAiE;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,8DAA8D;IAC9D,MAAM,YAAY,GAAG,CAAC,CAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,KAAI,EAAE,CAAa,CAErE;IAAC,IAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAA,sBAAe,EAAC,YAAY,EAAE;QAC3D,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAA;IAEF,wEAAwE;IACxE,IACE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACrC,8DAA8D;IAC9D,OAAA,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,EAAA,CAC9C,EACD,CAAC;QACD,MAAM,IAAI,gCAAyB,CACjC,wIAAwI,CACzI,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AA7BD,0CA6BC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACpE,OAAO,MAAW,CAAA;IACpB,CAAC;CACF;AArBD,kDAqBC"}
1
+ {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;AAsBA,0CA6BC;AAjDD,iCAKe;AACf,8DAAqC;AAErC,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAMpC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,oGAAoG;IACpG,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,8DAA8D;IAC9D,MAAM,YAAY,GAAG,CAAC,CAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,KAAI,EAAE,CAAa,CAErE;IAAC,IAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAA,sBAAe,EAAC,YAAY,EAAE;QAC3D,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAA;IAEF,wEAAwE;IACxE,IACE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACrC,8DAA8D;IAC9D,OAAA,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,EAAA,CAC9C,EACD,CAAC;QACD,MAAM,IAAI,gCAAyB,CACjC,wIAAwI,CACzI,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACpE,OAAO,MAAW,CAAA;IACpB,CAAC;CACF;AArBD,kDAqBC"}