mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-06-05 14:59:37 +08:00
Merge pull request #26309 from JoshuaKGoldberg/axe-webdriverjs
Added types for axe webdriverjs
This commit is contained in:
@@ -124,7 +124,7 @@
|
||||
"libraryName": "axe-core",
|
||||
"typingsPackageName": "axe-core",
|
||||
"sourceRepoURL": "https://github.com/dequelabs/axe-core",
|
||||
"asOfVersion": "2.0.7"
|
||||
"asOfVersion": "3.0.3"
|
||||
},
|
||||
{
|
||||
"libraryName": "axios",
|
||||
|
||||
31
types/axe-webdriverjs/axe-webdriverjs-tests.ts
Normal file
31
types/axe-webdriverjs/axe-webdriverjs-tests.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { Result, RunOptions, Spec } from "axe-core";
|
||||
import { AxeBuilder, AxeAnalysis } from "axe-webdriverjs";
|
||||
import { WebDriver } from "selenium-webdriver";
|
||||
|
||||
const inTest = async (webDriver: WebDriver) => {
|
||||
const builderCalled: AxeBuilder = AxeBuilder(webDriver);
|
||||
const builderNewed: AxeBuilder = new AxeBuilder(webDriver);
|
||||
|
||||
const runOptions: RunOptions = {};
|
||||
const spec: Spec = {};
|
||||
|
||||
const analysis: AxeAnalysis = await AxeBuilder(webDriver)
|
||||
.include("include")
|
||||
.exclude("exclude")
|
||||
.options(runOptions)
|
||||
.withRules("rule")
|
||||
.withRules(["rule", "rule"])
|
||||
.withTags("tag")
|
||||
.withTags(["tag", "tag"])
|
||||
.disableRules("rule")
|
||||
.disableRules(["rule", "rule"])
|
||||
.configure(spec)
|
||||
.analyze((internalResults: AxeAnalysis) => {});
|
||||
|
||||
const inapplicable: Result[] = analysis.inapplicable;
|
||||
const incomplete: Result[] = analysis.incomplete;
|
||||
const passes: Result[] = analysis.passes;
|
||||
const timestamp: string = analysis.timestamp;
|
||||
const url: string = analysis.url;
|
||||
const violations: Result[] = analysis.violations;
|
||||
};
|
||||
83
types/axe-webdriverjs/index.d.ts
vendored
Normal file
83
types/axe-webdriverjs/index.d.ts
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
// Type definitions for axe-webdriverjs 2.0
|
||||
// Project: https://github.com/dequelabs/axe-webdriverjs#readme
|
||||
// Definitions by: My Self <https://github.com/JoshuaKGoldberg>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
import { Result, RunOptions, Spec } from "axe-core";
|
||||
import { WebDriver } from "selenium-webdriver";
|
||||
|
||||
export interface AxeAnalysis {
|
||||
inapplicable: Result[];
|
||||
incomplete: Result[];
|
||||
passes: Result[];
|
||||
timestamp: string;
|
||||
url: string;
|
||||
violations: Result[];
|
||||
}
|
||||
|
||||
export interface AxeBuilder {
|
||||
/**
|
||||
* Includes a selector in analysis.
|
||||
*
|
||||
* @param selector CSS selector of the element to include.
|
||||
*/
|
||||
include(selector: string): this;
|
||||
|
||||
/**
|
||||
* Excludes a selector from analysis.
|
||||
*
|
||||
* @param selector CSS selector of the element to exclude.
|
||||
*/
|
||||
exclude(selector: string): this;
|
||||
|
||||
/**
|
||||
* Options to directly pass to `axe.run`.
|
||||
*
|
||||
* @param options aXe options object.
|
||||
* @remarks Will override any other configured options, including calls to `withRules` and `withTags`.
|
||||
* @see https://github.com/dequelabs/axe-core/issues/937
|
||||
*/
|
||||
options(options: RunOptions): this;
|
||||
|
||||
/**
|
||||
* Limits analysis to only the specified rules.
|
||||
*
|
||||
* @param rules Array of rule IDs, or a single rule ID as a string.
|
||||
* @remarks Cannot be used with `withTags`.
|
||||
*/
|
||||
withRules(rules: string | string[]): this;
|
||||
|
||||
/**
|
||||
* Limist analysis to only the specified tags.
|
||||
*
|
||||
* @param rules Array of tags, or a single tag as a string.
|
||||
* @remarks Cannot be used with `withRules`.
|
||||
*/
|
||||
withTags(tags: string | string[]): this;
|
||||
|
||||
/**
|
||||
* Set the list of rules to skip when running an analysis
|
||||
*
|
||||
* @param rules Array of rule IDs, or a single rule ID as a string.
|
||||
*/
|
||||
disableRules(rules: string | string[]): this;
|
||||
|
||||
/**
|
||||
* Configures aXe before running analyze.
|
||||
*
|
||||
* @param config aXe Configuration spec to use in analysis.
|
||||
*/
|
||||
configure(config: Spec): this;
|
||||
|
||||
/**
|
||||
* Perform analysis and retrieve results.
|
||||
* @param callback Function to execute when analysis completes.
|
||||
*/
|
||||
analyze(callback: (results: AxeAnalysis) => void): Promise<AxeAnalysis>;
|
||||
}
|
||||
|
||||
export const AxeBuilder: {
|
||||
(driver: WebDriver): AxeBuilder;
|
||||
new (driver: WebDriver): AxeBuilder;
|
||||
};
|
||||
6
types/axe-webdriverjs/package.json
Normal file
6
types/axe-webdriverjs/package.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"axe-core": "^3.0.3"
|
||||
}
|
||||
}
|
||||
23
types/axe-webdriverjs/tsconfig.json
Normal file
23
types/axe-webdriverjs/tsconfig.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictFunctionTypes": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"axe-webdriverjs-tests.ts"
|
||||
]
|
||||
}
|
||||
1
types/axe-webdriverjs/tslint.json
Normal file
1
types/axe-webdriverjs/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"axe-core": "^2.6.1"
|
||||
"axe-core": "^3.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user