Skip to content

Commit

Permalink
feat(axe-core-4.3.2): Upgrade to use axe-core 4.3.2 (#677)
Browse files Browse the repository at this point in the history
update to axe-core 4.3.2
  • Loading branch information
brocktaylor7 authored Aug 10, 2021
1 parent 64da790 commit e1abe16
Show file tree
Hide file tree
Showing 18 changed files with 85,694 additions and 183 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ The [microsoft/axe-pipelines-samples](https://github.com/microsoft/axe-pipelines
The version number of this library is **independent** from the version numbers of the axe-core inputs and SARIF outputs it supports.
- axe-sarif-converter version 2.x supports input from version ^3.2.0 || ^4.0.0 of axe-core (tested with 3.2.2, 3.3.2, 3.4.1, 3.4.2, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 4.0.1, 4.0.2, 4.1.1, and 4.2.0) and outputs SARIF v2.1
- axe-sarif-converter version 2.x supports input from version ^3.2.0 || ^4.0.0 of axe-core (tested with 3.2.2, 3.3.2, 3.4.1, 3.4.2, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 4.0.1, 4.0.2, 4.1.1, 4.2.0, and 4.3.2) and outputs SARIF v2.1
- axe-sarif-converter version 1.x supports input from version >= 3.2.0 < 3.3.0 of axe-core (tested with 3.2.2) and outputs SARIF v2.0
Note that the SARIF format _does not use semantic versioning_, and there are breaking changes between the v2.0 and v2.1 SARIF formats. If you need compatibility with a SARIF viewer that only supports v2.0, you should use version 1.x of this library.
Expand Down Expand Up @@ -102,7 +102,7 @@ change, so we're waiting to change this until we would need to make a breaking c
To update the package and test cases to account for a new axe-core version:
1. Update the version of axe-core in `yarn.lock` (_not_ `package.json`); usually dependabot will cover this.
1. Update the version of axe-core in `yarn.lock` (_not_ `package.json`); usually dependabot will cover this. If updating to the latest version, this can be accomplished using `yarn upgrade axe-core`.
1. Build the repo with:
```
yarn install
Expand Down
8 changes: 4 additions & 4 deletions src/__snapshots__/index.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -1388,15 +1388,15 @@ Object {
],
"tool": Object {
"driver": Object {
"downloadUri": "https://www.npmjs.com/package/axe-core/v/4.2.0",
"fullName": "axe for Web v4.2.0",
"downloadUri": "https://www.npmjs.com/package/axe-core/v/4.3.2",
"fullName": "axe for Web v4.3.2",
"informationUri": "https://www.deque.com/axe/axe-for-web/",
"name": "axe-core",
"properties": Object {
"microsoft/qualityDomain": "Accessibility",
},
"rules": Array [],
"semanticVersion": "4.2.0",
"semanticVersion": "4.3.2",
"shortDescription": Object {
"text": "An open source accessibility rules library for automated testing.",
},
Expand All @@ -1407,7 +1407,7 @@ Object {
"name": "WCAG",
},
],
"version": "4.2.0",
"version": "4.3.2",
},
},
},
Expand Down
6 changes: 4 additions & 2 deletions src/cli.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ describe('axe-sarif-converter CLI', () => {
${'w3citylights-axe-v4.1.1.axe-cli-v4.1.0.json'}
${'basic-axe-v4.2.0.axe-cli-v4.1.1.json'}
${'w3citylights-axe-v4.2.0.axe-cli-v4.1.1.json'}
${'basic-axe-v4.3.2.axe-cli-v4.2.2.json'}
${'w3citylights-axe-v4.3.2.axe-cli-v4.2.2.json'}
`(
'supports conversion from axe-cli output $inputFile',
async ({ inputFile }) => {
Expand Down Expand Up @@ -185,11 +187,11 @@ describe('axe-sarif-converter CLI', () => {
const testResultsDir = path.join(__dirname, '..', 'test-results');
const basicAxeV2File = path.join(
testResourcesDir,
'basic-axe-v4.2.0.reporter-v2.json',
'basic-axe-v4.3.2.reporter-v2.json',
);
const basicSarifFile = path.join(
testResourcesDir,
'basic-axe-v4.2.0.sarif',
'basic-axe-v4.3.2.sarif',
);

const mkdir = promisify(fs.mkdir);
Expand Down
6 changes: 5 additions & 1 deletion src/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ describe('public convertAxeToSarif API', () => {
${'basic-axe-v4.2.0.reporter-v2.json'} | ${'basic-axe-v4.2.0.sarif'}
${'w3citylights-axe-v4.2.0.reporter-v1.json'} | ${'w3citylights-axe-v4.2.0.sarif'}
${'w3citylights-axe-v4.2.0.reporter-v2.json'} | ${'w3citylights-axe-v4.2.0.sarif'}
${'basic-axe-v4.3.2.reporter-v1.json'} | ${'basic-axe-v4.3.2.sarif'}
${'basic-axe-v4.3.2.reporter-v2.json'} | ${'basic-axe-v4.3.2.sarif'}
${'w3citylights-axe-v4.3.2.reporter-v1.json'} | ${'w3citylights-axe-v4.3.2.sarif'}
${'w3citylights-axe-v4.3.2.reporter-v2.json'} | ${'w3citylights-axe-v4.3.2.sarif'}
`(
'converts pinned v1/v2 input $inputFile to pinned output $outputFile',
({ inputFile, outputFile }) => {
Expand Down Expand Up @@ -143,7 +147,7 @@ describe('public sarifReporter API', () => {
// it isn't very meaningful to test cases that involve old axe versions here.
it.each`
inputFile | outputFile
${'basic-axe-v4.2.0.reporter-raw.json'} | ${'basic-axe-v4.2.0.sarif'}
${'basic-axe-v4.3.2.reporter-raw.json'} | ${'basic-axe-v4.3.2.sarif'}
`(
'converts pinned raw input $inputFile to pinned output $outputFile',
async ({ inputFile, outputFile }) => {
Expand Down
68 changes: 68 additions & 0 deletions src/test-resources/basic-axe-v4.3.2.axe-cli-v4.2.2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[
{
"inapplicable": [],
"incomplete": [],
"passes": [],
"testEngine": {
"name": "axe-core",
"version": "4.3.2"
},
"testEnvironment": {
"orientationAngle": 0,
"orientationType": "landscape-primary",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/92.0.4515.131 Safari/537.36",
"windowHeight": 600,
"windowWidth": 800
},
"testRunner": {
"name": "axe"
},
"timestamp": "2021-08-10T23:22:50.309Z",
"toolOptions": {
"reporter": "v1",
"runOnly": {
"type": "rule",
"values": [
"document-title"
]
}
},
"url": "file:///C:/Users/brock/projects/axe-sarif-converter/src/test-resources/basic.html",
"violations": [
{
"description": "Ensures each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.3/document-title?application=webdriverjs",
"id": "document-title",
"impact": "serious",
"nodes": [
{
"all": [],
"any": [
{
"data": null,
"id": "doc-has-title",
"impact": "serious",
"message": "Document does not have a non-empty <title> element",
"relatedNodes": []
}
],
"failureSummary": "Fix any of the following:\n Document does not have a non-empty <title> element",
"html": "<html class=\"deque-axe-is-ready\"><head></head><body>\n</body><script>document.documentElement.classList.add(\"deque-axe-is-ready\");</script></html>",
"impact": "serious",
"none": [],
"target": [
"html"
]
}
],
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"ACT"
]
}
]
}
]
52 changes: 52 additions & 0 deletions src/test-resources/basic-axe-v4.3.2.reporter-raw.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
[
{
"id": "document-title",
"result": "failed",
"pageLevel": false,
"impact": "serious",
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"ACT"
],
"description": "Ensures each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.3/document-title?application=axe-puppeteer",
"inapplicable": [],
"passes": [],
"incomplete": [],
"violations": [
{
"node": {
"selector": [
"html"
],
"source": "<html><head></head><body>\n</body></html>",
"xpath": [
"/html"
],
"ancestry": [
"html"
],
"nodeIndexes": [
0
]
},
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document does not have a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": "serious",
"result": "failed"
}
]
}
]
70 changes: 70 additions & 0 deletions src/test-resources/basic-axe-v4.3.2.reporter-v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"testEngine": {
"name": "axe-core",
"version": "4.3.2"
},
"testRunner": {
"name": "axe"
},
"testEnvironment": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/91.0.4469.0 Safari/537.36",
"windowWidth": 800,
"windowHeight": 600,
"orientationAngle": 0,
"orientationType": "portrait-primary"
},
"timestamp": "2000-01-02T03:04:05.006Z",
"url": "http://localhost/",
"toolOptions": {
"xpath": true,
"runOnly": {
"type": "rule",
"values": [
"document-title"
]
},
"reporter": "v1"
},
"violations": [
{
"id": "document-title",
"impact": "serious",
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"ACT"
],
"description": "Ensures each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.3/document-title?application=axe-puppeteer",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document does not have a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<html><head></head><body>\n</body></html>",
"target": [
"html"
],
"xpath": [
"/html"
],
"failureSummary": "Fix any of the following:\n Document does not have a non-empty <title> element"
}
]
}
],
"passes": [],
"incomplete": [],
"inapplicable": []
}
69 changes: 69 additions & 0 deletions src/test-resources/basic-axe-v4.3.2.reporter-v2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"testEngine": {
"name": "axe-core",
"version": "4.3.2"
},
"testRunner": {
"name": "axe"
},
"testEnvironment": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/91.0.4469.0 Safari/537.36",
"windowWidth": 800,
"windowHeight": 600,
"orientationAngle": 0,
"orientationType": "portrait-primary"
},
"timestamp": "2000-01-02T03:04:05.006Z",
"url": "http://localhost/",
"toolOptions": {
"xpath": true,
"runOnly": {
"type": "rule",
"values": [
"document-title"
]
},
"reporter": "v2"
},
"violations": [
{
"id": "document-title",
"impact": "serious",
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"ACT"
],
"description": "Ensures each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.3/document-title?application=axe-puppeteer",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document does not have a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<html><head></head><body>\n</body></html>",
"target": [
"html"
],
"xpath": [
"/html"
]
}
]
}
],
"passes": [],
"incomplete": [],
"inapplicable": []
}
Loading

0 comments on commit e1abe16

Please sign in to comment.