@axe-core/cli 4.7.4-cbd2a5f.0 → 4.8.0

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 (63) hide show
  1. package/.eslintrc.js +18 -0
  2. package/CHANGELOG.md +221 -0
  3. package/package.json +3 -7
  4. package/src/bin/cli.test.ts +420 -0
  5. package/src/bin/cli.ts +86 -0
  6. package/src/bin/index.ts +216 -0
  7. package/src/lib/axe-test-urls.test.ts +73 -0
  8. package/src/lib/axe-test-urls.ts +98 -0
  9. package/src/lib/events.test.ts +26 -0
  10. package/src/lib/events.ts +68 -0
  11. package/{dist/src/lib/index.d.ts → src/lib/index.ts} +1 -0
  12. package/src/lib/utils.test.ts +160 -0
  13. package/src/lib/utils.ts +147 -0
  14. package/src/lib/webdriver.test.ts +104 -0
  15. package/src/lib/webdriver.ts +43 -0
  16. package/src/testutils/axe-core@2.5.0.js +18929 -0
  17. package/src/testutils/index.ts +47 -0
  18. package/src/testutils/simple-clean.html +11 -0
  19. package/src/testutils/simple.html +12 -0
  20. package/src/types.ts +42 -0
  21. package/tsconfig.json +19 -0
  22. package/dist/package.json +0 -91
  23. package/dist/src/bin/cli.d.ts +0 -2
  24. package/dist/src/bin/cli.js +0 -40
  25. package/dist/src/bin/cli.js.map +0 -1
  26. package/dist/src/bin/cli.test.d.ts +0 -1
  27. package/dist/src/bin/cli.test.js +0 -259
  28. package/dist/src/bin/cli.test.js.map +0 -1
  29. package/dist/src/bin/index.d.ts +0 -5
  30. package/dist/src/bin/index.js +0 -168
  31. package/dist/src/bin/index.js.map +0 -1
  32. package/dist/src/lib/axe-test-urls.d.ts +0 -4
  33. package/dist/src/lib/axe-test-urls.js +0 -89
  34. package/dist/src/lib/axe-test-urls.js.map +0 -1
  35. package/dist/src/lib/axe-test-urls.test.d.ts +0 -1
  36. package/dist/src/lib/axe-test-urls.test.js +0 -73
  37. package/dist/src/lib/axe-test-urls.test.js.map +0 -1
  38. package/dist/src/lib/events.d.ts +0 -10
  39. package/dist/src/lib/events.js +0 -54
  40. package/dist/src/lib/events.js.map +0 -1
  41. package/dist/src/lib/events.test.d.ts +0 -1
  42. package/dist/src/lib/events.test.js +0 -31
  43. package/dist/src/lib/events.test.js.map +0 -1
  44. package/dist/src/lib/index.js +0 -36
  45. package/dist/src/lib/index.js.map +0 -1
  46. package/dist/src/lib/utils.d.ts +0 -15
  47. package/dist/src/lib/utils.js +0 -127
  48. package/dist/src/lib/utils.js.map +0 -1
  49. package/dist/src/lib/utils.test.d.ts +0 -1
  50. package/dist/src/lib/utils.test.js +0 -165
  51. package/dist/src/lib/utils.test.js.map +0 -1
  52. package/dist/src/lib/webdriver.d.ts +0 -4
  53. package/dist/src/lib/webdriver.js +0 -50
  54. package/dist/src/lib/webdriver.js.map +0 -1
  55. package/dist/src/lib/webdriver.test.d.ts +0 -1
  56. package/dist/src/lib/webdriver.test.js +0 -102
  57. package/dist/src/lib/webdriver.test.js.map +0 -1
  58. package/dist/src/testutils/index.d.ts +0 -19
  59. package/dist/src/testutils/index.js +0 -51
  60. package/dist/src/testutils/index.js.map +0 -1
  61. package/dist/src/types.d.ts +0 -37
  62. package/dist/src/types.js +0 -18
  63. package/dist/src/types.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ import execa from 'execa';
