vitest-cucumber-plugin 0.6.0 → 0.6.2

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 (197) hide show
  1. package/RELEASE_NOTES.md +2 -0
  2. package/dist/config.d.ts +11 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +2 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/generate/example.d.ts +5 -0
  7. package/dist/generate/example.d.ts.map +1 -0
  8. package/{src → dist}/generate/example.js +7 -10
  9. package/dist/generate/example.js.map +1 -0
  10. package/dist/generate/examples.d.ts +5 -0
  11. package/dist/generate/examples.d.ts.map +1 -0
  12. package/dist/generate/examples.js +46 -0
  13. package/dist/generate/examples.js.map +1 -0
  14. package/dist/generate/feature.d.ts +10 -0
  15. package/dist/generate/feature.d.ts.map +1 -0
  16. package/dist/generate/feature.js +77 -0
  17. package/dist/generate/feature.js.map +1 -0
  18. package/dist/generate/index.d.ts +3 -0
  19. package/dist/generate/index.d.ts.map +1 -0
  20. package/dist/generate/index.js +3 -0
  21. package/dist/generate/index.js.map +1 -0
  22. package/dist/generate/rule.d.ts +5 -0
  23. package/dist/generate/rule.d.ts.map +1 -0
  24. package/{src → dist}/generate/rule.js +9 -12
  25. package/dist/generate/rule.js.map +1 -0
  26. package/dist/generate/scenario-outline.d.ts +5 -0
  27. package/dist/generate/scenario-outline.d.ts.map +1 -0
  28. package/dist/generate/scenario-outline.js +18 -0
  29. package/dist/generate/scenario-outline.js.map +1 -0
  30. package/dist/generate/tests.d.ts +4 -0
  31. package/dist/generate/tests.d.ts.map +1 -0
  32. package/{src → dist}/generate/tests.js +9 -9
  33. package/dist/generate/tests.js.map +1 -0
  34. package/dist/generate/util.d.ts +6 -0
  35. package/dist/generate/util.d.ts.map +1 -0
  36. package/{src → dist}/generate/util.js +5 -5
  37. package/dist/generate/util.js.map +1 -0
  38. package/dist/gherkin-lexer-shared.d.ts +6 -0
  39. package/dist/gherkin-lexer-shared.d.ts.map +1 -0
  40. package/dist/gherkin-lexer-shared.js +4 -0
  41. package/dist/gherkin-lexer-shared.js.map +1 -0
  42. package/dist/gherkin-lexer.d.ts +4 -0
  43. package/dist/gherkin-lexer.d.ts.map +1 -0
  44. package/dist/gherkin-lexer.js +68 -0
  45. package/dist/gherkin-lexer.js.map +1 -0
  46. package/{src → dist}/gherkin.js +1 -1
  47. package/{src → dist}/gherkin.umd.js +1 -1
  48. package/dist/hooks.d.ts +25 -0
  49. package/dist/hooks.d.ts.map +1 -0
  50. package/dist/hooks.js +94 -0
  51. package/dist/hooks.js.map +1 -0
  52. package/dist/index.d.ts +4 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +4 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/logger.d.ts +5 -0
  57. package/dist/logger.d.ts.map +1 -0
  58. package/dist/logger.js +8 -0
  59. package/dist/logger.js.map +1 -0
  60. package/dist/parameterize.d.ts +3 -0
  61. package/dist/parameterize.d.ts.map +1 -0
  62. package/dist/parameterize.js +8 -0
  63. package/dist/parameterize.js.map +1 -0
  64. package/dist/parse.d.ts +3 -0
  65. package/dist/parse.d.ts.map +1 -0
  66. package/{src → dist}/parse.js +5 -9
  67. package/dist/parse.js.map +1 -0
  68. package/dist/state.d.ts +4 -0
  69. package/dist/state.d.ts.map +1 -0
  70. package/dist/state.js +2 -0
  71. package/dist/state.js.map +1 -0
  72. package/dist/statement.d.ts +71 -0
  73. package/dist/statement.d.ts.map +1 -0
  74. package/dist/statement.js +10 -0
  75. package/dist/statement.js.map +1 -0
  76. package/dist/steps.d.ts +20 -0
  77. package/dist/steps.d.ts.map +1 -0
  78. package/{src → dist}/steps.js +16 -23
  79. package/dist/steps.js.map +1 -0
  80. package/dist/tags.d.ts +5 -0
  81. package/dist/tags.d.ts.map +1 -0
  82. package/{src → dist}/tags.js +15 -28
  83. package/dist/tags.js.map +1 -0
  84. package/dist/vitest-cucumber-plugin.d.ts +13 -0
  85. package/dist/vitest-cucumber-plugin.d.ts.map +1 -0
  86. package/dist/vitest-cucumber-plugin.js +69 -0
  87. package/dist/vitest-cucumber-plugin.js.map +1 -0
  88. package/package.json +64 -34
  89. package/generate-parsers +0 -6
  90. package/rollup-gherkin.js +0 -12
  91. package/rollup-tags-expression.js +0 -11
  92. package/run-tests +0 -9
  93. package/src/generate/examples.js +0 -48
  94. package/src/generate/feature.js +0 -72
  95. package/src/generate/index.js +0 -15
  96. package/src/generate/scenario-outline.js +0 -21
  97. package/src/gherkin-lexer-shared.cjs +0 -4
  98. package/src/gherkin-lexer.js +0 -63
  99. package/src/gherkin.ne +0 -211
  100. package/src/hooks.js +0 -77
  101. package/src/index.js +0 -95
  102. package/src/logger.js +0 -14
  103. package/src/parameterize.js +0 -7
  104. package/src/tags-expression.ne +0 -43
  105. package/tests/background/features/background.feature +0 -25
  106. package/tests/background/features/step_definitions/steps.js +0 -30
  107. package/tests/background/features/support/hooks.js +0 -3
  108. package/tests/background/package-lock.json +0 -1204
  109. package/tests/background/package.json +0 -11
  110. package/tests/background/vite.config.js +0 -13
  111. package/tests/comments/features/is-it-friday.feature +0 -10
  112. package/tests/comments/features/step_definitions/stepdefs.js +0 -15
  113. package/tests/comments/package-lock.json +0 -1933
  114. package/tests/comments/package.json +0 -11
  115. package/tests/comments/vite.config.js +0 -9
  116. package/tests/data-tables/features/data-tables-escaping.feature +0 -27
  117. package/tests/data-tables/features/data-tables.feature +0 -44
  118. package/tests/data-tables/features/step_definitions/data-tables.js +0 -21
  119. package/tests/data-tables/package-lock.json +0 -1933
  120. package/tests/data-tables/package.json +0 -11
  121. package/tests/data-tables/vite.config.js +0 -13
  122. package/tests/doc-strings/features/doc-strings.feature +0 -21
  123. package/tests/doc-strings/features/step_definitions/doc-strings.js +0 -15
  124. package/tests/doc-strings/package-lock.json +0 -1933
  125. package/tests/doc-strings/package.json +0 -11
  126. package/tests/doc-strings/vite.config.js +0 -13
  127. package/tests/hooks/features/after-all.feature +0 -5
  128. package/tests/hooks/features/after.feature +0 -5
  129. package/tests/hooks/features/before-all.feature +0 -14
  130. package/tests/hooks/features/before-step.feature +0 -6
  131. package/tests/hooks/features/before.feature +0 -14
  132. package/tests/hooks/features/step_definitions/steps.js +0 -28
  133. package/tests/hooks/features/support/hooks.js +0 -75
  134. package/tests/hooks/features/support/tags-hooks.js +0 -11
  135. package/tests/hooks/features/tags.feature +0 -14
  136. package/tests/hooks/package-lock.json +0 -1204
  137. package/tests/hooks/package.json +0 -11
  138. package/tests/hooks/vite.config.js +0 -13
  139. package/tests/is-it-friday/features/is-it-friday.feature +0 -7
  140. package/tests/is-it-friday/features/step_definitions/stepdefs.js +0 -15
  141. package/tests/is-it-friday/package-lock.json +0 -1933
  142. package/tests/is-it-friday/package.json +0 -11
  143. package/tests/is-it-friday/vite.config.js +0 -13
  144. package/tests/is-it-friday-scenario-outline/features/is-it-friday.feature +0 -13
  145. package/tests/is-it-friday-scenario-outline/features/step_definitions/stepdefs.js +0 -15
  146. package/tests/is-it-friday-scenario-outline/package-lock.json +0 -1933
  147. package/tests/is-it-friday-scenario-outline/package.json +0 -11
  148. package/tests/is-it-friday-scenario-outline/vite.config.js +0 -9
  149. package/tests/is-it-friday-two-scenarios/features/is-it-friday.feature +0 -12
  150. package/tests/is-it-friday-two-scenarios/features/step_definitions/stepdefs.js +0 -19
  151. package/tests/is-it-friday-two-scenarios/package-lock.json +0 -1933
  152. package/tests/is-it-friday-two-scenarios/package.json +0 -11
  153. package/tests/is-it-friday-two-scenarios/vite.config.js +0 -9
  154. package/tests/is-it-friday-two-scenarios-multiple-feature-files/features/friday.feature +0 -7
  155. package/tests/is-it-friday-two-scenarios-multiple-feature-files/features/step_definitions/stepdefs.js +0 -19
  156. package/tests/is-it-friday-two-scenarios-multiple-feature-files/features/sunday.feature +0 -8
  157. package/tests/is-it-friday-two-scenarios-multiple-feature-files/package-lock.json +0 -1933
  158. package/tests/is-it-friday-two-scenarios-multiple-feature-files/package.json +0 -11
  159. package/tests/is-it-friday-two-scenarios-multiple-feature-files/vite.config.js +0 -9
  160. package/tests/keyword-aliases/features/scenario-outline.feature +0 -20
  161. package/tests/keyword-aliases/features/scenario.feature +0 -14
  162. package/tests/keyword-aliases/features/step_definitions/steps.js +0 -30
  163. package/tests/keyword-aliases/features/steps.feature +0 -28
  164. package/tests/keyword-aliases/features/support/hooks.js +0 -6
  165. package/tests/keyword-aliases/package-lock.json +0 -1933
  166. package/tests/keyword-aliases/package.json +0 -11
  167. package/tests/keyword-aliases/vite.config.js +0 -9
  168. package/tests/languages/features/en.feature +0 -8
  169. package/tests/languages/features/no.feature +0 -10
  170. package/tests/languages/features/step_definitions/en.js +0 -15
  171. package/tests/languages/features/step_definitions/no.js +0 -21
  172. package/tests/languages/package-lock.json +0 -1204
  173. package/tests/languages/package.json +0 -11
  174. package/tests/languages/vite.config.js +0 -13
  175. package/tests/rule/features/rule.feature +0 -14
  176. package/tests/rule/features/step_definitions/stepdefs.js +0 -19
  177. package/tests/rule/package-lock.json +0 -1933
  178. package/tests/rule/package.json +0 -11
  179. package/tests/rule/vite.config.js +0 -9
  180. package/tests/tags/features/skip.feature +0 -9
  181. package/tests/tags/features/step_definitions/steps.js +0 -30
  182. package/tests/tags/features/support/hooks.js +0 -6
  183. package/tests/tags/features/tags-scenario-outline.feature +0 -37
  184. package/tests/tags/features/tags.feature +0 -26
  185. package/tests/tags/package-lock.json +0 -1204
  186. package/tests/tags/package.json +0 -11
  187. package/tests/tags/vite.config.js +0 -12
  188. package/tests/vue/features/step_definitions/test.js +0 -25
  189. package/tests/vue/features/support/components.js +0 -19
  190. package/tests/vue/features/test.feature +0 -10
  191. package/tests/vue/package-lock.json +0 -2164
  192. package/tests/vue/package.json +0 -18
  193. package/tests/vue/src/test.vue +0 -10
  194. package/tests/vue/vite.config.js +0 -15
  195. /package/{src → dist}/gherkin-languages.json +0 -0
  196. /package/{src → dist}/tags-expression.js +0 -0
  197. /package/{src → dist}/tags-expression.umd.js +0 -0
