@qualweb/act-rules 0.6.39 → 0.7.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.
- package/README.md +38 -2
- package/dist/ACTRulesModule.d.ts +11 -0
- package/dist/ACTRulesModule.d.ts.map +1 -0
- package/dist/ACTRulesModule.js +65 -0
- package/dist/ACTRulesRunner.d.ts +14 -0
- package/dist/ACTRulesRunner.d.ts.map +1 -0
- package/dist/ACTRulesRunner.js +44 -0
- package/dist/__webpack/act.bundle.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/lib/ACTRulesTester.object.d.ts +15 -0
- package/dist/lib/ACTRulesTester.object.d.ts.map +1 -0
- package/dist/lib/ACTRulesTester.object.js +150 -0
- package/dist/lib/AtomicRule.object.d.ts +7 -0
- package/dist/lib/AtomicRule.object.d.ts.map +1 -0
- package/dist/lib/AtomicRule.object.js +7 -0
- package/dist/lib/CompositeRule.object.d.ts +13 -0
- package/dist/lib/CompositeRule.object.d.ts.map +1 -0
- package/dist/lib/CompositeRule.object.js +80 -0
- package/dist/lib/Rule.object.d.ts +19 -0
- package/dist/lib/Rule.object.d.ts.map +1 -0
- package/dist/lib/Rule.object.js +76 -0
- package/dist/lib/mapping.d.ts +36 -0
- package/dist/lib/mapping.d.ts.map +1 -0
- package/dist/lib/mapping.js +38 -0
- package/dist/lib/mappingComposite.d.ts +39 -0
- package/dist/lib/mappingComposite.d.ts.map +1 -0
- package/dist/lib/mappingComposite.js +23 -0
- package/dist/lib/rules.json +1523 -0
- package/dist/lib/types.d.ts +15 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +2 -0
- package/dist/rules/QW-ACT-R1.d.ts +7 -0
- package/dist/rules/QW-ACT-R1.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R1.js +49 -0
- package/dist/rules/QW-ACT-R10.d.ts +8 -0
- package/dist/rules/QW-ACT-R10.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R10.js +98 -0
- package/dist/rules/QW-ACT-R11.d.ts +7 -0
- package/dist/rules/QW-ACT-R11.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R11.js +40 -0
- package/dist/rules/QW-ACT-R12.d.ts +7 -0
- package/dist/rules/QW-ACT-R12.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R12.js +40 -0
- package/dist/rules/QW-ACT-R13.d.ts +9 -0
- package/dist/rules/QW-ACT-R13.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R13.js +76 -0
- package/dist/rules/QW-ACT-R14.d.ts +7 -0
- package/dist/rules/QW-ACT-R14.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R14.js +73 -0
- package/dist/rules/QW-ACT-R15.d.ts +6 -0
- package/dist/rules/QW-ACT-R15.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R15.js +26 -0
- package/dist/rules/QW-ACT-R16.d.ts +7 -0
- package/dist/rules/QW-ACT-R16.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R16.js +52 -0
- package/dist/rules/QW-ACT-R17.d.ts +7 -0
- package/dist/rules/QW-ACT-R17.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R17.js +52 -0
- package/dist/rules/QW-ACT-R19.d.ts +7 -0
- package/dist/rules/QW-ACT-R19.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R19.js +42 -0
- package/dist/rules/QW-ACT-R2.d.ts +7 -0
- package/dist/rules/QW-ACT-R2.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R2.js +40 -0
- package/dist/rules/QW-ACT-R20.d.ts +7 -0
- package/dist/rules/QW-ACT-R20.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R20.js +39 -0
- package/dist/rules/QW-ACT-R21.d.ts +8 -0
- package/dist/rules/QW-ACT-R21.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R21.js +50 -0
- package/dist/rules/QW-ACT-R22.d.ts +9 -0
- package/dist/rules/QW-ACT-R22.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R22.js +69 -0
- package/dist/rules/QW-ACT-R23.d.ts +6 -0
- package/dist/rules/QW-ACT-R23.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R23.js +26 -0
- package/dist/rules/QW-ACT-R24.d.ts +12 -0
- package/dist/rules/QW-ACT-R24.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R24.js +298 -0
- package/dist/rules/QW-ACT-R25.d.ts +7 -0
- package/dist/rules/QW-ACT-R25.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R25.js +67 -0
- package/dist/rules/QW-ACT-R26.d.ts +6 -0
- package/dist/rules/QW-ACT-R26.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R26.js +26 -0
- package/dist/rules/QW-ACT-R27.d.ts +7 -0
- package/dist/rules/QW-ACT-R27.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R27.js +55 -0
- package/dist/rules/QW-ACT-R28.d.ts +7 -0
- package/dist/rules/QW-ACT-R28.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R28.js +83 -0
- package/dist/rules/QW-ACT-R29.d.ts +6 -0
- package/dist/rules/QW-ACT-R29.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R29.js +26 -0
- package/dist/rules/QW-ACT-R30.d.ts +9 -0
- package/dist/rules/QW-ACT-R30.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R30.js +69 -0
- package/dist/rules/QW-ACT-R31.d.ts +6 -0
- package/dist/rules/QW-ACT-R31.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R31.js +26 -0
- package/dist/rules/QW-ACT-R32.d.ts +6 -0
- package/dist/rules/QW-ACT-R32.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R32.js +26 -0
- package/dist/rules/QW-ACT-R33.d.ts +8 -0
- package/dist/rules/QW-ACT-R33.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R33.js +89 -0
- package/dist/rules/QW-ACT-R34.d.ts +7 -0
- package/dist/rules/QW-ACT-R34.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R34.js +112 -0
- package/dist/rules/QW-ACT-R35.d.ts +7 -0
- package/dist/rules/QW-ACT-R35.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R35.js +40 -0
- package/dist/rules/QW-ACT-R36.d.ts +7 -0
- package/dist/rules/QW-ACT-R36.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R36.js +108 -0
- package/dist/rules/QW-ACT-R37.d.ts +23 -0
- package/dist/rules/QW-ACT-R37.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R37.js +358 -0
- package/dist/rules/QW-ACT-R38.d.ts +9 -0
- package/dist/rules/QW-ACT-R38.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R38.js +100 -0
- package/dist/rules/QW-ACT-R39.d.ts +8 -0
- package/dist/rules/QW-ACT-R39.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R39.js +155 -0
- package/dist/rules/QW-ACT-R4.d.ts +8 -0
- package/dist/rules/QW-ACT-R4.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R4.js +85 -0
- package/dist/rules/QW-ACT-R40.d.ts +7 -0
- package/dist/rules/QW-ACT-R40.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R40.js +58 -0
- package/dist/rules/QW-ACT-R41.d.ts +7 -0
- package/dist/rules/QW-ACT-R41.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R41.js +42 -0
- package/dist/rules/QW-ACT-R42.d.ts +7 -0
- package/dist/rules/QW-ACT-R42.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R42.js +40 -0
- package/dist/rules/QW-ACT-R43.d.ts +8 -0
- package/dist/rules/QW-ACT-R43.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R43.js +98 -0
- package/dist/rules/QW-ACT-R44.d.ts +8 -0
- package/dist/rules/QW-ACT-R44.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R44.js +92 -0
- package/dist/rules/QW-ACT-R48.d.ts +7 -0
- package/dist/rules/QW-ACT-R48.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R48.js +38 -0
- package/dist/rules/QW-ACT-R49.d.ts +8 -0
- package/dist/rules/QW-ACT-R49.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R49.js +81 -0
- package/dist/rules/QW-ACT-R5.d.ts +8 -0
- package/dist/rules/QW-ACT-R5.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R5.js +44 -0
- package/dist/rules/QW-ACT-R50.d.ts +8 -0
- package/dist/rules/QW-ACT-R50.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R50.js +72 -0
- package/dist/rules/QW-ACT-R51.d.ts +7 -0
- package/dist/rules/QW-ACT-R51.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R51.js +41 -0
- package/dist/rules/QW-ACT-R53.d.ts +7 -0
- package/dist/rules/QW-ACT-R53.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R53.js +41 -0
- package/dist/rules/QW-ACT-R54.d.ts +7 -0
- package/dist/rules/QW-ACT-R54.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R54.js +41 -0
- package/dist/rules/QW-ACT-R55.d.ts +7 -0
- package/dist/rules/QW-ACT-R55.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R55.js +41 -0
- package/dist/rules/QW-ACT-R56.d.ts +7 -0
- package/dist/rules/QW-ACT-R56.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R56.js +41 -0
- package/dist/rules/QW-ACT-R58.d.ts +7 -0
- package/dist/rules/QW-ACT-R58.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R58.js +33 -0
- package/dist/rules/QW-ACT-R59.d.ts +7 -0
- package/dist/rules/QW-ACT-R59.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R59.js +33 -0
- package/dist/rules/QW-ACT-R6.d.ts +7 -0
- package/dist/rules/QW-ACT-R6.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R6.js +40 -0
- package/dist/rules/QW-ACT-R60.d.ts +7 -0
- package/dist/rules/QW-ACT-R60.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R60.js +41 -0
- package/dist/rules/QW-ACT-R61.d.ts +7 -0
- package/dist/rules/QW-ACT-R61.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R61.js +41 -0
- package/dist/rules/QW-ACT-R62.d.ts +7 -0
- package/dist/rules/QW-ACT-R62.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R62.js +37 -0
- package/dist/rules/QW-ACT-R63.d.ts +8 -0
- package/dist/rules/QW-ACT-R63.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R63.js +60 -0
- package/dist/rules/QW-ACT-R64.d.ts +8 -0
- package/dist/rules/QW-ACT-R64.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R64.js +60 -0
- package/dist/rules/QW-ACT-R65.d.ts +7 -0
- package/dist/rules/QW-ACT-R65.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R65.js +58 -0
- package/dist/rules/QW-ACT-R66.d.ts +7 -0
- package/dist/rules/QW-ACT-R66.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R66.js +40 -0
- package/dist/rules/QW-ACT-R67.d.ts +12 -0
- package/dist/rules/QW-ACT-R67.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R67.js +94 -0
- package/dist/rules/QW-ACT-R68.d.ts +14 -0
- package/dist/rules/QW-ACT-R68.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R68.js +117 -0
- package/dist/rules/QW-ACT-R69.d.ts +12 -0
- package/dist/rules/QW-ACT-R69.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R69.js +94 -0
- package/dist/rules/QW-ACT-R7.d.ts +14 -0
- package/dist/rules/QW-ACT-R7.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R7.js +167 -0
- package/dist/rules/QW-ACT-R70.d.ts +7 -0
- package/dist/rules/QW-ACT-R70.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R70.js +52 -0
- package/dist/rules/QW-ACT-R71.d.ts +8 -0
- package/dist/rules/QW-ACT-R71.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R71.js +81 -0
- package/dist/rules/QW-ACT-R73.d.ts +8 -0
- package/dist/rules/QW-ACT-R73.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R73.js +60 -0
- package/dist/rules/QW-ACT-R74.d.ts +8 -0
- package/dist/rules/QW-ACT-R74.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R74.js +80 -0
- package/dist/rules/QW-ACT-R75.d.ts +6 -0
- package/dist/rules/QW-ACT-R75.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R75.js +27 -0
- package/dist/rules/QW-ACT-R76.d.ts +23 -0
- package/dist/rules/QW-ACT-R76.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R76.js +336 -0
- package/dist/rules/QW-ACT-R77.d.ts +7 -0
- package/dist/rules/QW-ACT-R77.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R77.js +53 -0
- package/dist/rules/QW-ACT-R9.d.ts +7 -0
- package/dist/rules/QW-ACT-R9.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R9.js +87 -0
- package/dist/rules/index.d.ts +69 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +84 -0
- package/package.json +23 -18
- package/dist/act.bundle.js +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,44 @@ Implementation of the [ACT rules](https://www.w3.org/WAI/standards-guidelines/ac
|
|
|
4
4
|
|
|
5
5
|
## How to use
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This package is intended to be used with [@qualweb/core](https://github.com/qualweb/core).
|
|
8
|
+
|
|
9
|
+
Add both packages to your project:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm i --save @qualweb/core @qualweb/act-rules
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
In your own code, pass an instance of the `ACTRules` class to QualWeb's evaluate method:
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { ACTRules } from '@qualweb/act-rules';
|
|
19
|
+
import { QualWeb } from '@qualweb/core';
|
|
20
|
+
|
|
21
|
+
async function main() {
|
|
22
|
+
const qw = new QualWeb();
|
|
23
|
+
|
|
24
|
+
await qw.start();
|
|
25
|
+
|
|
26
|
+
const actRuleInstance = new ACTRules({
|
|
27
|
+
// Include/exclude specific rules here. Omitting any filters implies *all*
|
|
28
|
+
// rules are included.
|
|
29
|
+
levels: ['A', 'AA'],
|
|
30
|
+
exclude: ['QW-ACT-R3'],
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const urlToEvaluate = 'https://www.google.com';
|
|
34
|
+
|
|
35
|
+
const report = await qw.evaluate({
|
|
36
|
+
url: urlToEvaluate,
|
|
37
|
+
modules: [actRuleInstance],
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
await qw.stop();
|
|
41
|
+
|
|
42
|
+
console.debug(report[urlToEvaluate].metadata);
|
|
43
|
+
}
|
|
44
|
+
```
|
|
8
45
|
|
|
9
46
|
## Implemented rules
|
|
10
47
|
|
|
@@ -73,7 +110,6 @@ Implementation of the [ACT rules](https://www.w3.org/WAI/standards-guidelines/ac
|
|
|
73
110
|
| QW-ACT-R69 | [9e45ec](https://www.w3.org/WAI/standards-guidelines/act/rules/9e45ec/) | Word spacing in style attributes is not !important |
|
|
74
111
|
| QW-ACT-R70 | [akn7bn](https://www.w3.org/WAI/standards-guidelines/act/rules/akn7bn/) | Iframe with interactive elements is not excluded from tab-order |
|
|
75
112
|
| QW-ACT-R71 | [bisz58](https://www.w3.org/WAI/standards-guidelines/act/rules/bisz58/) | Meta element has no refresh delay (no exception) |
|
|
76
|
-
| QW-ACT-R72 | [8a213c](https://www.w3.org/WAI/standards-guidelines/act/rules/8a213c/) | First focusable element is link to non-repeated content |
|
|
77
113
|
| QW-ACT-R73 | [3e12e1](https://www.w3.org/WAI/standards-guidelines/act/rules/3e12e1/) | Block of repeated content is collapsible |
|
|
78
114
|
| QW-ACT-R74 | [ye5d6e](https://www.w3.org/WAI/standards-guidelines/act/rules/ye5d6e/) | Document has an instrument to move focus to non-repeated content |
|
|
79
115
|
| QW-ACT-R75 | [cf77f2](https://www.w3.org/WAI/standards-guidelines/act/rules/cf77f2/) | Bypass Blocks of Repeated Content |
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { EvaluationReport, ModuleOptions, TestingData } from '@qualweb/core/evaluation';
|
|
2
|
+
import { ModuleType, ExecutableModuleContext } from '@qualweb/core/evaluation';
|
|
3
|
+
import type { TranslationOptions } from '@qualweb/locale';
|
|
4
|
+
import type { QualwebPage } from '@qualweb/core/lib';
|
|
5
|
+
export declare class ACTRulesModule extends ExecutableModuleContext {
|
|
6
|
+
readonly name = ModuleType.ACT_RULES;
|
|
7
|
+
protected getModulePackage(): string;
|
|
8
|
+
protected runModule(page: QualwebPage, options: ModuleOptions, translate: TranslationOptions, data: TestingData): Promise<EvaluationReport>;
|
|
9
|
+
private testSpecialCases;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ACTRulesModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ACTRulesModule.d.ts","sourceRoot":"","sources":["../src/ACTRulesModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EACV,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,qBAAa,cAAe,SAAQ,uBAAuB;IACzD,SAAgB,IAAI,wBAAwB;IAE5C,SAAS,CAAC,gBAAgB,IAAI,MAAM;cAIpB,SAAS,CACvB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC;IAgD5B,OAAO,CAAC,gBAAgB;CAOzB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ACTRulesModule = void 0;
|
|
13
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
14
|
+
class ACTRulesModule extends evaluation_1.ExecutableModuleContext {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.name = evaluation_1.ModuleType.ACT_RULES;
|
|
18
|
+
}
|
|
19
|
+
getModulePackage() {
|
|
20
|
+
return '@qualweb/act-rules';
|
|
21
|
+
}
|
|
22
|
+
runModule(page, options, translate, data) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
yield page.evaluate((translate, options, data) => {
|
|
25
|
+
window.act = new ACTRulesRunner(options, translate).configure(options).test(data);
|
|
26
|
+
}, translate, options, data);
|
|
27
|
+
if (this.testSpecialCases(options)) {
|
|
28
|
+
const viewport = page.getViewport();
|
|
29
|
+
yield page.setViewport({
|
|
30
|
+
resolution: {
|
|
31
|
+
width: 640,
|
|
32
|
+
height: 512
|
|
33
|
+
},
|
|
34
|
+
mobile: viewport === null || viewport === void 0 ? void 0 : viewport.isMobile,
|
|
35
|
+
landscape: viewport === null || viewport === void 0 ? void 0 : viewport.isLandscape,
|
|
36
|
+
touch: viewport === null || viewport === void 0 ? void 0 : viewport.hasTouch
|
|
37
|
+
});
|
|
38
|
+
yield page.evaluate(() => {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
(_b = (_a = window.act).testSpecial) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
41
|
+
});
|
|
42
|
+
if (viewport) {
|
|
43
|
+
yield page.setViewport({
|
|
44
|
+
resolution: {
|
|
45
|
+
width: viewport.width,
|
|
46
|
+
height: viewport.height
|
|
47
|
+
},
|
|
48
|
+
mobile: viewport === null || viewport === void 0 ? void 0 : viewport.isMobile,
|
|
49
|
+
landscape: viewport === null || viewport === void 0 ? void 0 : viewport.isLandscape,
|
|
50
|
+
touch: viewport === null || viewport === void 0 ? void 0 : viewport.hasTouch
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return page.evaluate(() => {
|
|
55
|
+
return window.act.getReport();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
testSpecialCases(options) {
|
|
60
|
+
return (!options ||
|
|
61
|
+
((!options.include || options.include.includes('QW-ACT-R40') || options.include.includes('59br37')) &&
|
|
62
|
+
(!options.exclude || !options.exclude.includes('QW-ACT-R40') || !options.exclude.includes('59br37'))));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.ACTRulesModule = ACTRulesModule;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModuleTranslator } from '@qualweb/core/locale';
|
|
2
|
+
import type { ModuleOptions, TestingData } from '@qualweb/core/evaluation';
|
|
3
|
+
import { EvaluationModuleDefinition } from '@qualweb/core/evaluation';
|
|
4
|
+
import { ACTRulesTester } from './lib/ACTRulesTester.object';
|
|
5
|
+
import { TranslationOptions } from '@qualweb/locale';
|
|
6
|
+
export declare class ACTRulesRunner extends EvaluationModuleDefinition<ACTRulesTester> {
|
|
7
|
+
protected readonly translator: ModuleTranslator;
|
|
8
|
+
constructor(moduleOptions: ModuleOptions, translationOptions: TranslationOptions);
|
|
9
|
+
configure(options?: ModuleOptions): this;
|
|
10
|
+
test(data: TestingData): this;
|
|
11
|
+
private getMetaElements;
|
|
12
|
+
testSpecial(): this;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ACTRulesRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ACTRulesRunner.d.ts","sourceRoot":"","sources":["../src/ACTRulesRunner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAEL,0BAA0B,EAE3B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,cAAe,SAAQ,0BAA0B,CAAC,cAAc,CAAC;IAK5E,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;gBAE7B,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB;IAiBvE,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAMxC,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAO7C,OAAO,CAAC,eAAe;IAgBhB,WAAW,IAAI,IAAI;CAI3B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ACTRulesRunner = void 0;
|
|
4
|
+
const locale_1 = require("@qualweb/core/locale");
|
|
5
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
6
|
+
const ACTRulesTester_object_1 = require("./lib/ACTRulesTester.object");
|
|
7
|
+
class ACTRulesRunner extends evaluation_1.EvaluationModuleDefinition {
|
|
8
|
+
constructor(moduleOptions, translationOptions) {
|
|
9
|
+
const moduleType = evaluation_1.ModuleType.ACT_RULES;
|
|
10
|
+
const report = new evaluation_1.ModuleReport(moduleType);
|
|
11
|
+
const tester = new ACTRulesTester_object_1.ACTRulesTester(report);
|
|
12
|
+
super(moduleType, moduleOptions, translationOptions, report, tester);
|
|
13
|
+
this.translator = new locale_1.ModuleTranslator(this.type, this.translate);
|
|
14
|
+
this.tester.init(this.translator);
|
|
15
|
+
}
|
|
16
|
+
configure(options) {
|
|
17
|
+
super.configure(options || this.moduleOptions);
|
|
18
|
+
this.tester.configureCompositeRules();
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
test(data) {
|
|
22
|
+
const metaElements = this.getMetaElements(data.sourceHtml);
|
|
23
|
+
this.tester.validateMetaElements(metaElements);
|
|
24
|
+
this.tester.execute();
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
getMetaElements(sourceHtml) {
|
|
28
|
+
if (!sourceHtml) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
const parser = new DOMParser();
|
|
32
|
+
const sourceDoc = parser.parseFromString('', 'text/html');
|
|
33
|
+
sourceDoc.documentElement.innerHTML = sourceHtml;
|
|
34
|
+
const elements = sourceDoc.querySelectorAll('meta');
|
|
35
|
+
const metaElements = new Array();
|
|
36
|
+
elements.forEach((element) => metaElements.push(window.qwPage.createQWElement(element)));
|
|
37
|
+
return metaElements;
|
|
38
|
+
}
|
|
39
|
+
testSpecial() {
|
|
40
|
+
this.tester.validateZoomedTextNodeNotClippedWithCSSOverflow();
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.ACTRulesRunner = ACTRulesRunner;
|