2
+ import path from 'path';
3
+ import fs from 'fs';
4
+
5
+ const TS_NODE = require.resolve('ts-node/dist/bin.js');
6
+ const CLI = path.resolve(__dirname, '..', 'bin', 'cli.ts');
7
+ const PROJECT_FILE = path.join(__dirname, '..', 'tsconfig.json');
8
+
9
+ /**
10
+ * Run the CLI with the given `args`.
11
+ *
12
+ * Will not reject if the CLI exits with a non-zero exit code. It is expected that you check the `.exitCode` value yourself.
13
+ *
14
+ * @param args CLI arguments to pass
15
+ */
16
+
17
+ const runCLI = (...args: string[]): Promise<execa.ExecaChildProcess<string>> =>
18
+ runCLIWithOptions(args, { reject: false });
19
+
20
+ export default runCLI;
21
+
22
+ /**
23
+ * Run the CLI with the given `args` and `options`.
24
+ *
25
+ * Set `DEBUG_CLI_TESTS` for additional debugging support (logging).
26
+ *
27
+ * @param args CLI arguments to pass
28
+ * @param options Options for `execa`
29
+ */
30
+
31
+ export const runCLIWithOptions = async (
32
+ args: string[],
33
+ options: execa.Options
34
+ ): Promise<execa.ExecaChildProcess<string>> => {
35
+ if ('DEBUG_CLI_TESTS' in process.env) {
36
+ console.log('cli', args.join(' '));
37
+ }
38
+
39
+ const result = await execa(TS_NODE, [CLI, ...args], options);
40
+
41
+ if ('DEBUG_CLI_TESTS' in process.env) {
42
+ fs.writeFileSync('./stdout.txt', result.stdout);
43
+ fs.writeFileSync('./stderr.txt', result.stderr);
44
+ }
45
+
46
+ return result;
47
+ };
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Document</title>
7
+ </head>
8
+ <body>
9
+ <h1>This is a document.</h1>
10
+ </body>
11
+ </html>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Document</title>
7
+ </head>
8
+ <body>
9
+ <h1>This is a document.</h1>
10
+ <marquee>This is bad.</marquee>
11
+ </body>
12
+ </html>
package/src/types.ts ADDED
@@ -0,0 +1,42 @@
1
+ import type { AxeResults } from 'axe-core';
2
+ import type { WebDriver, Builder } from 'selenium-webdriver';
3
+
4
+ export * from './lib';
5
+
6
+ export interface EventParams {
7
+ silentMode: boolean;
8
+ timer: boolean;
9
+ cliReporter: (...args: unknown[]) => void;
10
+ verbose: boolean;
11
+ exit: boolean;
12
+ }
13
+
14
+ export interface EventResponse {
15
+ startTimer: (message: string) => void;
16
+ endTimer: (message: string) => void;
17
+ waitingMessage: (loadDelayTime: number) => void;
18
+ onTestStart: (url: string) => void;
19
+ onTestComplete: (results: AxeResults) => void;
20
+ }
21
+
22
+ export interface WebdriverConfigParams {
23
+ browser: string;
24
+ timeout: number;
25
+ chromedriverPath?: string;
26
+ chromePath?: string;
27
+ path?: string;
28
+ chromeOptions?: string[];
29
+ builder?: Builder;
30
+ }
31
+
32
+ export interface ConfigParams {
33
+ driver: WebDriver;
34
+ timer?: boolean;
35
+ loadDelay?: number;
36
+ axeSource?: string;
37
+ include?: string | string[];
38
+ exclude?: string | string[];
39
+ tags?: string | string[];
40
+ rules?: string | string[];
41
+ disable?: string | string[];
42
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "types": ["node"],
4
+ "outDir": "./dist/",
5
+ "sourceMap": true,
6
+ "noImplicitAny": true,
7
+ "strictNullChecks": true,
8
+ "moduleResolution": "node",
9
+ "resolveJsonModule": true,
10
+ "module": "commonjs",
11
+ "target": "ES2015",
12
+ "allowJs": true,
13
+ "lib": ["dom", "ES2015", "esnext.asynciterable"],
14
+ "esModuleInterop": true,
15
+ "skipLibCheck": true,
16
+ "declaration": true
17
+ },
18
+ "include": ["./src/lib", "./src/bin"]
19
+ }
package/dist/package.json DELETED
@@ -1,91 +0,0 @@
1
- {
2
- "name": "@axe-core/cli",
3
- "version": "4.7.3",
4
- "description": "A CLI for accessibility testing using axe-core",
5
- "author": {
6
- "name": "Wilco Fiers",
7
- "organization": "Deque Systems, Inc.",
8
- "url": "http://github.com/wilcofiers/"
9
- },
10
- "contributors": [
11
- {
12
- "name": "Michael Siek (me@michaelsiek.com)"
13
- }
14
- ],
15
- "repository": {
16
- "type": "git",
17
- "url": "https://github.com/dequelabs/axe-core-npm.git"
18
- },
19
- "license": "MPL-2.0",
20
- "files": [
21
- "dist",
22
- "postinstall.js"
23
- ],
24
- "main": "dist/src/lib/index.js",
25
- "typings": "dist/src/types.d.ts",
26
- "bin": {
27
- "axe": "./dist/src/bin/cli.js"
28
- },
29
- "publishConfig": {
30
- "access": "public"
31
- },
32
- "engines": {
33
- "node": ">=8"
34
- },
35
- "scripts": {
36
- "prebuild": "rimraf dist",
37
- "build": "tsc",
38
- "test": "mocha --timeout 60000 -r ts-node/register 'src/**/**.test.ts'",
39
- "coverage": "nyc npm run test"
40
- },
41
- "keywords": [
42
- "axe-core",
43
- "accessibility",
44
- "a11y",
45
- "wcag",
46
- "cli",
47
- "testing"
48
- ],
49
- "dependencies": {
50
- "@axe-core/webdriverjs": "^4.7.3",
51
- "axe-core": "~4.8.2",
52
- "chromedriver": "latest",
53
- "colors": "^1.4.0",
54
- "commander": "^9.4.1",
55
- "selenium-webdriver": "^4.8.1"
56
- },
57
- "devDependencies": {
58
- "@types/chai": "^4.3.3",
59
- "@types/chromedriver": "^81.0.1",
60
- "@types/mocha": "^10.0.0",
61
- "@types/selenium-webdriver": "^4.1.5",
62
- "chai": "^4.3.6",
63
- "execa": "5.1.0",
64
- "mocha": "^10.0.0",
65
- "nyc": "^15.1.0",
66
- "rimraf": "^3.0.2",
67
- "tempy": "^1.0.0",
68
- "ts-node": "^10.9.1",
69
- "typescript": "^4.8.4"
70
- },
71
- "nyc": {
72
- "checkCoverage": true,
73
- "extension": [
74
- ".ts"
75
- ],
76
- "reporter": [
77
- "text-summary",
78
- "html"
79
- ],
80
- "statements": 95,
81
- "branches": 91,
82
- "functions": 94,
83
- "lines": 95,
84
- "exclude": [
85
- "dist",
86
- "coverage",
87
- "**/*.test.ts",
88
- "src/testutils"
89
- ]
90
- }
91
- }
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const commander_1 = require("commander");
8
- const package_json_1 = require("../../package.json");
9
- const utils_1 = require("../lib/utils");
10
- const _1 = __importDefault(require("."));
11
- const program = new commander_1.Command();
12
- program
13
- .version(package_json_1.version)
14
- .usage('<url...> [options]')
15
- .option('-i, --include <list>', 'CSS selector of included elements, comma separated', utils_1.splitList)
16
- .option('-e, --exclude <list>', 'CSS selector of excluded elements, comma separated', utils_1.splitList)
17
- .option('-r, --rules <list>', 'IDs of rules to run, comma separated', utils_1.splitList)
18
- .option('-t, --tags <list>', 'Tags of rules to run, comma separated', utils_1.splitList)
19
- .option('-l, --disable <list>', 'IDs of rules to disable, comma separated', utils_1.splitList)
20
- .option('-b, --browser [browser-name]', 'Which browser to run (Webdriver required)')
21
- .option('-s, --save [filename]', 'Save the output as a JSON file. Filename is optional')
22
- .option('-j, --stdout', 'Output results to STDOUT and silence all other output')
23
- .option('-d, --dir <path>', 'Output directory')
24
- .option('-a, --axe-source <path>', 'Path to axe.js file')
25
- .option('-q, --exit', 'Exit with `1` failure code if any a11y tests fail')
26
- .option('-v, --verbose', 'Output metadata like test tool name, version and environment')
27
- .option('--load-delay <n>', 'Set how much time (milliseconds) axe will wait after page load before running the audit (default: 0)')
28
- .option('--timeout <n>', 'Set how much time (seconds) axe has to run',
29
- // @ts-ignore
30
- 90)
31
- .option('--timer', 'Log the time it takes to run')
32
- .option('--show-errors [boolean]', 'Display the full error stack', true)
33
- // TODO: Replace this with a reporter option, this required adding
34
- .option('--no-reporter', 'Turn the CLI reporter off')
35
- .option('--chrome-options [options]', 'Options to provide to headless Chrome', utils_1.splitList)
36
- .option('--chromedriver-path <path>', 'Absolute path to the desired chromedriver executable')
37
- .option('--chrome-path <path>', 'Path to the desired chrome executable')
38
- .action(_1.default);
39
- program.parse(process.argv);
40
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/bin/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,qDAA6C;AAC7C,wCAAyC;AACzC,yCAAoB;AAEpB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,sBAAO,CAAC;KAChB,KAAK,CAAC,oBAAoB,CAAC;KAC3B,MAAM,CACL,sBAAsB,EACtB,oDAAoD,EACpD,iBAAS,CACV;KACA,MAAM,CACL,sBAAsB,EACtB,oDAAoD,EACpD,iBAAS,CACV;KACA,MAAM,CACL,oBAAoB,EACpB,sCAAsC,EACtC,iBAAS,CACV;KACA,MAAM,CACL,mBAAmB,EACnB,uCAAuC,EACvC,iBAAS,CACV;KACA,MAAM,CACL,sBAAsB,EACtB,0CAA0C,EAC1C,iBAAS,CACV;KACA,MAAM,CACL,8BAA8B,EAC9B,2CAA2C,CAC5C;KACA,MAAM,CACL,uBAAuB,EACvB,sDAAsD,CACvD;KACA,MAAM,CACL,cAAc,EACd,uDAAuD,CACxD;KACA,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,yBAAyB,EAAE,qBAAqB,CAAC;KACxD,MAAM,CAAC,YAAY,EAAE,mDAAmD,CAAC;KACzE,MAAM,CACL,eAAe,EACf,8DAA8D,CAC/D;KACA,MAAM,CACL,kBAAkB,EAClB,sGAAsG,CACvG;KACA,MAAM,CACL,eAAe,EACf,4CAA4C;AAC5C,aAAa;AACb,EAAE,CACH;KACA,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC;KACjD,MAAM,CAAC,yBAAyB,EAAE,8BAA8B,EAAE,IAAI,CAAC;IACxE,kEAAkE;KACjE,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;KACpD,MAAM,CACL,4BAA4B,EAC5B,uCAAuC,EACvC,iBAAS,CACV;KACA,MAAM,CACL,4BAA4B,EAC5B,sDAAsD,CACvD;KACA,MAAM,CACL,sBAAsB,EACtB,uCAAuC,CACxC;KACA,MAAM,CAAC,UAAG,CAAC,CAAC;AAEf,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- import 'mocha';
@@ -1,259 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- require("mocha");
16
- const chai_1 = require("chai");
17
- const tempy_1 = __importDefault(require("tempy"));
18
- const http_1 = __importDefault(require("http"));
19
- const path_1 = __importDefault(require("path"));
20
- const fs_1 = __importDefault(require("fs"));
21
- const package_json_1 = require("../../package.json");
22
- const testutils_1 = __importDefault(require("../testutils/"));
23
- const SIMPLE_HTML_FILE = path_1.default.join(__dirname, '..', 'testutils', 'simple.html');
24
- const SIMPLE_CLEAN_HTML_FILE = path_1.default.join(__dirname, '..', 'testutils', 'simple-clean.html');
25
- const SIMPLE_HTML_SOURCE = fs_1.default.readFileSync(SIMPLE_HTML_FILE, 'utf8');
26
- const PATH_TO_AXE_250 = path_1.default.resolve(__dirname, '..', 'testutils', 'axe-core@2.5.0.js');
27
- describe('cli', () => {
28
- it('--help', () => __awaiter(void 0, void 0, void 0, function* () {
29
- const result = yield (0, testutils_1.default)('--help');
30
- chai_1.assert.equal(result.exitCode, 0);
31
- chai_1.assert.include(result.stdout, 'Options:');
32
- }));
33
- it('--version', () => __awaiter(void 0, void 0, void 0, function* () {
34
- const result = yield (0, testutils_1.default)('--version');
35
- chai_1.assert.equal(result.exitCode, 0);
36
- chai_1.assert.deepEqual(result.stdout, package_json_1.version);
37
- }));
38
- describe('given a file:// url', () => {
39
- it('should run an analysis', () => __awaiter(void 0, void 0, void 0, function* () {
40
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`);
41
- chai_1.assert.equal(result.exitCode, 0);
42
- chai_1.assert.include(result.stdout, 'Violation of "marquee" with 1 occurrences!');
43
- }));
44
- });
45
- describe('given a http:// url', () => {
46
- let port;
47
- let server;
48
- before(done => {
49
- server = http_1.default.createServer((req, res) => {
50
- res.setHeader('Content-Type', 'text/html');
51
- res.write(SIMPLE_HTML_SOURCE);
52
- res.end();
53
- });
54
- server.listen(0, () => {
55
- port = server.address().port;
56
- done();
57
- });
58
- });
59
- after(done => server.close(done));
60
- it('should run an analysis', () => __awaiter(void 0, void 0, void 0, function* () {
61
- const result = yield (0, testutils_1.default)(`http://127.0.0.1:${port}/`);
62
- chai_1.assert.equal(result.exitCode, 0);
63
- chai_1.assert.include(result.stdout, 'Violation of "marquee" with 1 occurrences!');
64
- }));
65
- });
66
- describe('--axe-source', () => {
67
- it('should use the provided version of axe-core', () => __awaiter(void 0, void 0, void 0, function* () {
68
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--axe-source', PATH_TO_AXE_250);
69
- chai_1.assert.equal(result.exitCode, 0);
70
- chai_1.assert.include(result.stdout, 'Violation of "marquee" with 1 occurrences!');
71
- chai_1.assert.include(result.stdout, 'Running axe-core 2.5.0');
72
- }));
73
- it('error when given invalid axe source path', () => __awaiter(void 0, void 0, void 0, function* () {
74
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--axe-source', 'foobar');
75
- chai_1.assert.equal(result.exitCode, 2);
76
- chai_1.assert.include(result.stderr, 'Unable to find the axe-core source file');
77
- }));
78
- });
79
- // cannot run in ci we _should_ have the ability to add arguments to firefox not just chrome to allow users to run this headless
80
- describe.skip('--browser', () => {
81
- it('should change the browser', () => __awaiter(void 0, void 0, void 0, function* () {
82
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--browser', 'firefox', '--verbose');
83
- chai_1.assert.equal(result.exitCode, 0);
84
- chai_1.assert.include(result.stdout, 'Firefox');
85
- }));
86
- });
87
- describe('--rules', () => {
88
- it('should only run the rules with the provided IDs', () => __awaiter(void 0, void 0, void 0, function* () {
89
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--rules', 'region');
90
- chai_1.assert.equal(result.exitCode, 0);
91
- chai_1.assert.include(result.stdout, 'Violation of "region" with');
92
- }));
93
- });
94
- describe('--tags', () => {
95
- it('should only run rules with the provided tags', () => __awaiter(void 0, void 0, void 0, function* () {
96
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--tags', 'cat.parsing,wcag222');
97
- chai_1.assert.equal(result.exitCode, 0);
98
- // Region is tagged with "cat.keyboard", "best-practice"
99
- chai_1.assert.notInclude(result.stdout, 'Violation of "region" with');
100
- }));
101
- });
102
- describe('--exit', () => {
103
- it('should exit non-zero if violations are found', () => __awaiter(void 0, void 0, void 0, function* () {
104
- try {
105
- yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--exit');
106
- }
107
- catch (error) {
108
- chai_1.assert.equal(error.exitCode, 1);
109
- chai_1.assert.include(error.stdout, 'Violation of "marquee" with 1 occurrences!');
110
- }
111
- }));
112
- it('should exit zero if violations are found', () => __awaiter(void 0, void 0, void 0, function* () {
113
- try {
114
- yield (0, testutils_1.default)(`file://${SIMPLE_CLEAN_HTML_FILE}`, '--exit');
115
- }
116
- catch (error) {
117
- chai_1.assert.equal(error.exitCode, 0);
118
- chai_1.assert.include(error.stdout, 'Violation of "marquee" with 1 occurrences!');
119
- }
120
- }));
121
- });
122
- describe('--dir', () => {
123
- let reportDir;
124
- beforeEach(() => {
125
- reportDir = tempy_1.default.directory();
126
- });
127
- it('should save a JSON report to the provided directory', () => __awaiter(void 0, void 0, void 0, function* () {
128
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--dir', reportDir);
129
- chai_1.assert.equal(result.exitCode, 0);
130
- const files = fs_1.default.readdirSync(reportDir);
131
- const report = files.find(f => f.endsWith('.json'));
132
- (0, chai_1.assert)(report, 'Did not create JSON report');
133
- }));
134
- });
135
- describe('--include', () => {
136
- it('should set a list of elements to include', () => __awaiter(void 0, void 0, void 0, function* () {
137
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--include', 'marquee');
138
- chai_1.assert.notInclude(result.stdout, 'Violation of "region"');
139
- chai_1.assert.include(result.stdout, 'Violation of "marquee" with 1 occurrences!');
140
- }));
141
- it('should throw error if CSS selector is not found', () => __awaiter(void 0, void 0, void 0, function* () {
142
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--include', '#hazaar', '--show-errors');
143
- chai_1.assert.include(result.stderr, 'javascript error: No elements found for include in page Context');
144
- chai_1.assert.equal(result.exitCode, 1);
145
- }));
146
- it('should throw error if invalid selector is provided', () => __awaiter(void 0, void 0, void 0, function* () {
147
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--include', '#123', '--show-errors');
148
- chai_1.assert.include(result.stderr, 'is not a valid selector');
149
- chai_1.assert.equal(result.exitCode, 1);
150
- }));
151
- });
152
- describe('--exclude', () => {
153
- it('should set a list of elements to exclude', () => __awaiter(void 0, void 0, void 0, function* () {
154
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--exclude', 'marquee');
155
- chai_1.assert.notInclude(result.stdout, 'Violation of "marquee" with 1 occurrences!');
156
- }));
157
- it('should throw error if invalid selector is provided', () => __awaiter(void 0, void 0, void 0, function* () {
158
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--exclude', '#123', '--show-errors');
159
- chai_1.assert.include(result.stderr, 'is not a valid selector');
160
- chai_1.assert.equal(result.exitCode, 1);
161
- }));
162
- });
163
- describe('--disable', () => {
164
- it('should not run rules with the provided IDs', () => __awaiter(void 0, void 0, void 0, function* () {
165
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--disable', 'region');
166
- chai_1.assert.notInclude(result.stdout, 'Violation of "region" with');
167
- }));
168
- });
169
- describe('--stdout', () => {
170
- it('should only emit JSON to stdout', () => __awaiter(void 0, void 0, void 0, function* () {
171
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--stdout');
172
- chai_1.assert.equal(result.exitCode, 0);
173
- chai_1.assert.doesNotThrow(() => JSON.parse(result.stdout), 'Emitted invalid JSON');
174
- }));
175
- });
176
- describe('--timer', () => {
177
- it('should log the time it takes to run', () => __awaiter(void 0, void 0, void 0, function* () {
178
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--timer');
179
- chai_1.assert.equal(result.exitCode, 0);
180
- chai_1.assert.isEmpty(result.stderr);
181
- chai_1.assert.include(result.stdout, 'axe-core execution time');
182
- chai_1.assert.include(result.stdout, 'Total test time');
183
- }));
184
- });
185
- describe('--no-reporter', () => {
186
- it('should log the time it takes to run', () => __awaiter(void 0, void 0, void 0, function* () {
187
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--no-reporter');
188
- chai_1.assert.equal(result.exitCode, 0);
189
- chai_1.assert.notInclude(result.stdout, 'Violation of "marquee" with 1 occurrences!');
190
- }));
191
- });
192
- describe('--show-errors', () => {
193
- it('should log the time it takes to run defaults to show errors', () => __awaiter(void 0, void 0, void 0, function* () {
194
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--include', '#hazaar');
195
- chai_1.assert.equal(result.exitCode, 1);
196
- chai_1.assert.include(result.stderr, 'Error: JavascriptError: javascript error:');
197
- }));
198
- it('do not show errors when passed false', () => __awaiter(void 0, void 0, void 0, function* () {
199
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--include', '#hazaar', '--show-errors', 'false');
200
- chai_1.assert.equal(result.exitCode, 1);
201
- chai_1.assert.include(result.stderr, 'An error occurred while testing this page.');
202
- }));
203
- });
204
- describe('--save', () => {
205
- let reportDir;
206
- beforeEach(() => {
207
- reportDir = tempy_1.default.directory();
208
- });
209
- it('should save the output as a JSON file', () => __awaiter(void 0, void 0, void 0, function* () {
210
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--save', 'test-name.json', '--dir', reportDir);
211
- const [report] = fs_1.default.readdirSync(reportDir);
212
- chai_1.assert.equal(result.exitCode, 0);
213
- chai_1.assert.equal(report, 'test-name.json');
214
- }));
215
- });
216
- describe('--load-delay', () => {
217
- it('should set how much time axe will wait after a page loads before running the audit', () => __awaiter(void 0, void 0, void 0, function* () {
218
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--load-delay', '1000');
219
- chai_1.assert.equal(result.exitCode, 0);
220
- chai_1.assert.include(result.stdout, 'Waiting for 1000 milliseconds after page load');
221
- }));
222
- });
223
- describe('--verbose', () => {
224
- it('should output metadata such as test tool name, version and environment', () => __awaiter(void 0, void 0, void 0, function* () {
225
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--verbose');
226
- chai_1.assert.equal(result.exitCode, 0);
227
- chai_1.assert.include(result.stdout, 'Test Runner');
228
- chai_1.assert.include(result.stdout, 'Test Engine');
229
- chai_1.assert.include(result.stdout, 'Test Environment');
230
- }));
231
- });
232
- describe('--timeout', () => {
233
- // Timeout the page immediately. Ideally we'd block the page for awhile, then timeout based on that. This seemed easier for now tho.
234
- it('should set the page load timeout', () => __awaiter(void 0, void 0, void 0, function* () {
235
- try {
236
- yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--timeout', '0');
237
- }
238
- catch (error) {
239
- chai_1.assert.notEqual(error.exitCode, 0);
240
- chai_1.assert.include(error.stderr, 'An error occurred while testing this page.');
241
- }
242
- }));
243
- });
244
- // disabled during conversion to npm workspaces as the node_module install directory changed
245
- // @see https://github.com/dequelabs/axe-core-npm/issues/822
246
- describe.skip('--chromedriver-path', () => {
247
- it('should throw error if path does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
248
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--chromedriver-path="someinvalidpath"', '--show-errors');
249
- chai_1.assert.include(result.stderr, 'The specified executable path does not exist');
250
- }));
251
- });
252
- describe('--chrome-path', () => {
253
- it('should throw error if path does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
254
- const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--chrome-path="someinvalidpath"', '--show-errors');
255
- chai_1.assert.include(result.stderr, 'no chrome binary at');
256
- }));
257
- });
258
- });
259
- //# sourceMappingURL=cli.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../../../src/bin/cli.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { OptionValues } from 'commander';
2
- declare const cli: (args: OptionValues, url: {
3
- args: string[];
4
- }) => Promise<void>;
5
- export default cli;