@@ -1,11 +0,0 @@
1
- {
2
- "type": "module",
3
- "devDependencies": {
4
- "lodash": "^4.17.21",
5
- "vitest": "^0.30.1"
6
- },
7
- "scripts": {
8
- "test": "npx vitest run",
9
- "postinstall" : "ln -s ../../.. node_modules/vitest-cucumber-plugin"
10
- }
11
- }
@@ -1,13 +0,0 @@
1
- import { defineConfig } from 'vitest/config'
2
- import vitestCucumberPlugin from 'vitest-cucumber-plugin';
3
-
4
- export default defineConfig(({ mode }) => {
5
- const logLevel = (mode === 'test-debug') ? 'info' : 'warn';
6
- return {
7
- plugins: [vitestCucumberPlugin()],
8
- test: {
9
- include : [ '**/*.feature' ],
10
- cucumber : { logLevel },
11
- },
12
- }
13
- });
@@ -1,5 +0,0 @@
1
- Feature: AfterAll hooks
2
- Scenario: AfterAll hooks should not have been run yet
3
- Given nothing
4
- When nothing happens
5
- Then the "afterAll" property does not exist
@@ -1,5 +0,0 @@
1
- Feature: After hooks
2
- Scenario: After hooks should not have been run yet
3
- Given nothing
4
- When nothing happens
5
- Then the "after" property does not exist
@@ -1,14 +0,0 @@
1
- Feature: BeforeAll hooks
2
- Scenario: BeforeAll hooks are run once
3
- Given nothing
4
- When nothing happens
5
- Then the "beforeAll" property is an array with the values:
6
- | beforeAll1 |
7
- | beforeAll2 |
8
-
9
- Scenario: BeforeAll hooks should be the same this time
10
- Given nothing
11
- When nothing happens
12
- Then the "beforeAll" property is an array with the values:
13
- | beforeAll1 |
14
- | beforeAll2 |
@@ -1,6 +0,0 @@
1
- Feature: Before Step hook
2
- Scenario: The Before Step hooks should fire
3
- Given nothing
4
- When nothing happens
5
- Then the "beforeStep" property is an array with the integer values:
6
- | 0 |
@@ -1,14 +0,0 @@
1
- Feature: Before hooks
2
- Scenario: The Before hooks should have been run
3
- Given nothing
4
- When nothing happens
5
- Then the "before" property is an array with the values:
6
- | before1 |
7
- | before2 |
8
-
9
- Scenario: The After hooks should have cleared out the before property
10
- Given nothing
11
- When nothing happens
12
- Then the "before" property is an array with the values:
13
- | before1 |
14
- | before2 |
@@ -1,28 +0,0 @@
1
- import { Given, When, Then, DataTable } from 'vitest-cucumber-plugin';
2
- import { expect } from 'vitest'
3
- import _ from 'lodash/fp';
4
-
5
- Given('nothing',(state) => state);
6
- Then('nothing happens',(state) => state);
7
- When('the {string} property is an array with the values:',(state,[ propertyName ],dataTable) => {
8
- const values = _.flatten(dataTable);
9
- expect(state[propertyName]).toEqual(values);
10
- return state;
11
- });
12
-
13
- When('the {string} property is an array with the integer values:',(state,[ propertyName ],dataTable) => {
14
- let values = _.flatten(dataTable);
15
- values = _.map(parseInt)(values);
16
- expect(state[propertyName]).toEqual(values);
17
- return state;
18
- });
19
-
20
- When('the {string} property does not exist',(state,[propertyName]) => {
21
- expect(_.has('propertyName',state)).toBeFalsy();
22
- return state;
23
- });
24
-
25
- When('the {string} property is an empty array',(state,[ propertyName ]) => {
26
- expect(state[propertyName]).toEqual([]);
27
- return state;
28
- });
@@ -1,75 +0,0 @@
1
- import { BeforeAll, AfterAll, Before, After, BeforeStep, AfterStep } from 'vitest-cucumber-plugin';
2
- import _ from 'lodash/fp.js';
3
-
4
- BeforeAll('add beforeAll1',(state) => {
5
- return _.set('beforeAll',_.concat(_.getOr([],'beforeAll',state),'beforeAll1'),state);
6
- });
7
-
8
- BeforeAll('add beforeAll2',(state) => {
9
- return _.set('beforeAll',_.concat(_.getOr([],'beforeAll',state),'beforeAll2'),state);
10
- });
11
-
12
- AfterAll('check that BeforeAll happened',(state) => {
13
- if (!_.isEqual(state.beforeAll,['beforeAll1','beforeAll2'])) {
14
- throw new Error('beforeAll is wrong!');
15
- }
16
- return state;
17
- });
18
-
19
- AfterAll('add afterAll1',(state) => {
20
- return _.set('afterAll',_.concat(_.getOr([],'afterAll',state),'afterAll1'),state);
21
- });
22
-
23
- AfterAll('add afterAll2',(state) => {
24
- return _.set('afterAll',_.concat(_.getOr([],'afterAll',state),'afterAll2'),state);
25
- });
26
-
27
- AfterAll('check that AfterAll happened',(state) => {
28
- if (!_.isEqual(state.afterAll,['afterAll1','afterAll2'])) {
29
- throw new Error('afterAll is wrong!');
30
- }
31
- return state;
32
- });
33
-
34
- Before('add before1',(state) => {
35
- return _.set('before',_.concat(_.getOr([],'before',state),'before1'),state);
36
- });
37
-
38
- Before('add before2',(state) => {
39
- return _.set('before',_.concat(_.getOr([],'before',state),'before2'),state);
40
- });
41
-
42
- After('check that Before happened',(state) => {
43
- if (!_.isEqual(state.before,['before1','before2'])) {
44
- throw new Error('before is wrong!');
45
- }
46
- return state;
47
- });
48
-
49
- After('add after1',(state) => {
50
- return _.set('after',_.concat(_.getOr([],'after',state),'after1'),state);
51
- });
52
-
53
- After('add after2',(state) => {
54
- return _.set('after',_.concat(_.getOr([],'after',state),'after2'),state);
55
- });
56
-
57
- After('check that After happened',(state) => {
58
- if (!_.isEqual(state.after,['after1','after2'])) {
59
- throw new Error('after is wrong!');
60
- }
61
-
62
- state = _.set('after',[],state);
63
- state = _.set('before',[],state);
64
- return state;
65
- });
66
-
67
- BeforeStep('add index to beforeStep',(state) => {
68
- const beforeStep = _.getOr([],'beforeStep',state);
69
- return _.set('beforeStep',_.concat(beforeStep.length,beforeStep),state)
70
- });
71
-
72
- AfterStep('remove index from beforeStep',(state) => {
73
- const beforeStep = _.getOr([],'beforeStep',state);
74
- return _.set('beforeStep',_.tail(1,beforeStep),state)
75
- });
@@ -1,11 +0,0 @@
1
- import { BeforeAll, AfterAll, Before, After, BeforeStep, AfterStep } from 'vitest-cucumber-plugin';
2
- import _ from 'lodash/fp.js';
3
-
4
- Before({ tags : '@hooks and not @nobefore', name: 'add before' },(state) => {
5
- return _.set('beforeTags',_.concat(_.getOr([],'beforeTags',state),'beforeTags'),state);
6
- });
7
-
8
- After({ tags : '@hooks', name : 'clear beforeTags' },(state) => {
9
- state = _.set('beforeTags',[],state);
10
- return state;
11
- });
@@ -1,14 +0,0 @@
1
- @hooks
2
- Feature: Hooks can be selectively used with tags
3
- Scenario: The Before hooks should have been run
4
- Given nothing
5
- When nothing happens
6
- Then the "beforeTags" property is an array with the values:
7
- | beforeTags |
8
-
9
- # Disable the Before hook for this Scenario
10
- @nobefore
11
- Scenario:
12
- Given nothing
13
- When nothing happens
14
- Then the "beforeTags" property is an empty array