@markuplint/rules 3.12.0 → 4.0.0-alpha.1

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 (142) hide show
  1. package/lib/attr-check.js +14 -19
  2. package/lib/attr-duplication/index.js +3 -6
  3. package/lib/attr-value-quotes/index.js +5 -9
  4. package/lib/case-sensitive-attr-name/index.js +9 -13
  5. package/lib/case-sensitive-tag-name/index.js +2 -4
  6. package/lib/character-reference/index.js +6 -8
  7. package/lib/class-naming/index.js +9 -11
  8. package/lib/create-message.js +9 -16
  9. package/lib/debug.js +2 -6
  10. package/lib/deprecated-attr/index.js +6 -9
  11. package/lib/deprecated-element/index.js +3 -5
  12. package/lib/disallowed-element/index.js +2 -4
  13. package/lib/doctype/index.js +2 -4
  14. package/lib/end-tag/index.js +5 -8
  15. package/lib/helpers.d.ts +1 -1
  16. package/lib/helpers.js +17 -28
  17. package/lib/id-duplication/index.js +2 -4
  18. package/lib/index.d.ts +15 -15
  19. package/lib/index.js +63 -66
  20. package/lib/ineffective-attr/index.js +5 -7
  21. package/lib/invalid-attr/index.js +30 -33
  22. package/lib/label-has-control/index.js +2 -4
  23. package/lib/landmark-roles/index.js +3 -6
  24. package/lib/no-boolean-attr-value/index.js +6 -9
  25. package/lib/no-default-value/index.js +9 -12
  26. package/lib/no-empty-palpable-content/index.js +5 -7
  27. package/lib/no-hard-code-id/index.js +2 -4
  28. package/lib/no-refer-to-non-existent-id/index.js +26 -30
  29. package/lib/no-use-event-handler-attr/index.js +4 -6
  30. package/lib/permitted-contents/choice.d.ts +1 -1
  31. package/lib/permitted-contents/choice.js +13 -18
  32. package/lib/permitted-contents/complex-branch.d.ts +1 -1
  33. package/lib/permitted-contents/complex-branch.js +10 -14
  34. package/lib/permitted-contents/content-model.d.ts +1 -1
  35. package/lib/permitted-contents/content-model.js +5 -9
  36. package/lib/permitted-contents/count-pattern.d.ts +1 -1
  37. package/lib/permitted-contents/count-pattern.js +19 -24
  38. package/lib/permitted-contents/debug.browser.js +9 -12
  39. package/lib/permitted-contents/debug.d.ts +8 -1
  40. package/lib/permitted-contents/debug.js +12 -13
  41. package/lib/permitted-contents/index.d.ts +1 -1
  42. package/lib/permitted-contents/index.js +10 -13
  43. package/lib/permitted-contents/matches-selector.d.ts +1 -1
  44. package/lib/permitted-contents/matches-selector.js +12 -17
  45. package/lib/permitted-contents/order.d.ts +1 -1
  46. package/lib/permitted-contents/order.js +17 -22
  47. package/lib/permitted-contents/recursive-branch.d.ts +2 -2
  48. package/lib/permitted-contents/recursive-branch.js +9 -13
  49. package/lib/permitted-contents/represent-transparent-nodes.d.ts +1 -1
  50. package/lib/permitted-contents/represent-transparent-nodes.js +15 -20
  51. package/lib/permitted-contents/start.d.ts +1 -1
  52. package/lib/permitted-contents/start.js +13 -21
  53. package/lib/permitted-contents/transparent.d.ts +1 -1
  54. package/lib/permitted-contents/transparent.js +4 -9
  55. package/lib/permitted-contents/types.js +1 -2
  56. package/lib/permitted-contents/utils.d.ts +1 -1
  57. package/lib/permitted-contents/utils.js +55 -74
  58. package/lib/placeholder-label-option/index.js +5 -9
  59. package/lib/require-accessible-name/index.js +10 -13
  60. package/lib/require-datetime/index.d.ts +1 -1
  61. package/lib/require-datetime/index.js +6 -8
  62. package/lib/require-datetime/types.js +1 -2
  63. package/lib/require-datetime/utils.d.ts +1 -1
  64. package/lib/require-datetime/utils.js +4 -11
  65. package/lib/required-attr/index.js +8 -11
  66. package/lib/required-element/index.js +3 -6
  67. package/lib/required-h1/index.js +3 -6
  68. package/lib/use-list/index.js +6 -10
  69. package/lib/wai-aria/checkings/abstract-role.d.ts +1 -1
  70. package/lib/wai-aria/checkings/abstract-role.js +5 -10
  71. package/lib/wai-aria/checkings/default-value.d.ts +1 -1
  72. package/lib/wai-aria/checkings/default-value.js +2 -6
  73. package/lib/wai-aria/checkings/deprecated-props.d.ts +1 -1
  74. package/lib/wai-aria/checkings/deprecated-props.js +3 -8
  75. package/lib/wai-aria/checkings/disallowed-prop.d.ts +1 -1
  76. package/lib/wai-aria/checkings/disallowed-prop.js +7 -12
  77. package/lib/wai-aria/checkings/implicit-props.d.ts +1 -1
  78. package/lib/wai-aria/checkings/implicit-props.js +6 -11
  79. package/lib/wai-aria/checkings/implicit-role.d.ts +1 -1
  80. package/lib/wai-aria/checkings/implicit-role.js +4 -9
  81. package/lib/wai-aria/checkings/interaction-in-hidden.d.ts +1 -1
  82. package/lib/wai-aria/checkings/interaction-in-hidden.js +4 -8
  83. package/lib/wai-aria/checkings/no-global-prop.d.ts +1 -1
  84. package/lib/wai-aria/checkings/no-global-prop.js +2 -7
  85. package/lib/wai-aria/checkings/non-existent-role.d.ts +1 -1
  86. package/lib/wai-aria/checkings/non-existent-role.js +4 -9
  87. package/lib/wai-aria/checkings/permitted-roles.d.ts +1 -1
  88. package/lib/wai-aria/checkings/permitted-roles.js +4 -9
  89. package/lib/wai-aria/checkings/presentational-children.d.ts +1 -1
  90. package/lib/wai-aria/checkings/presentational-children.js +4 -9
  91. package/lib/wai-aria/checkings/required-owned-elements.d.ts +1 -1
  92. package/lib/wai-aria/checkings/required-owned-elements.js +4 -8
  93. package/lib/wai-aria/checkings/required-prop.d.ts +1 -1
  94. package/lib/wai-aria/checkings/required-prop.js +2 -7
  95. package/lib/wai-aria/checkings/value.d.ts +1 -1
  96. package/lib/wai-aria/checkings/value.js +4 -10
  97. package/lib/wai-aria/index.d.ts +1 -1
  98. package/lib/wai-aria/index.js +38 -40
  99. package/lib/wai-aria/types.js +1 -2
  100. package/package.json +17 -12
  101. package/test/attr-check.spec.js +0 -77
  102. package/test/attr-duplication/index.spec.js +0 -159
  103. package/test/attr-value-quotes/index.spec.js +0 -133
  104. package/test/case-sensitive-attr-name/index.spec.js +0 -65
  105. package/test/case-sensitive-tag-name/index.spec.js +0 -80
  106. package/test/character-reference/index.spec.js +0 -72
  107. package/test/class-naming/index.spec.js +0 -470
  108. package/test/create-message.spec.js +0 -497
  109. package/test/deprecated-attr/index.spec.js +0 -48
  110. package/test/deprecated-element/index.spec.js +0 -35
  111. package/test/disallowed-element/index.spec.js +0 -90
  112. package/test/doctype/index.spec.js +0 -50
  113. package/test/end-tag/index.spec.js +0 -162
  114. package/test/id-duplication/index.spec.js +0 -47
  115. package/test/ineffective-attr/index.spec.js +0 -31
  116. package/test/invalid-attr/index.spec.js +0 -1641
  117. package/test/label-has-control/index.spec.js +0 -29
  118. package/test/landmark-roles/index.spec.js +0 -187
  119. package/test/no-boolean-attr-value/index.spec.js +0 -41
  120. package/test/no-default-value/index.spec.js +0 -74
  121. package/test/no-empty-palpable-content/index.spec.js +0 -115
  122. package/test/no-hard-code-id/index.spec.js +0 -100
  123. package/test/no-refer-to-non-existent-id/index.spec.js +0 -254
  124. package/test/no-use-event-handler-attr/index.spec.js +0 -57
  125. package/test/permitted-contents/choice.spec.js +0 -174
  126. package/test/permitted-contents/count-pattern.spec.js +0 -308
  127. package/test/permitted-contents/index.spec.js +0 -1395
  128. package/test/permitted-contents/matches-selector.spec.js +0 -59
  129. package/test/permitted-contents/order.spec.js +0 -351
  130. package/test/permitted-contents/recursive-branch.spec.js +0 -41
  131. package/test/permitted-contents/represent-transparent-nodes.spec.js +0 -24
  132. package/test/permitted-contents/start.spec.js +0 -67
  133. package/test/placeholder-label-option/index.spec.js +0 -113
  134. package/test/require-accessible-name/index.spec.js +0 -444
  135. package/test/require-datetime/index.spec.js +0 -54
  136. package/test/require-datetime/utils.spec.js +0 -52
  137. package/test/required-attr/index.spec.js +0 -414
  138. package/test/required-element/index.spec.js +0 -188
  139. package/test/required-h1/index.spec.js +0 -69
  140. package/test/use-list/index.spec.js +0 -109
  141. package/test/wai-aria/checkings/value.spec.js +0 -33
  142. package/test/wai-aria/index.spec.js +0 -1203
