@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.
Files changed (242) hide show
  1. package/README.md +38 -2
  2. package/dist/ACTRulesModule.d.ts +11 -0
  3. package/dist/ACTRulesModule.d.ts.map +1 -0
  4. package/dist/ACTRulesModule.js +65 -0
  5. package/dist/ACTRulesRunner.d.ts +14 -0
  6. package/dist/ACTRulesRunner.d.ts.map +1 -0
  7. package/dist/ACTRulesRunner.js +44 -0
  8. package/dist/__webpack/act.bundle.js +1 -0
  9. package/dist/index.d.ts +3 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +7 -0
  12. package/dist/lib/ACTRulesTester.object.d.ts +15 -0
  13. package/dist/lib/ACTRulesTester.object.d.ts.map +1 -0
  14. package/dist/lib/ACTRulesTester.object.js +150 -0
  15. package/dist/lib/AtomicRule.object.d.ts +7 -0
  16. package/dist/lib/AtomicRule.object.d.ts.map +1 -0
  17. package/dist/lib/AtomicRule.object.js +7 -0
  18. package/dist/lib/CompositeRule.object.d.ts +13 -0
  19. package/dist/lib/CompositeRule.object.d.ts.map +1 -0
  20. package/dist/lib/CompositeRule.object.js +80 -0
  21. package/dist/lib/Rule.object.d.ts +19 -0
  22. package/dist/lib/Rule.object.d.ts.map +1 -0
  23. package/dist/lib/Rule.object.js +76 -0
  24. package/dist/lib/mapping.d.ts +36 -0
  25. package/dist/lib/mapping.d.ts.map +1 -0
  26. package/dist/lib/mapping.js +38 -0
  27. package/dist/lib/mappingComposite.d.ts +39 -0
  28. package/dist/lib/mappingComposite.d.ts.map +1 -0
  29. package/dist/lib/mappingComposite.js +23 -0
  30. package/dist/lib/rules.json +1523 -0
  31. package/dist/lib/types.d.ts +15 -0
  32. package/dist/lib/types.d.ts.map +1 -0
  33. package/dist/lib/types.js +2 -0
  34. package/dist/rules/QW-ACT-R1.d.ts +7 -0
  35. package/dist/rules/QW-ACT-R1.d.ts.map +1 -0
  36. package/dist/rules/QW-ACT-R1.js +49 -0
  37. package/dist/rules/QW-ACT-R10.d.ts +8 -0
  38. package/dist/rules/QW-ACT-R10.d.ts.map +1 -0
  39. package/dist/rules/QW-ACT-R10.js +98 -0
  40. package/dist/rules/QW-ACT-R11.d.ts +7 -0
  41. package/dist/rules/QW-ACT-R11.d.ts.map +1 -0
  42. package/dist/rules/QW-ACT-R11.js +40 -0
  43. package/dist/rules/QW-ACT-R12.d.ts +7 -0
  44. package/dist/rules/QW-ACT-R12.d.ts.map +1 -0
  45. package/dist/rules/QW-ACT-R12.js +40 -0
  46. package/dist/rules/QW-ACT-R13.d.ts +9 -0
  47. package/dist/rules/QW-ACT-R13.d.ts.map +1 -0
  48. package/dist/rules/QW-ACT-R13.js +76 -0
  49. package/dist/rules/QW-ACT-R14.d.ts +7 -0
  50. package/dist/rules/QW-ACT-R14.d.ts.map +1 -0
  51. package/dist/rules/QW-ACT-R14.js +73 -0
  52. package/dist/rules/QW-ACT-R15.d.ts +6 -0
  53. package/dist/rules/QW-ACT-R15.d.ts.map +1 -0
  54. package/dist/rules/QW-ACT-R15.js +26 -0
  55. package/dist/rules/QW-ACT-R16.d.ts +7 -0
  56. package/dist/rules/QW-ACT-R16.d.ts.map +1 -0
  57. package/dist/rules/QW-ACT-R16.js +52 -0
  58. package/dist/rules/QW-ACT-R17.d.ts +7 -0
  59. package/dist/rules/QW-ACT-R17.d.ts.map +1 -0
  60. package/dist/rules/QW-ACT-R17.js +52 -0
  61. package/dist/rules/QW-ACT-R19.d.ts +7 -0
  62. package/dist/rules/QW-ACT-R19.d.ts.map +1 -0
  63. package/dist/rules/QW-ACT-R19.js +42 -0
  64. package/dist/rules/QW-ACT-R2.d.ts +7 -0
  65. package/dist/rules/QW-ACT-R2.d.ts.map +1 -0
  66. package/dist/rules/QW-ACT-R2.js +40 -0
  67. package/dist/rules/QW-ACT-R20.d.ts +7 -0
  68. package/dist/rules/QW-ACT-R20.d.ts.map +1 -0
  69. package/dist/rules/QW-ACT-R20.js +39 -0
  70. package/dist/rules/QW-ACT-R21.d.ts +8 -0
  71. package/dist/rules/QW-ACT-R21.d.ts.map +1 -0
  72. package/dist/rules/QW-ACT-R21.js +50 -0
  73. package/dist/rules/QW-ACT-R22.d.ts +9 -0
  74. package/dist/rules/QW-ACT-R22.d.ts.map +1 -0
  75. package/dist/rules/QW-ACT-R22.js +69 -0
  76. package/dist/rules/QW-ACT-R23.d.ts +6 -0
  77. package/dist/rules/QW-ACT-R23.d.ts.map +1 -0
  78. package/dist/rules/QW-ACT-R23.js +26 -0
  79. package/dist/rules/QW-ACT-R24.d.ts +12 -0
  80. package/dist/rules/QW-ACT-R24.d.ts.map +1 -0
  81. package/dist/rules/QW-ACT-R24.js +298 -0
  82. package/dist/rules/QW-ACT-R25.d.ts +7 -0
  83. package/dist/rules/QW-ACT-R25.d.ts.map +1 -0
  84. package/dist/rules/QW-ACT-R25.js +67 -0
  85. package/dist/rules/QW-ACT-R26.d.ts +6 -0
  86. package/dist/rules/QW-ACT-R26.d.ts.map +1 -0
  87. package/dist/rules/QW-ACT-R26.js +26 -0
  88. package/dist/rules/QW-ACT-R27.d.ts +7 -0
  89. package/dist/rules/QW-ACT-R27.d.ts.map +1 -0
  90. package/dist/rules/QW-ACT-R27.js +55 -0
  91. package/dist/rules/QW-ACT-R28.d.ts +7 -0
  92. package/dist/rules/QW-ACT-R28.d.ts.map +1 -0
  93. package/dist/rules/QW-ACT-R28.js +83 -0
  94. package/dist/rules/QW-ACT-R29.d.ts +6 -0
  95. package/dist/rules/QW-ACT-R29.d.ts.map +1 -0
  96. package/dist/rules/QW-ACT-R29.js +26 -0
  97. package/dist/rules/QW-ACT-R30.d.ts +9 -0
  98. package/dist/rules/QW-ACT-R30.d.ts.map +1 -0
  99. package/dist/rules/QW-ACT-R30.js +69 -0
  100. package/dist/rules/QW-ACT-R31.d.ts +6 -0
  101. package/dist/rules/QW-ACT-R31.d.ts.map +1 -0
  102. package/dist/rules/QW-ACT-R31.js +26 -0
  103. package/dist/rules/QW-ACT-R32.d.ts +6 -0
  104. package/dist/rules/QW-ACT-R32.d.ts.map +1 -0
  105. package/dist/rules/QW-ACT-R32.js +26 -0
  106. package/dist/rules/QW-ACT-R33.d.ts +8 -0
  107. package/dist/rules/QW-ACT-R33.d.ts.map +1 -0
  108. package/dist/rules/QW-ACT-R33.js +89 -0
  109. package/dist/rules/QW-ACT-R34.d.ts +7 -0
  110. package/dist/rules/QW-ACT-R34.d.ts.map +1 -0
  111. package/dist/rules/QW-ACT-R34.js +112 -0
  112. package/dist/rules/QW-ACT-R35.d.ts +7 -0
  113. package/dist/rules/QW-ACT-R35.d.ts.map +1 -0
  114. package/dist/rules/QW-ACT-R35.js +40 -0
  115. package/dist/rules/QW-ACT-R36.d.ts +7 -0
  116. package/dist/rules/QW-ACT-R36.d.ts.map +1 -0
  117. package/dist/rules/QW-ACT-R36.js +108 -0
  118. package/dist/rules/QW-ACT-R37.d.ts +23 -0
  119. package/dist/rules/QW-ACT-R37.d.ts.map +1 -0
  120. package/dist/rules/QW-ACT-R37.js +358 -0
  121. package/dist/rules/QW-ACT-R38.d.ts +9 -0
  122. package/dist/rules/QW-ACT-R38.d.ts.map +1 -0
  123. package/dist/rules/QW-ACT-R38.js +100 -0
  124. package/dist/rules/QW-ACT-R39.d.ts +8 -0
  125. package/dist/rules/QW-ACT-R39.d.ts.map +1 -0
  126. package/dist/rules/QW-ACT-R39.js +155 -0
  127. package/dist/rules/QW-ACT-R4.d.ts +8 -0
  128. package/dist/rules/QW-ACT-R4.d.ts.map +1 -0
  129. package/dist/rules/QW-ACT-R4.js +85 -0
  130. package/dist/rules/QW-ACT-R40.d.ts +7 -0
  131. package/dist/rules/QW-ACT-R40.d.ts.map +1 -0
  132. package/dist/rules/QW-ACT-R40.js +58 -0
  133. package/dist/rules/QW-ACT-R41.d.ts +7 -0
  134. package/dist/rules/QW-ACT-R41.d.ts.map +1 -0
  135. package/dist/rules/QW-ACT-R41.js +42 -0
  136. package/dist/rules/QW-ACT-R42.d.ts +7 -0
  137. package/dist/rules/QW-ACT-R42.d.ts.map +1 -0
  138. package/dist/rules/QW-ACT-R42.js +40 -0
  139. package/dist/rules/QW-ACT-R43.d.ts +8 -0
  140. package/dist/rules/QW-ACT-R43.d.ts.map +1 -0
  141. package/dist/rules/QW-ACT-R43.js +98 -0
  142. package/dist/rules/QW-ACT-R44.d.ts +8 -0
  143. package/dist/rules/QW-ACT-R44.d.ts.map +1 -0
  144. package/dist/rules/QW-ACT-R44.js +92 -0
  145. package/dist/rules/QW-ACT-R48.d.ts +7 -0
  146. package/dist/rules/QW-ACT-R48.d.ts.map +1 -0
  147. package/dist/rules/QW-ACT-R48.js +38 -0
  148. package/dist/rules/QW-ACT-R49.d.ts +8 -0
  149. package/dist/rules/QW-ACT-R49.d.ts.map +1 -0
  150. package/dist/rules/QW-ACT-R49.js +81 -0
  151. package/dist/rules/QW-ACT-R5.d.ts +8 -0
  152. package/dist/rules/QW-ACT-R5.d.ts.map +1 -0
  153. package/dist/rules/QW-ACT-R5.js +44 -0
  154. package/dist/rules/QW-ACT-R50.d.ts +8 -0
  155. package/dist/rules/QW-ACT-R50.d.ts.map +1 -0
  156. package/dist/rules/QW-ACT-R50.js +72 -0
  157. package/dist/rules/QW-ACT-R51.d.ts +7 -0
  158. package/dist/rules/QW-ACT-R51.d.ts.map +1 -0
  159. package/dist/rules/QW-ACT-R51.js +41 -0
  160. package/dist/rules/QW-ACT-R53.d.ts +7 -0
  161. package/dist/rules/QW-ACT-R53.d.ts.map +1 -0
  162. package/dist/rules/QW-ACT-R53.js +41 -0
  163. package/dist/rules/QW-ACT-R54.d.ts +7 -0
  164. package/dist/rules/QW-ACT-R54.d.ts.map +1 -0
  165. package/dist/rules/QW-ACT-R54.js +41 -0
  166. package/dist/rules/QW-ACT-R55.d.ts +7 -0
  167. package/dist/rules/QW-ACT-R55.d.ts.map +1 -0
  168. package/dist/rules/QW-ACT-R55.js +41 -0
  169. package/dist/rules/QW-ACT-R56.d.ts +7 -0
  170. package/dist/rules/QW-ACT-R56.d.ts.map +1 -0
  171. package/dist/rules/QW-ACT-R56.js +41 -0
  172. package/dist/rules/QW-ACT-R58.d.ts +7 -0
  173. package/dist/rules/QW-ACT-R58.d.ts.map +1 -0
  174. package/dist/rules/QW-ACT-R58.js +33 -0
  175. package/dist/rules/QW-ACT-R59.d.ts +7 -0
  176. package/dist/rules/QW-ACT-R59.d.ts.map +1 -0
  177. package/dist/rules/QW-ACT-R59.js +33 -0
  178. package/dist/rules/QW-ACT-R6.d.ts +7 -0
  179. package/dist/rules/QW-ACT-R6.d.ts.map +1 -0
  180. package/dist/rules/QW-ACT-R6.js +40 -0
  181. package/dist/rules/QW-ACT-R60.d.ts +7 -0
  182. package/dist/rules/QW-ACT-R60.d.ts.map +1 -0
  183. package/dist/rules/QW-ACT-R60.js +41 -0
  184. package/dist/rules/QW-ACT-R61.d.ts +7 -0
  185. package/dist/rules/QW-ACT-R61.d.ts.map +1 -0
  186. package/dist/rules/QW-ACT-R61.js +41 -0
  187. package/dist/rules/QW-ACT-R62.d.ts +7 -0
  188. package/dist/rules/QW-ACT-R62.d.ts.map +1 -0
  189. package/dist/rules/QW-ACT-R62.js +37 -0
  190. package/dist/rules/QW-ACT-R63.d.ts +8 -0
  191. package/dist/rules/QW-ACT-R63.d.ts.map +1 -0
  192. package/dist/rules/QW-ACT-R63.js +60 -0
  193. package/dist/rules/QW-ACT-R64.d.ts +8 -0
  194. package/dist/rules/QW-ACT-R64.d.ts.map +1 -0
  195. package/dist/rules/QW-ACT-R64.js +60 -0
  196. package/dist/rules/QW-ACT-R65.d.ts +7 -0
  197. package/dist/rules/QW-ACT-R65.d.ts.map +1 -0
  198. package/dist/rules/QW-ACT-R65.js +58 -0
  199. package/dist/rules/QW-ACT-R66.d.ts +7 -0
  200. package/dist/rules/QW-ACT-R66.d.ts.map +1 -0
  201. package/dist/rules/QW-ACT-R66.js +40 -0
  202. package/dist/rules/QW-ACT-R67.d.ts +12 -0
  203. package/dist/rules/QW-ACT-R67.d.ts.map +1 -0
  204. package/dist/rules/QW-ACT-R67.js +94 -0
  205. package/dist/rules/QW-ACT-R68.d.ts +14 -0
  206. package/dist/rules/QW-ACT-R68.d.ts.map +1 -0
  207. package/dist/rules/QW-ACT-R68.js +117 -0
  208. package/dist/rules/QW-ACT-R69.d.ts +12 -0
  209. package/dist/rules/QW-ACT-R69.d.ts.map +1 -0
  210. package/dist/rules/QW-ACT-R69.js +94 -0
  211. package/dist/rules/QW-ACT-R7.d.ts +14 -0
  212. package/dist/rules/QW-ACT-R7.d.ts.map +1 -0
  213. package/dist/rules/QW-ACT-R7.js +167 -0
  214. package/dist/rules/QW-ACT-R70.d.ts +7 -0
  215. package/dist/rules/QW-ACT-R70.d.ts.map +1 -0
  216. package/dist/rules/QW-ACT-R70.js +52 -0
  217. package/dist/rules/QW-ACT-R71.d.ts +8 -0
  218. package/dist/rules/QW-ACT-R71.d.ts.map +1 -0
  219. package/dist/rules/QW-ACT-R71.js +81 -0
  220. package/dist/rules/QW-ACT-R73.d.ts +8 -0
  221. package/dist/rules/QW-ACT-R73.d.ts.map +1 -0
  222. package/dist/rules/QW-ACT-R73.js +60 -0
  223. package/dist/rules/QW-ACT-R74.d.ts +8 -0
  224. package/dist/rules/QW-ACT-R74.d.ts.map +1 -0
  225. package/dist/rules/QW-ACT-R74.js +80 -0
  226. package/dist/rules/QW-ACT-R75.d.ts +6 -0
  227. package/dist/rules/QW-ACT-R75.d.ts.map +1 -0
  228. package/dist/rules/QW-ACT-R75.js +27 -0
  229. package/dist/rules/QW-ACT-R76.d.ts +23 -0
  230. package/dist/rules/QW-ACT-R76.d.ts.map +1 -0
  231. package/dist/rules/QW-ACT-R76.js +336 -0
  232. package/dist/rules/QW-ACT-R77.d.ts +7 -0
  233. package/dist/rules/QW-ACT-R77.d.ts.map +1 -0
  234. package/dist/rules/QW-ACT-R77.js +53 -0
  235. package/dist/rules/QW-ACT-R9.d.ts +7 -0
  236. package/dist/rules/QW-ACT-R9.d.ts.map +1 -0
  237. package/dist/rules/QW-ACT-R9.js +87 -0
  238. package/dist/rules/index.d.ts +69 -0
  239. package/dist/rules/index.d.ts.map +1 -0
  240. package/dist/rules/index.js +84 -0
  241. package/package.json +23 -18
  242. 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
- **This is an internal module of QualWeb. To use it check either [@qualweb/cli](https://github.com/qualweb/cli) or [@qualweb/core](https://github.com/qualweb/core). You can also perform evaluations at [http://qualweb.di.fc.ul.pt/evaluator/](http://qualweb.di.fc.ul.pt/evaluator/), or by installing the [chrome extension](https://chrome.google.com/webstore/detail/qualweb-extension/ljgilomdnehokancdcbkmbndkkiggioc).**
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;