testaro 1.0.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 (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +502 -0
  3. package/aceconfig.js +7 -0
  4. package/commands.js +249 -0
  5. package/index.js +1248 -0
  6. package/package.json +39 -0
  7. package/procs/score/asp09.js +555 -0
  8. package/procs/test/allText.js +76 -0
  9. package/procs/test/allVis.js +17 -0
  10. package/procs/test/linksByType.js +90 -0
  11. package/procs/test/textOf.txt +73 -0
  12. package/scoring/correlation.js +74 -0
  13. package/scoring/correlations.json +327 -0
  14. package/scoring/data.json +26021 -0
  15. package/scoring/dupCounts.js +39 -0
  16. package/scoring/dupCounts.json +112 -0
  17. package/scoring/duplications.json +253 -0
  18. package/scoring/issues.json +304 -0
  19. package/scoring/packageData.js +171 -0
  20. package/scoring/packageIssues.js +34 -0
  21. package/scoring/rulesetData.json +15 -0
  22. package/tests/aatt.js +64 -0
  23. package/tests/alfa.js +107 -0
  24. package/tests/axe.js +109 -0
  25. package/tests/bulk.js +21 -0
  26. package/tests/embAc.js +36 -0
  27. package/tests/focAll.js +62 -0
  28. package/tests/focInd.js +99 -0
  29. package/tests/focOp.js +132 -0
  30. package/tests/hover.js +195 -0
  31. package/tests/ibm.js +89 -0
  32. package/tests/labClash.js +157 -0
  33. package/tests/linkUl.js +65 -0
  34. package/tests/menuNav.js +254 -0
  35. package/tests/motion.js +115 -0
  36. package/tests/radioSet.js +87 -0
  37. package/tests/role.js +164 -0
  38. package/tests/styleDiff.js +146 -0
  39. package/tests/tabNav.js +282 -0
  40. package/tests/wave.js +44 -0
  41. package/tests/zIndex.js +49 -0
  42. package/validation/batches/sample.json +13 -0
  43. package/validation/executors/sample.js +11 -0
  44. package/validation/scripts/app/sample.json +21 -0
  45. package/validation/scripts/test/bulk.json +39 -0
  46. package/validation/scripts/test/embAc.json +45 -0
  47. package/validation/scripts/test/focAll.json +59 -0
  48. package/validation/scripts/test/focInd.json +55 -0
  49. package/validation/scripts/test/focOp.json +53 -0
  50. package/validation/scripts/test/hover.json +47 -0
  51. package/validation/scripts/test/labClash.json +43 -0
  52. package/validation/scripts/test/linkUl.json +62 -0
  53. package/validation/scripts/test/menuNav.json +97 -0
  54. package/validation/scripts/test/motion.json +53 -0
  55. package/validation/scripts/test/radioSet.json +43 -0
  56. package/validation/scripts/test/role.json +42 -0
  57. package/validation/scripts/test/styleDiff.json +61 -0
  58. package/validation/scripts/test/tabNav.json +97 -0
  59. package/validation/scripts/test/zIndex.json +40 -0
  60. package/validation/targets/bulk/bad.html +48 -0
  61. package/validation/targets/bulk/good.html +15 -0
  62. package/validation/targets/embAc/bad.html +21 -0
  63. package/validation/targets/embAc/good.html +15 -0
  64. package/validation/targets/focAll/good.html +15 -0
  65. package/validation/targets/focAll/less.html +15 -0
  66. package/validation/targets/focAll/more.html +16 -0
  67. package/validation/targets/focInd/bad.html +31 -0
  68. package/validation/targets/focInd/good.html +22 -0
  69. package/validation/targets/focOp/bad.html +18 -0
  70. package/validation/targets/focOp/good.html +15 -0
  71. package/validation/targets/hover/bad.html +19 -0
  72. package/validation/targets/hover/good.html +15 -0
  73. package/validation/targets/labClash/bad.html +20 -0
  74. package/validation/targets/labClash/good.html +18 -0
  75. package/validation/targets/linkUl/bad.html +16 -0
  76. package/validation/targets/linkUl/good.html +30 -0
  77. package/validation/targets/linkUl/na.html +20 -0
  78. package/validation/targets/menuNav/bad.html +106 -0
  79. package/validation/targets/menuNav/bad.js +348 -0
  80. package/validation/targets/menuNav/good.html +106 -0
  81. package/validation/targets/menuNav/good.js +365 -0
  82. package/validation/targets/menuNav/style.css +22 -0
  83. package/validation/targets/motion/bad.css +15 -0
  84. package/validation/targets/motion/bad.html +16 -0
  85. package/validation/targets/motion/good.html +15 -0
  86. package/validation/targets/radioSet/bad.html +34 -0
  87. package/validation/targets/radioSet/good.html +27 -0
  88. package/validation/targets/role/bad.html +26 -0
  89. package/validation/targets/role/good.html +22 -0
  90. package/validation/targets/styleDiff/bad.html +35 -0
  91. package/validation/targets/styleDiff/good.html +36 -0
  92. package/validation/targets/tabNav/bad.html +51 -0
  93. package/validation/targets/tabNav/bad.js +35 -0
  94. package/validation/targets/tabNav/good.html +53 -0
  95. package/validation/targets/tabNav/good.js +83 -0
  96. package/validation/targets/tabNav/goodMoz.js +206 -0
  97. package/validation/targets/tabNav/style.css +34 -0
  98. package/validation/targets/zIndex/bad.html +17 -0
  99. package/validation/targets/zIndex/good.html +15 -0
@@ -0,0 +1,59 @@
1
+ {
2
+ "what": "validation of focAll test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/focAll/good.html",
13
+ "what": "fully Tab-focusable page"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "focAll",
18
+ "what": "Tab-focusability",
19
+ "withItems": false,
20
+ "expect": [
21
+ ["tabFocusables", "=", 3],
22
+ ["tabFocused", "=", 3],
23
+ ["discrepancy", "=", 0]
24
+ ]
25
+ },
26
+ {
27
+ "type": "url",
28
+ "which": "file://__dirname/validation/targets/focAll/less.html",
29
+ "what": "partly Tab-focusable page"
30
+ },
31
+ {
32
+ "type": "test",
33
+ "which": "focAll",
34
+ "what": "Tab-focusability",
35
+ "withItems": false,
36
+ "expect": [
37
+ ["tabFocusables", "=", 3],
38
+ ["tabFocused", "=", 2],
39
+ ["discrepancy", "=", -1]
40
+ ]
41
+ },
42
+ {
43
+ "type": "url",
44
+ "which": "file://__dirname/validation/targets/focAll/more.html",
45
+ "what": "page with added Tab-focusability"
46
+ },
47
+ {
48
+ "type": "test",
49
+ "which": "focAll",
50
+ "what": "Tab-focusability",
51
+ "withItems": false,
52
+ "expect": [
53
+ ["tabFocusables", "=", 3],
54
+ ["tabFocused", "=", 5],
55
+ ["discrepancy", "=", 2]
56
+ ]
57
+ }
58
+ ]
59
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "what": "validation of focInd test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/focInd/good.html",
13
+ "what": "page with outline focus indication"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "focInd",
18
+ "what": "focus indication",
19
+ "withItems": false,
20
+ "revealAll": false,
21
+ "expect": [
22
+ ["totals.total", "=", 4],
23
+ ["totals.types.indicatorMissing.total", "=", 0],
24
+ ["totals.types.nonOutlinePresent.total", "=", 0],
25
+ ["totals.types.outlinePresent.total", "=", 4],
26
+ ["totals.types.outlinePresent.tagNames.A", "=", 1],
27
+ ["totals.types.outlinePresent.tagNames.BUTTON", "=", 1],
28
+ ["totals.types.outlinePresent.tagNames.INPUT", "=", 2]
29
+ ]
30
+ },
31
+ {
32
+ "type": "url",
33
+ "which": "file://__dirname/validation/targets/focInd/bad.html",
34
+ "what": "page with mixed focus indication"
35
+ },
36
+ {
37
+ "type": "test",
38
+ "which": "focInd",
39
+ "what": "focus indication",
40
+ "withItems": false,
41
+ "revealAll": false,
42
+ "expect": [
43
+ ["totals.total", "=", 5],
44
+ ["totals.types.indicatorMissing.total", "=", 1],
45
+ ["totals.types.indicatorMissing.tagNames.INPUT", "=", 1],
46
+ ["totals.types.nonOutlinePresent.total", "=", 1],
47
+ ["totals.types.nonOutlinePresent.tagNames.BUTTON", "=", 1],
48
+ ["totals.types.outlinePresent.total", "=", 3],
49
+ ["totals.types.outlinePresent.tagNames.A", "=", 1],
50
+ ["totals.types.outlinePresent.tagNames.BUTTON", "=", 1],
51
+ ["totals.types.outlinePresent.tagNames.INPUT", "=", 1]
52
+ ]
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "what": "tests of focOp test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/focOp/good.html",
13
+ "what": "page with standard focusability and operability"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "focOp",
18
+ "what": "focusability and operability",
19
+ "withItems": false,
20
+ "expect": [
21
+ ["totals.total", "=", 3],
22
+ ["totals.types.onlyFocusable.total", "=", 0],
23
+ ["totals.types.onlyOperable.total", "=", 0],
24
+ ["totals.types.focusableAndOperable.total", "=", 3],
25
+ ["totals.types.focusableAndOperable.tagNames.A", "=", 1],
26
+ ["totals.types.focusableAndOperable.tagNames.BUTTON", "=", 1],
27
+ ["totals.types.focusableAndOperable.tagNames.INPUT", "=", 1]
28
+ ]
29
+ },
30
+ {
31
+ "type": "url",
32
+ "which": "file://__dirname/validation/targets/focOp/bad.html",
33
+ "what": "page with deviant focusability and operability"
34
+ },
35
+ {
36
+ "type": "test",
37
+ "which": "focOp",
38
+ "what": "focusability and operability",
39
+ "withItems": false,
40
+ "expect": [
41
+ ["totals.total", "=", 6],
42
+ ["totals.types.onlyFocusable.total", "=", 1],
43
+ ["totals.types.onlyFocusable.tagNames.SPAN", "=", 1],
44
+ ["totals.types.onlyOperable.total", "=", 3],
45
+ ["totals.types.onlyOperable.tagNames.BUTTON", "=", 1],
46
+ ["totals.types.onlyOperable.tagNames.SPAN", "=", 2],
47
+ ["totals.types.focusableAndOperable.total", "=", 2],
48
+ ["totals.types.focusableAndOperable.tagNames.A", "=", 1],
49
+ ["totals.types.focusableAndOperable.tagNames.INPUT", "=", 1]
50
+ ]
51
+ }
52
+ ]
53
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "what": "validation of hover test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/hover/good.html",
13
+ "what": "page with standard hover behavior"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "hover",
18
+ "what": "hover",
19
+ "withItems": false,
20
+ "expect": [
21
+ ["totals.triggers", "=", 0],
22
+ ["totals.madeVisible", "=", 0],
23
+ ["totals.opacityChanged", "=", 0],
24
+ ["totals.opacityAffected", "=", 0],
25
+ ["totals.unhoverables", "=", 0]
26
+ ]
27
+ },
28
+ {
29
+ "type": "url",
30
+ "which": "file://__dirname/validation/targets/hover/bad.html",
31
+ "what": "page with deviant hover behavior"
32
+ },
33
+ {
34
+ "type": "test",
35
+ "which": "hover",
36
+ "what": "hover",
37
+ "withItems": false,
38
+ "expect": [
39
+ ["totals.triggers", "=", 2],
40
+ ["totals.madeVisible", "=", 2],
41
+ ["totals.opacityChanged", "=", 1],
42
+ ["totals.opacityAffected", "=", 2],
43
+ ["totals.unhoverables", "=", 1]
44
+ ]
45
+ }
46
+ ]
47
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "what": "validation of labClash test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/labClash/good.html",
13
+ "what": "page with standard labeling"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "labClash",
18
+ "what": "Labeling",
19
+ "withItems": false,
20
+ "expect": [
21
+ ["totals.mislabeled", "=", 0],
22
+ ["totals.unlabeled", "=", 0],
23
+ ["totals.wellLabeled", "=", 6]
24
+ ]
25
+ },
26
+ {
27
+ "type": "url",
28
+ "which": "file://__dirname/validation/targets/labClash/bad.html",
29
+ "what": "page with deviant labeling"
30
+ },
31
+ {
32
+ "type": "test",
33
+ "which": "labClash",
34
+ "what": "Labeling",
35
+ "withItems": false,
36
+ "expect": [
37
+ ["totals.mislabeled", "=", 3],
38
+ ["totals.unlabeled", "=", 2],
39
+ ["totals.wellLabeled", "=", 0]
40
+ ]
41
+ }
42
+ ]
43
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "what": "validation of linkUl test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/linkUl/good.html",
13
+ "what": "page with underlined inline links"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "linkUl",
18
+ "what": "link underlining",
19
+ "withItems": false,
20
+ "expect": [
21
+ ["totals.links", "=", 6],
22
+ ["totals.inline.total", "=", 2],
23
+ ["totals.inline.underlined", "=", 2],
24
+ ["totals.inline.underlinedPercent", "=", 100]
25
+ ]
26
+ },
27
+ {
28
+ "type": "url",
29
+ "which": "file://__dirname/validation/targets/linkUl/bad.html",
30
+ "what": "page without underlined inline links"
31
+ },
32
+ {
33
+ "type": "test",
34
+ "which": "linkUl",
35
+ "what": "link underlining",
36
+ "withItems": false,
37
+ "expect": [
38
+ ["totals.links", "=", 2],
39
+ ["totals.inline.total", "=", 2],
40
+ ["totals.inline.underlined", "=", 0],
41
+ ["totals.inline.underlinedPercent", "=", 0]
42
+ ]
43
+ },
44
+ {
45
+ "type": "url",
46
+ "which": "file://__dirname/validation/targets/linkUl/na.html",
47
+ "what": "page without inline links"
48
+ },
49
+ {
50
+ "type": "test",
51
+ "which": "linkUl",
52
+ "what": "link underlining",
53
+ "withItems": false,
54
+ "expect": [
55
+ ["totals.links", "=", 2],
56
+ ["totals.inline.total", "=", 0],
57
+ ["totals.inline.underlined", "=", 0],
58
+ ["totals.inline.underlinedPercent", "=", "N/A"]
59
+ ]
60
+ }
61
+ ]
62
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "what": "validation of menuNav test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/menuNav/good.html",
13
+ "what": "page with standard menu navigation"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "menuNav",
18
+ "what": "menu navigation",
19
+ "withItems": false,
20
+ "expect": [
21
+ ["totals.navigations.all.total", "=", 20],
22
+ ["totals.navigations.all.correct", "=", 20],
23
+ ["totals.navigations.all.incorrect", "=", 0],
24
+ ["totals.navigations.specific.tab.total", "=", 4],
25
+ ["totals.navigations.specific.tab.correct", "=", 4],
26
+ ["totals.navigations.specific.tab.incorrect", "=", 0],
27
+ ["totals.navigations.specific.left.total", "=", 2],
28
+ ["totals.navigations.specific.left.correct", "=", 2],
29
+ ["totals.navigations.specific.left.incorrect", "=", 0],
30
+ ["totals.navigations.specific.right.total", "=", 2],
31
+ ["totals.navigations.specific.right.correct", "=", 2],
32
+ ["totals.navigations.specific.right.incorrect", "=", 0],
33
+ ["totals.navigations.specific.up.total", "=", 2],
34
+ ["totals.navigations.specific.up.correct", "=", 2],
35
+ ["totals.navigations.specific.up.incorrect", "=", 0],
36
+ ["totals.navigations.specific.down.total", "=", 2],
37
+ ["totals.navigations.specific.down.correct", "=", 2],
38
+ ["totals.navigations.specific.down.incorrect", "=", 0],
39
+ ["totals.navigations.specific.home.total", "=", 4],
40
+ ["totals.navigations.specific.home.correct", "=", 4],
41
+ ["totals.navigations.specific.home.incorrect", "=", 0],
42
+ ["totals.navigations.specific.end.total", "=", 4],
43
+ ["totals.navigations.specific.end.correct", "=", 4],
44
+ ["totals.navigations.specific.end.incorrect", "=", 0],
45
+ ["totals.menuItems.total", "=", 4],
46
+ ["totals.menuItems.correct", "=", 4],
47
+ ["totals.menuItems.incorrect", "=", 0],
48
+ ["totals.menus.total", "=", 2],
49
+ ["totals.menus.correct", "=", 2],
50
+ ["totals.menus.incorrect", "=", 0]
51
+ ]
52
+ },
53
+ {
54
+ "type": "url",
55
+ "which": "file://__dirname/validation/targets/menuNav/bad.html",
56
+ "what": "page with deviant menu navigation"
57
+ },
58
+ {
59
+ "type": "test",
60
+ "which": "menuNav",
61
+ "what": "menu navigation",
62
+ "withItems": false,
63
+ "expect": [
64
+ ["totals.navigations.all.total", "=", 20],
65
+ ["totals.navigations.all.correct", "=", 12],
66
+ ["totals.navigations.all.incorrect", "=", 8],
67
+ ["totals.navigations.specific.tab.total", "=", 4],
68
+ ["totals.navigations.specific.tab.correct", "=", 4],
69
+ ["totals.navigations.specific.tab.incorrect", "=", 0],
70
+ ["totals.navigations.specific.left.total", "=", 2],
71
+ ["totals.navigations.specific.left.correct", "=", 1],
72
+ ["totals.navigations.specific.left.incorrect", "=", 1],
73
+ ["totals.navigations.specific.right.total", "=", 2],
74
+ ["totals.navigations.specific.right.correct", "=", 1],
75
+ ["totals.navigations.specific.right.incorrect", "=", 1],
76
+ ["totals.navigations.specific.up.total", "=", 2],
77
+ ["totals.navigations.specific.up.correct", "=", 1],
78
+ ["totals.navigations.specific.up.incorrect", "=", 1],
79
+ ["totals.navigations.specific.down.total", "=", 2],
80
+ ["totals.navigations.specific.down.correct", "=", 1],
81
+ ["totals.navigations.specific.down.incorrect", "=", 1],
82
+ ["totals.navigations.specific.home.total", "=", 4],
83
+ ["totals.navigations.specific.home.correct", "=", 2],
84
+ ["totals.navigations.specific.home.incorrect", "=", 2],
85
+ ["totals.navigations.specific.end.total", "=", 4],
86
+ ["totals.navigations.specific.end.correct", "=", 2],
87
+ ["totals.navigations.specific.end.incorrect", "=", 2],
88
+ ["totals.menuItems.total", "=", 4],
89
+ ["totals.menuItems.correct", "=", 0],
90
+ ["totals.menuItems.incorrect", "=", 4],
91
+ ["totals.menus.total", "=", 2],
92
+ ["totals.menus.correct", "=", 0],
93
+ ["totals.menus.incorrect", "=", 2]
94
+ ]
95
+ }
96
+ ]
97
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "what": "validation of motion test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "webkit",
8
+ "what": "used for tests on which chromium fails on some URLs"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/motion/good.html",
13
+ "what": "page without motion"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "motion",
18
+ "what": "spontaneous change of content",
19
+ "delay": 2400,
20
+ "interval": 2600,
21
+ "count": 5,
22
+ "expect": [
23
+ ["meanLocalRatio", "=", 1],
24
+ ["maxLocalRatio", "=", 1],
25
+ ["globalRatio", "=", 1],
26
+ ["meanPixelChange", "=", 0],
27
+ ["maxPixelChange", "=", 0],
28
+ ["changeFrequency", "=", 0]
29
+ ]
30
+ },
31
+ {
32
+ "type": "url",
33
+ "which": "file://__dirname/validation/targets/motion/bad.html",
34
+ "what": "page with motion"
35
+ },
36
+ {
37
+ "type": "test",
38
+ "which": "motion",
39
+ "what": "spontaneous change of content",
40
+ "delay": 2400,
41
+ "interval": 2600,
42
+ "count": 5,
43
+ "expect": [
44
+ ["meanLocalRatio", ">", 1],
45
+ ["maxLocalRatio", ">", 1],
46
+ ["globalRatio", ">", 1],
47
+ ["meanPixelChange", ">", 0],
48
+ ["maxPixelChange", ">", 0],
49
+ ["changeFrequency", ">", 0]
50
+ ]
51
+ }
52
+ ]
53
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "what": "validation of radioSet test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/radioSet/good.html",
13
+ "what": "page with standard radio-button grouping"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "radioSet",
18
+ "what": "radioSet",
19
+ "withItems": false,
20
+ "expect": [
21
+ ["totals.total", "=", 4],
22
+ ["totals.inSet", "=", 4],
23
+ ["totals.percent", "=", 100]
24
+ ]
25
+ },
26
+ {
27
+ "type": "url",
28
+ "which": "file://__dirname/validation/targets/radioSet/bad.html",
29
+ "what": "page with deviant radio-button grouping"
30
+ },
31
+ {
32
+ "type": "test",
33
+ "which": "radioSet",
34
+ "what": "radioSet",
35
+ "withItems": false,
36
+ "expect": [
37
+ ["totals.total", "=", 8],
38
+ ["totals.inSet", "=", 0],
39
+ ["totals.percent", "=", 0]
40
+ ]
41
+ }
42
+ ]
43
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "what": "validation of role test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/role/good.html",
13
+ "what": "page with standard roles"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "role",
18
+ "what": "role",
19
+ "expect": [
20
+ ["roleElements", "=", 1],
21
+ ["badRoleElements", "=", 0]
22
+ ]
23
+ },
24
+ {
25
+ "type": "url",
26
+ "which": "file://__dirname/validation/targets/role/bad.html",
27
+ "what": "page with deviant roles"
28
+ },
29
+ {
30
+ "type": "test",
31
+ "which": "role",
32
+ "what": "role",
33
+ "expect": [
34
+ ["roleElements", "=", 3],
35
+ ["badRoleElements", "=", 3],
36
+ ["tagNames.SECTION.main", "=", 1],
37
+ ["tagNames.SECTION.section", "=", 1],
38
+ ["tagNames.H2.heading", "=", 1]
39
+ ]
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "what": "validation of styleDiff test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "file://__dirname/validation/targets/styleDiff/good.html",
13
+ "what": "page with consistent styles"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "styleDiff",
18
+ "what": "styleDiff",
19
+ "withItems": false,
20
+ "expect": [
21
+ ["totals.aInline.total", "=", 2],
22
+ ["totals.aBlock.total", "=", 2],
23
+ ["totals.button.total", "=", 2],
24
+ ["totals.h1.total", "=", 1],
25
+ ["totals.h2.total", "=", 4],
26
+ ["totals.aInline.subtotals"],
27
+ ["totals.aBlock.subtotals"],
28
+ ["totals.button.subtotals"],
29
+ ["totals.h1.subtotals"],
30
+ ["totals.h2.subtotals"]
31
+ ]
32
+ },
33
+ {
34
+ "type": "url",
35
+ "which": "file://__dirname/validation/targets/styleDiff/bad.html",
36
+ "what": "page with consistent styles"
37
+ },
38
+ {
39
+ "type": "test",
40
+ "which": "styleDiff",
41
+ "what": "styleDiff",
42
+ "withItems": false,
43
+ "expect": [
44
+ ["totals.aInline.total", "=", 2],
45
+ ["totals.aBlock.total", "=", 2],
46
+ ["totals.button.total", "=", 2],
47
+ ["totals.h1.total", "=", 1],
48
+ ["totals.h2.total", "=", 4],
49
+ ["totals.aInline.subtotals.0", "=", 1],
50
+ ["totals.aInline.subtotals.1", "=", 1],
51
+ ["totals.aBlock.subtotals.0", "=", 1],
52
+ ["totals.aBlock.subtotals.1", "=", 1],
53
+ ["totals.button.subtotals.0", "=", 1],
54
+ ["totals.button.subtotals.1", "=", 1],
55
+ ["totals.h1.subtotals"],
56
+ ["totals.h2.subtotals.0", "=", 3],
57
+ ["totals.h2.subtotals.1", "=", 1]
58
+ ]
59
+ }
60
+ ]
61
+ }