@@ -1,109 +0,0 @@
1
- const { mlRuleTest } = require('markuplint');
2
-
3
- const rule = require('../../lib/use-list').default;
4
-
5
- test('use bullets', async () => {
6
- expect(
7
- (
8
- await mlRuleTest(
9
- rule,
10
- `<div>
11
- •A<br>
12
- •B<br>
13
- •C
14
- </div>`,
15
- )
16
- ).violations.length,
17
- ).toBe(3);
18
- });
19
-
20
- test('use bullets (character reference)', async () => {
21
- expect(
22
- (
23
- await mlRuleTest(
24
- rule,
25
- `<div>
26
- &bullet;A<br>
27
- &bullet;B<br>
28
- &bullet;C
29
- </div>`,
30
- )
31
- ).violations.length,
32
- ).toBe(3);
33
- });
34
-
35
- test('use katakana middle', async () => {
36
- expect(
37
- (
38
- await mlRuleTest(
39
- rule,
40
- `<div>
41
- <span>・りんご</span>
42
- <span>・みかん</span>
43
- <span>・ぶどう</span>
44
- </div>`,
45
- )
46
- ).violations.length,
47
- ).toBe(3);
48
- });
49
-
50
- test('Markdown like', async () => {
51
- expect(
52
- (
53
- await mlRuleTest(
54
- rule,
55
- `<div>
56
- - A<br>
57
- - B<br>
58
- - C
59
- </div>`,
60
- )
61
- ).violations.length,
62
- ).toBe(3);
63
- });
64
-
65
- test('Markdown list marker character with no space', async () => {
66
- expect((await mlRuleTest(rule, '<div>-MINUS</div>')).violations.length).toBe(0);
67
- });
68
-
69
- test('Character only', async () => {
70
- expect((await mlRuleTest(rule, '<div>●</div>')).violations.length).toBe(0);
71
- });
72
-
73
- test('continuous', async () => {
74
- expect(
75
- (
76
- await mlRuleTest(
77
- rule,
78
- `<div>
79
- <span>‣‣‣</span><span>It is not a list item</span>
80
- </div>`,
81
- )
82
- ).violations.length,
83
- ).toBe(0);
84
- });
85
-
86
- test('emoji (surrogate pair character)', async () => {
87
- /**
88
- * surrogate pair character
89
- */
90
- const sp = '\u{1F846}';
91
- expect(sp.length).toBe(2);
92
- expect(
93
- (
94
- await mlRuleTest(
95
- rule,
96
- `<div>
97
- ${sp}A<br/>
98
- ${sp}B<br/>
99
- ${sp}C
100
- </div>`,
101
- {
102
- rule: {
103
- value: [sp],
104
- },
105
- },
106
- )
107
- ).violations.length,
108
- ).toBe(3);
109
- });
@@ -1,33 +0,0 @@
1
- const { checkAriaValue } = require('../../../lib/wai-aria/checkings/value');
2
-
3
- describe('checkAriaValue', () => {
4
- test('token', () => {
5
- expect(checkAriaValue('token', 'a', ['a'])).toBe(true);
6
- expect(checkAriaValue('token', 'a', ['b'])).toBe(false);
7
- });
8
-
9
- test('token list', () => {
10
- expect(checkAriaValue('token list', 'a', ['a'])).toBe(true);
11
- expect(checkAriaValue('token list', 'a', ['b'])).toBe(false);
12
- expect(checkAriaValue('token list', 'a b', ['a'])).toBe(false);
13
- expect(checkAriaValue('token list', 'a b', ['b'])).toBe(false);
14
- expect(checkAriaValue('token list', 'a b', ['a', 'b'])).toBe(true);
15
- expect(checkAriaValue('token list', 'a b', ['a', 'b', 'c'])).toBe(true);
16
- expect(checkAriaValue('token list', 'a b d', ['a', 'b', 'c'])).toBe(false);
17
- });
18
-
19
- test('integer', () => {
20
- expect(checkAriaValue('integer', '1', [])).toBe(true);
21
- expect(checkAriaValue('integer', '-1', [])).toBe(true);
22
- expect(checkAriaValue('integer', '-1.1', [])).toBe(false);
23
- expect(checkAriaValue('integer', '-1.1', [])).toBe(false);
24
- });
25
-
26
- test('number', () => {
27
- expect(checkAriaValue('number', '1', [])).toBe(true);
28
- expect(checkAriaValue('number', '-1', [])).toBe(true);
29
- expect(checkAriaValue('number', '-1.1', [])).toBe(true);
30
- expect(checkAriaValue('number', '-1.1', [])).toBe(true);
31
- expect(checkAriaValue('number', '-1.1.1', [])).toBe(false);
32
- });
33
- });