@haibun/core 1.46.4 → 1.47.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 (164) hide show
  1. package/build/applyEffectFeatures.d.ts +2 -1
  2. package/build/applyEffectFeatures.d.ts.map +1 -1
  3. package/build/applyEffectFeatures.js.map +1 -1
  4. package/build/currentVersion.d.ts +1 -1
  5. package/build/currentVersion.js +1 -1
  6. package/build/lib/Logger.d.ts +3 -4
  7. package/build/lib/Logger.d.ts.map +1 -1
  8. package/build/lib/Logger.js +2 -1
  9. package/build/lib/Logger.js.map +1 -1
  10. package/build/lib/Timer.d.ts +1 -1
  11. package/build/lib/Timer.d.ts.map +1 -1
  12. package/build/lib/Timer.js +1 -1
  13. package/build/lib/Timer.js.map +1 -1
  14. package/build/lib/astepper.d.ts +31 -0
  15. package/build/lib/astepper.d.ts.map +1 -0
  16. package/build/lib/astepper.js +18 -0
  17. package/build/lib/astepper.js.map +1 -0
  18. package/build/lib/capture-locator.d.ts +4 -0
  19. package/build/lib/capture-locator.d.ts.map +1 -0
  20. package/build/lib/capture-locator.js +8 -0
  21. package/build/lib/capture-locator.js.map +1 -0
  22. package/build/lib/defs.d.ts +9 -42
  23. package/build/lib/defs.d.ts.map +1 -1
  24. package/build/lib/defs.js +0 -17
  25. package/build/lib/defs.js.map +1 -1
  26. package/build/lib/feature-variables.d.ts +19 -0
  27. package/build/lib/feature-variables.d.ts.map +1 -0
  28. package/build/lib/feature-variables.js +30 -0
  29. package/build/lib/feature-variables.js.map +1 -0
  30. package/build/lib/features.d.ts.map +1 -1
  31. package/build/lib/fixme.d.ts +2 -0
  32. package/build/lib/fixme.d.ts.map +1 -0
  33. package/build/lib/fixme.js +2 -0
  34. package/build/lib/fixme.js.map +1 -0
  35. package/build/lib/interfaces/logger.d.ts +54 -15
  36. package/build/lib/interfaces/logger.d.ts.map +1 -1
  37. package/build/lib/interfaces/logger.js.map +1 -1
  38. package/build/lib/namedVars.d.ts.map +1 -1
  39. package/build/lib/namedVars.js +1 -1
  40. package/build/lib/namedVars.js.map +1 -1
  41. package/build/lib/resolver-features.d.ts.map +1 -1
  42. package/build/lib/resolver-features.js.map +1 -1
  43. package/build/lib/test/SetTimeStepper.d.ts +2 -1
  44. package/build/lib/test/SetTimeStepper.d.ts.map +1 -1
  45. package/build/lib/test/SetTimeStepper.js +2 -1
  46. package/build/lib/test/SetTimeStepper.js.map +1 -1
  47. package/build/lib/test/TestSteps.d.ts +2 -1
  48. package/build/lib/test/TestSteps.d.ts.map +1 -1
  49. package/build/lib/test/TestSteps.js +1 -1
  50. package/build/lib/test/TestSteps.js.map +1 -1
  51. package/build/lib/test/TestStepsWithOptions.d.ts +1 -1
  52. package/build/lib/test/TestStepsWithOptions.d.ts.map +1 -1
  53. package/build/lib/test/TestStepsWithOptions.js +3 -2
  54. package/build/lib/test/TestStepsWithOptions.js.map +1 -1
  55. package/build/lib/test/lib.d.ts +3 -3
  56. package/build/lib/test/lib.d.ts.map +1 -1
  57. package/build/lib/test/lib.js +4 -3
  58. package/build/lib/test/lib.js.map +1 -1
  59. package/build/lib/ttag.d.ts +10 -0
  60. package/build/lib/ttag.d.ts.map +1 -0
  61. package/build/lib/ttag.js +13 -0
  62. package/build/lib/ttag.js.map +1 -0
  63. package/build/lib/util/index.d.ts +14 -5
  64. package/build/lib/util/index.d.ts.map +1 -1
  65. package/build/lib/util/index.js +10 -16
  66. package/build/lib/util/index.js.map +1 -1
  67. package/build/lib/util/workspace-lib.d.ts.map +1 -1
  68. package/build/phases/Executor.d.ts +4 -2
  69. package/build/phases/Executor.d.ts.map +1 -1
  70. package/build/phases/Executor.js +19 -9
  71. package/build/phases/Executor.js.map +1 -1
  72. package/build/phases/Resolver.d.ts +2 -1
  73. package/build/phases/Resolver.d.ts.map +1 -1
  74. package/build/phases/Resolver.js +2 -2
  75. package/build/phases/Resolver.js.map +1 -1
  76. package/build/runner.d.ts +2 -1
  77. package/build/runner.d.ts.map +1 -1
  78. package/build/runner.js +1 -1
  79. package/build/runner.js.map +1 -1
  80. package/build/steps/conformance.d.ts +1 -1
  81. package/build/steps/conformance.d.ts.map +1 -1
  82. package/build/steps/conformance.js +1 -1
  83. package/build/steps/conformance.js.map +1 -1
  84. package/build/steps/credentials.d.ts +15 -6
  85. package/build/steps/credentials.d.ts.map +1 -1
  86. package/build/steps/credentials.js +26 -4
  87. package/build/steps/credentials.js.map +1 -1
  88. package/build/steps/haibun.d.ts +7 -18
  89. package/build/steps/haibun.d.ts.map +1 -1
  90. package/build/steps/haibun.js +9 -25
  91. package/build/steps/haibun.js.map +1 -1
  92. package/build/steps/lib/tts.d.ts +1 -0
  93. package/build/steps/lib/tts.d.ts.map +1 -1
  94. package/build/steps/lib/tts.js +5 -4
  95. package/build/steps/lib/tts.js.map +1 -1
  96. package/build/steps/parse.d.ts +1 -1
  97. package/build/steps/parse.d.ts.map +1 -1
  98. package/build/steps/parse.js +2 -1
  99. package/build/steps/parse.js.map +1 -1
  100. package/build/steps/vars.d.ts +11 -5
  101. package/build/steps/vars.d.ts.map +1 -1
  102. package/build/steps/vars.js +5 -4
  103. package/build/steps/vars.js.map +1 -1
  104. package/package.json +1 -1
  105. package/build/lib/ConnectedLogger.d.ts +0 -13
  106. package/build/lib/ConnectedLogger.d.ts.map +0 -1
  107. package/build/lib/ConnectedLogger.js +0 -22
  108. package/build/lib/ConnectedLogger.js.map +0 -1
  109. package/build/lib/Logger.test.d.ts +0 -2
  110. package/build/lib/Logger.test.d.ts.map +0 -1
  111. package/build/lib/Logger.test.js +0 -60
  112. package/build/lib/Logger.test.js.map +0 -1
  113. package/build/lib/contexts.d.ts +0 -22
  114. package/build/lib/contexts.d.ts.map +0 -1
  115. package/build/lib/contexts.js +0 -36
  116. package/build/lib/contexts.js.map +0 -1
  117. package/build/lib/features.test.d.ts +0 -2
  118. package/build/lib/features.test.d.ts.map +0 -1
  119. package/build/lib/features.test.js +0 -112
  120. package/build/lib/features.test.js.map +0 -1
  121. package/build/lib/interfaces/artifacts.d.ts +0 -48
  122. package/build/lib/interfaces/artifacts.d.ts.map +0 -1
  123. package/build/lib/interfaces/artifacts.js +0 -2
  124. package/build/lib/interfaces/artifacts.js.map +0 -1
  125. package/build/lib/interfaces/messageContexts.d.ts +0 -10
  126. package/build/lib/interfaces/messageContexts.d.ts.map +0 -1
  127. package/build/lib/interfaces/messageContexts.js +0 -2
  128. package/build/lib/interfaces/messageContexts.js.map +0 -1
  129. package/build/lib/namedVars.test.d.ts +0 -2
  130. package/build/lib/namedVars.test.d.ts.map +0 -1
  131. package/build/lib/namedVars.test.js +0 -106
  132. package/build/lib/namedVars.test.js.map +0 -1
  133. package/build/lib/test/lib.test.d.ts +0 -2
  134. package/build/lib/test/lib.test.d.ts.map +0 -1
  135. package/build/lib/test/lib.test.js +0 -9
  136. package/build/lib/test/lib.test.js.map +0 -1
  137. package/build/lib/util/util.test.d.ts +0 -2
  138. package/build/lib/util/util.test.d.ts.map +0 -1
  139. package/build/lib/util/util.test.js +0 -238
  140. package/build/lib/util/util.test.js.map +0 -1
  141. package/build/lib/util/workspace-lib.test.d.ts +0 -2
  142. package/build/lib/util/workspace-lib.test.d.ts.map +0 -1
  143. package/build/lib/util/workspace-lib.test.js +0 -20
  144. package/build/lib/util/workspace-lib.test.js.map +0 -1
  145. package/build/phases/Resolver.test.d.ts +0 -2
  146. package/build/phases/Resolver.test.d.ts.map +0 -1
  147. package/build/phases/Resolver.test.js +0 -87
  148. package/build/phases/Resolver.test.js.map +0 -1
  149. package/build/phases/collector.test.d.ts +0 -2
  150. package/build/phases/collector.test.d.ts.map +0 -1
  151. package/build/phases/collector.test.js +0 -96
  152. package/build/phases/collector.test.js.map +0 -1
  153. package/build/runner.test.d.ts +0 -2
  154. package/build/runner.test.d.ts.map +0 -1
  155. package/build/runner.test.js +0 -24
  156. package/build/runner.test.js.map +0 -1
  157. package/build/steps/haibun.test.d.ts +0 -2
  158. package/build/steps/haibun.test.d.ts.map +0 -1
  159. package/build/steps/haibun.test.js +0 -48
  160. package/build/steps/haibun.test.js.map +0 -1
  161. package/build/steps/vars.test.d.ts +0 -2
  162. package/build/steps/vars.test.d.ts.map +0 -1
  163. package/build/steps/vars.test.js +0 -43
  164. package/build/steps/vars.test.js.map +0 -1
@@ -1,238 +0,0 @@
1
- import { describe, it, test, expect } from 'vitest';
2
- import * as util from './index.js';
3
- import { HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS, getDefaultWorld, getCreateSteppers, TEST_BASE } from '../test/lib.js';
4
- import TestSteps from '../test/TestSteps.js';
5
- import TestStepsWithOptions from '../test/TestStepsWithOptions.js';
6
- import { withNameType } from '../features.js';
7
- import { AStepper, OK } from '../defs.js';
8
- import { constructorName } from './index.js';
9
- describe('isLowerCase', () => {
10
- it('is lower case', () => {
11
- expect(util.isLowerCase('a')).toBe(true);
12
- expect(util.isLowerCase('A')).toBe(false);
13
- expect(util.isLowerCase('0')).toBe(false);
14
- });
15
- });
16
- describe('findStepperFromOptions', () => {
17
- const TestOptionsStepper = class TestOptionsStepper extends AStepper {
18
- options = {
19
- A: {
20
- desc: 'A exists',
21
- parse: (input) => util.stringOrError(input),
22
- },
23
- B: {
24
- desc: 'B exists',
25
- parse: (input) => util.stringOrError(input),
26
- },
27
- };
28
- steps = {
29
- test: {
30
- exact: 'When I have a stepper option',
31
- action: async () => await Promise.resolve(OK),
32
- },
33
- };
34
- };
35
- it('finds from single option', async () => {
36
- const ts = new TestOptionsStepper();
37
- const steppers = await getCreateSteppers([], [TestOptionsStepper]);
38
- const options = { [util.getStepperOptionName(ts, 'A')]: 'TestOptionsStepper' };
39
- const s = util.findStepperFromOption(steppers, ts, options, 'A');
40
- expect(s).toBeDefined();
41
- });
42
- it('finds from last multiple options', async () => {
43
- const ts = new TestOptionsStepper();
44
- const steppers = await getCreateSteppers([], [TestOptionsStepper]);
45
- const options = { [util.getStepperOptionName(ts, 'B')]: 'TestOptionsStepper' };
46
- const s = await util.findStepperFromOption(steppers, ts, options, 'A', 'B');
47
- expect(s).toBeDefined();
48
- });
49
- it('finds from first multiple options', async () => {
50
- const ts = new TestOptionsStepper();
51
- const steppers = await getCreateSteppers([], [TestSteps, TestOptionsStepper]);
52
- const options = {
53
- [util.getStepperOptionName(ts, 'optionA')]: 'TestSteps',
54
- [util.getStepperOptionName(ts, 'B')]: 'TestOptionsStepper',
55
- };
56
- const s = util.findStepperFromOption(steppers, ts, options, 'optionA', 'optionB');
57
- expect(s).toBeDefined();
58
- expect(constructorName(s)).toBe('TestSteps');
59
- });
60
- it('throws for not found stepper', async () => {
61
- const ts = await util.createSteppers([TestOptionsStepper])[0];
62
- const steppers = await getCreateSteppers([], [TestOptionsStepper]);
63
- const options = {};
64
- expect(() => util.findStepperFromOption(steppers, ts, options, 'S')).toThrow;
65
- });
66
- });
67
- describe('verifyRequiredOptions', () => {
68
- class TestOptionsStepperWithReauired extends AStepper {
69
- options = {
70
- A: {
71
- required: true,
72
- altSource: 'B',
73
- desc: 'A is an option',
74
- parse: (input) => util.stringOrError(input),
75
- },
76
- B: {
77
- desc: 'B is an altsource',
78
- parse: (input) => util.stringOrError(input),
79
- },
80
- };
81
- steps = {
82
- test: {
83
- exact: 'When I have a stepper option',
84
- action: async () => await Promise.resolve(OK),
85
- },
86
- };
87
- }
88
- it('has option', async () => {
89
- const toswq = new TestOptionsStepperWithReauired();
90
- const options = { [util.getStepperOptionName(toswq, 'A')]: 'TestSteps' };
91
- await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], options)).resolves.not.toThrow();
92
- });
93
- it('throws for missing option', async () => {
94
- await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], {})).rejects.toThrow();
95
- });
96
- it('uses altSource', async () => {
97
- const options = { [util.getStepperOptionName(new TestOptionsStepperWithReauired(), 'B')]: 'TestSteps' };
98
- await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], options)).resolves.not.toThrow();
99
- });
100
- });
101
- describe('getStepperOptions', () => {
102
- it('finds stepper options', () => {
103
- const conc = util.getStepperOptionValue(HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS, 'true', [TestStepsWithOptions]);
104
- expect(conc).toBeDefined();
105
- });
106
- it.skip('fills extra', async () => {
107
- const world = getDefaultWorld(0);
108
- await util.verifyExtraOptions({ [HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS]: 'true' }, [TestStepsWithOptions]);
109
- expect(world.options[HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS]).toEqual(42);
110
- });
111
- it('throws for unfilled extra', async () => {
112
- await expect(async () => util.verifyExtraOptions({ HAIBUN_NE: 'true' }, [])).rejects.toThrow();
113
- });
114
- });
115
- describe('getType', () => {
116
- it('finds a type', () => {
117
- expect(withNameType(TEST_BASE, 'file.type.feature', '').type).toBe('type');
118
- });
119
- it('finds no type', () => {
120
- expect(withNameType(TEST_BASE, 'file.feature', '').type).toBe('feature');
121
- });
122
- });
123
- describe('check module is class', () => {
124
- it('should pass a class', () => {
125
- expect(util.checkModuleIsClass(class a {
126
- }, 'a')).toEqual(undefined);
127
- });
128
- it('should fail a function', () => {
129
- // eslint-disable-next-line @typescript-eslint/no-empty-function
130
- expect(() => util.checkModuleIsClass(function a() { }, 'a')).toThrow(undefined);
131
- });
132
- });
133
- describe('asError', () => {
134
- it('should pass an error', () => {
135
- expect(util.asError(new Error('a'))).toEqual(new Error('a'));
136
- });
137
- it('should pass a string', () => {
138
- expect(util.asError('a')).toEqual(new Error('a'));
139
- });
140
- it('should pass a number', () => {
141
- expect(util.asError(1)).toEqual(new Error('1'));
142
- });
143
- it('should pass a boolean', () => {
144
- expect(util.asError(true)).toEqual(new Error('true'));
145
- });
146
- it('should pass an object', () => {
147
- expect(util.asError({ a: 1 })).toEqual(new Error({ a: 1 }));
148
- });
149
- it('should pass an array', () => {
150
- expect(util.asError([1, 2])).toEqual(new Error([1, 2]));
151
- });
152
- it('should pass null', () => {
153
- expect(util.asError(null)).toEqual(new Error('null'));
154
- });
155
- it('should pass undefined', () => {
156
- expect(util.asError(undefined)).toEqual(new Error());
157
- });
158
- });
159
- describe('depolite', () => {
160
- describe('conjunctions', () => {
161
- test('Given', () => {
162
- expect(util.dePolite('Given test')).toBe('test');
163
- });
164
- test('When', () => {
165
- expect(util.dePolite('When test')).toBe('test');
166
- });
167
- test('Then', () => {
168
- expect(util.dePolite('Then test')).toBe('test');
169
- });
170
- test('And', () => {
171
- expect(util.dePolite('And test')).toBe('test');
172
- });
173
- });
174
- describe('articles', () => {
175
- test('The', () => {
176
- expect(util.dePolite('The test')).toBe('test');
177
- });
178
- test('A', () => {
179
- expect(util.dePolite('A test')).toBe('test');
180
- });
181
- test('An', () => {
182
- expect(util.dePolite('An test')).toBe('test');
183
- });
184
- });
185
- describe('pronouns', () => {
186
- test('I', () => {
187
- expect(util.dePolite('I test')).toBe('test');
188
- });
189
- test(`I'm`, () => {
190
- expect(util.dePolite(`I'm test`)).toBe('test');
191
- });
192
- });
193
- describe('combinations', () => {
194
- test('Given I test', () => {
195
- expect(util.dePolite('Given I test')).toBe('test');
196
- });
197
- test(`Given I am test`, () => {
198
- expect(util.dePolite(`Given I am test`)).toBe('test');
199
- });
200
- test('Given am an test', () => {
201
- expect(util.dePolite('Given am an test')).toBe('test');
202
- });
203
- test('And I should see', () => {
204
- expect(util.dePolite('And I should see')).toBe('see');
205
- });
206
- });
207
- });
208
- describe('optionOrError', () => {
209
- it('rejects no option', () => {
210
- expect(util.optionOrError('a', ['b']).parseError).toBeDefined();
211
- });
212
- it('rejects undefined option', () => {
213
- expect(util.optionOrError(undefined, ['b']).parseError).toBeDefined();
214
- });
215
- it('returns options', () => {
216
- expect(util.optionOrError('b', ['b'])).toEqual({ result: 'b' });
217
- });
218
- });
219
- describe('boolOrError', () => {
220
- it('returns true', () => {
221
- expect(util.boolOrError('true')).toEqual({ result: true });
222
- });
223
- it('returns false', () => {
224
- expect(util.boolOrError('false')).toEqual({ result: false });
225
- });
226
- it('returns error', () => {
227
- expect(util.boolOrError('wtw').parseError).toBeDefined();
228
- });
229
- });
230
- describe('stringOrError', () => {
231
- it('returns value', () => {
232
- expect(util.stringOrError('a')).toEqual({ result: 'a' });
233
- });
234
- it('returns error', () => {
235
- expect(() => util.stringOrError(undefined).parseError).toBeDefined();
236
- });
237
- });
238
- //# sourceMappingURL=util.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../../src/lib/util/util.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=workspace-lib.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-lib.test.d.ts","sourceRoot":"","sources":["../../../src/lib/util/workspace-lib.test.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import * as TFileSystemJs from './workspace-lib.js';
3
- describe('workspace', () => {
4
- it('finds workspace root', () => {
5
- expect(TFileSystemJs.workspaceRoot.endsWith('/haibun')).toBeTruthy();
6
- });
7
- });
8
- const rel = (pat) => pat.replace(`${TFileSystemJs.workspaceRoot}/`, '');
9
- describe('getModuleLocation', () => {
10
- it('finds step module location', () => {
11
- expect(rel(TFileSystemJs.getModuleLocation('test'))).toBe('../../steps/test');
12
- });
13
- it('finds module location for scoped module', () => {
14
- expect(rel(TFileSystemJs.getModuleLocation('./src/test.js'))).toBe('src/test.js');
15
- });
16
- it('finds module location for scoped module with tilde', () => {
17
- expect(rel(TFileSystemJs.getModuleLocation('~@haibun/test'))).toBe('node_modules/@haibun/test');
18
- });
19
- });
20
- //# sourceMappingURL=workspace-lib.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-lib.test.js","sourceRoot":"","sources":["../../../src/lib/util/workspace-lib.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,aAAa,GAAG,EAAE,EAAE,CAAC,CAAC;AAExE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Resolver.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Resolver.test.d.ts","sourceRoot":"","sources":["../../src/phases/Resolver.test.ts"],"names":[],"mappings":""}
@@ -1,87 +0,0 @@
1
- import { describe, it, test, expect } from 'vitest';
2
- import { AStepper, OK } from '../lib/defs.js';
3
- import { asExpandedFeatures } from '../lib/resolver-features.js';
4
- import TestSteps from '../lib/test/TestSteps.js';
5
- import { createSteppers } from '../lib/util/index.js';
6
- import { Resolver } from './Resolver.js';
7
- describe('resolve steps', () => {
8
- it('resolves steps', async () => {
9
- const features = asExpandedFeatures([{ path: 'l1', content: 'Then it passes' }]);
10
- const steppers = await createSteppers([TestSteps]);
11
- const resolver = new Resolver(steppers);
12
- const steps = await resolver.resolveStepsFromFeatures(features);
13
- expect(steps.length).toBe(1);
14
- });
15
- });
16
- describe('validate map steps', () => {
17
- class TestStepper extends AStepper {
18
- steps = {
19
- exact: {
20
- exact: 'exact1',
21
- action: async () => Promise.resolve(OK),
22
- },
23
- match: {
24
- match: /match(?<num>1)/,
25
- action: async () => Promise.resolve(OK),
26
- },
27
- gwta: {
28
- gwta: 'gwta(?<num>.)',
29
- action: async () => Promise.resolve(OK),
30
- },
31
- gwtaInterpolated: {
32
- gwta: 'is {what}',
33
- action: async () => Promise.resolve(OK),
34
- },
35
- };
36
- }
37
- const getResolvedSteps = async (features) => {
38
- const steppers = await createSteppers([TestStepper]);
39
- const resolver = new Resolver(steppers);
40
- return await resolver.resolveStepsFromFeatures(features);
41
- };
42
- describe('exact', () => {
43
- test('exact', async () => {
44
- const features = asExpandedFeatures([{ path: 'l1', content: `exact1` }]);
45
- const res = await getResolvedSteps(features);
46
- const { featureSteps } = res[0];
47
- expect(featureSteps[0].action.named).toBeUndefined();
48
- });
49
- });
50
- describe('match', () => {
51
- test('match', async () => {
52
- const features = asExpandedFeatures([{ path: 'l1', content: `match1` }]);
53
- const res = await getResolvedSteps(features);
54
- const { featureSteps } = res[0];
55
- expect(featureSteps[0].action.named).toEqual({ num: '1' });
56
- });
57
- });
58
- describe('gwta regex', () => {
59
- test('gwta', async () => {
60
- const features = asExpandedFeatures([
61
- { path: 'l1', content: `gwta2\nGiven I'm gwta3\nWhen I am gwta4\nGwta5\nThen the gwta6` },
62
- ]);
63
- const res = await getResolvedSteps(features);
64
- const { featureSteps } = res[0];
65
- expect(featureSteps[0].action.named).toEqual({ num: '2' });
66
- expect(featureSteps[1].action.named).toEqual({ num: '3' });
67
- expect(featureSteps[2].action.named).toEqual({ num: '4' });
68
- expect(featureSteps[3].action.named).toEqual({ num: '5' });
69
- expect(featureSteps[4].action.named).toEqual({ num: '6' });
70
- });
71
- });
72
- describe('gwta interpolated', () => {
73
- test('gets quoted', async () => {
74
- const features = asExpandedFeatures([{ path: 'l1', content: 'is "string"' }]);
75
- const res = await getResolvedSteps(features);
76
- const { featureSteps } = res[0];
77
- expect(featureSteps[0].action.named?.q_0).toEqual('string');
78
- });
79
- test('gets uri', async () => {
80
- const features = asExpandedFeatures([{ path: 'l1', content: 'is http://url' }]);
81
- const res = await getResolvedSteps(features);
82
- const { featureSteps } = res[0];
83
- expect(featureSteps[0].action.named?.t_0).toEqual('http://url');
84
- });
85
- });
86
- });
87
- //# sourceMappingURL=Resolver.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Resolver.test.js","sourceRoot":"","sources":["../../src/phases/Resolver.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=collector.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collector.test.d.ts","sourceRoot":"","sources":["../../src/phases/collector.test.ts"],"names":[],"mappings":""}
@@ -1,96 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { basesFrom } from '../lib/util/index.js';
3
- import { getFeaturesAndBackgrounds, shouldProcess } from './collector.js';
4
- class MockFS {
5
- files;
6
- constructor(files) {
7
- this.files = files;
8
- }
9
- existsSync(where) {
10
- return !!this.files[where];
11
- }
12
- readFileSync(where) {
13
- const e = where.split('/');
14
- const h = e.slice(0, 3).join('/');
15
- return this.files[h][e[3]];
16
- }
17
- statSync(where) {
18
- return { isDirectory: () => !!this.files[where] };
19
- }
20
- readdirSync(where) {
21
- return Object.keys(this.files[where] || {});
22
- }
23
- }
24
- const nfs = (files) => new MockFS(files);
25
- describe('getFeaturesAndBackgrounds', () => {
26
- it('directory does not exist', () => {
27
- expect(() => getFeaturesAndBackgrounds(['/'], [], { existsSync: () => false })).toThrow();
28
- });
29
- it('no features or backgrounds', () => {
30
- expect(() => getFeaturesAndBackgrounds(['/'], [], { existsSync: () => true })).toThrow();
31
- });
32
- it('no features', () => {
33
- expect(() => getFeaturesAndBackgrounds(['/0'], [], nfs({ '/0/backgrounds': { 'a.feature': '#' } }))).toThrow();
34
- });
35
- it('gets features', () => {
36
- expect(getFeaturesAndBackgrounds(['/0'], [], nfs({ '/0/features': { 'a.feature': '#' } }))).toEqual({
37
- features: [{ base: '/0', path: '/features/a.feature', name: '/0/features/a', type: 'feature', content: '#' }],
38
- backgrounds: [],
39
- });
40
- });
41
- it('gets features and backgrounds', () => {
42
- const res = getFeaturesAndBackgrounds(['/0'], [], nfs({ '/0/features': { 'a.feature': '#' }, '/0/backgrounds': { 'b.feature': '#' } }));
43
- expect(res).toEqual({
44
- features: [{ base: '/0', path: '/features/a.feature', name: '/0/features/a', type: 'feature', content: '#' }],
45
- backgrounds: [{ base: '/0', path: '/backgrounds/b.feature', name: '/0/backgrounds/b', type: 'feature', content: '#' }],
46
- });
47
- });
48
- it('multi-base no features or backgrounds', () => {
49
- expect(() => getFeaturesAndBackgrounds(['/,x'], [], { existsSync: () => true })).toThrow();
50
- });
51
- it('multi-base gets features', () => {
52
- expect(getFeaturesAndBackgrounds(basesFrom('/0,/1'), [], nfs({ '/0/features': { 'a.feature': '#' }, '/1/features': { 'b.feature': '#' } }))).toEqual({
53
- features: [
54
- { base: '/0', path: '/features/a.feature', name: '/0/features/a', type: 'feature', content: '#' },
55
- { base: '/1', path: '/features/b.feature', name: '/1/features/b', type: 'feature', content: '#' },
56
- ],
57
- backgrounds: [],
58
- });
59
- });
60
- it('multi-base no features', () => {
61
- expect(() => getFeaturesAndBackgrounds('/0,/1'.split(','), [], nfs({ '/0/backgrounds': { 'a.feature': '#' }, '/1/backgrounds': { 'a.feature': '#' } }))).toThrow();
62
- });
63
- it('multi-base no features or backgrounds from first dir', () => {
64
- expect(() => getFeaturesAndBackgrounds(basesFrom('/0,/1'), [], nfs({ '/1/backgrounds': { 'a.feature': '#' } }))).toThrow();
65
- });
66
- it('multi-base no features or backgrounds from second dir', () => {
67
- expect(() => getFeaturesAndBackgrounds(basesFrom('/0,/1'), [], nfs({ '/0/backgrounds': { 'a.feature': '#' } }))).toThrow();
68
- });
69
- it('multi-base get features and backgrounds', () => {
70
- expect(getFeaturesAndBackgrounds(basesFrom('/0,/1'), [], nfs({ '/0/backgrounds': { 'a.feature': '#' }, '/1/features': { 'b.feature': '#' } }))).toEqual({
71
- features: [{ base: '/1', path: '/features/b.feature', name: '/1/features/b', type: 'feature', content: '#' }],
72
- backgrounds: [{ base: '/0', path: '/backgrounds/a.feature', name: '/0/backgrounds/a', type: 'feature', content: '#' }],
73
- });
74
- });
75
- });
76
- describe('shouldProcess', () => {
77
- it('should process no type & filter', () => {
78
- expect(shouldProcess('hi.feature', undefined, undefined)).toBe(true);
79
- });
80
- it('should process matching filter', () => {
81
- expect(shouldProcess('hi.feature', undefined, ['hi'])).toBe(true);
82
- });
83
- it('should not process wrong type', () => {
84
- expect(shouldProcess('hi.feature', 'wrong', undefined)).toBe(false);
85
- });
86
- it('should not process wrong filter', () => {
87
- expect(shouldProcess('hi.feature', undefined, ['wrong'])).toBe(false);
88
- });
89
- it('should not process root filter', () => {
90
- expect(shouldProcess('/root/hi.feature', undefined, ['root'])).toBe(false);
91
- });
92
- it('should process upper root filter', () => {
93
- expect(shouldProcess('/root/root.feature', undefined, ['root'])).toBe(true);
94
- });
95
- });
96
- //# sourceMappingURL=collector.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collector.test.js","sourceRoot":"","sources":["../../src/phases/collector.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=runner.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.test.d.ts","sourceRoot":"","sources":["../src/runner.test.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- import { asFeatures } from './lib/resolver-features.js';
2
- import { getDefaultWorld } from './lib/test/lib.js';
3
- import TestSteps from './lib/test/TestSteps.js';
4
- import { Runner } from './runner.js';
5
- import { describe, it, expect } from 'vitest';
6
- describe('runFeaturesAndBackgrounds', () => {
7
- it('should pass a basic test', async () => {
8
- const world = getDefaultWorld(0, { HAIBUN_LOG_LEVEL: 'debug' });
9
- const runner = new Runner(world);
10
- const features = asFeatures([{ path: '/features/test.feature', content: `passes` }]);
11
- const steppers = [TestSteps];
12
- const result = await runner.runFeaturesAndBackgrounds(steppers, { features, backgrounds: [] });
13
- expect(result.ok).toBe(true);
14
- });
15
- it('should fail a basic test', async () => {
16
- const world = getDefaultWorld(0, { HAIBUN_LOG_LEVEL: 'debug' });
17
- const runner = new Runner(world);
18
- const features = asFeatures([{ path: '/features/test.feature', content: `fails` }]);
19
- const steppers = [TestSteps];
20
- const result = await runner.runFeaturesAndBackgrounds(steppers, { features, backgrounds: [] });
21
- expect(result.ok).toBe(false);
22
- });
23
- });
24
- //# sourceMappingURL=runner.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.test.js","sourceRoot":"","sources":["../src/runner.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/F,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/F,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=haibun.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"haibun.test.d.ts","sourceRoot":"","sources":["../../src/steps/haibun.test.ts"],"names":[],"mappings":""}
@@ -1,48 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { FeatureExecutor } from '../phases/Executor.js';
3
- import { getDefaultWorld, getTestEnv, testWithDefaults } from '../lib/test/lib.js';
4
- import TestSteps from '../lib/test/TestSteps.js';
5
- import Haibun from './haibun.js';
6
- describe('prose', () => {
7
- it('finds prose', async () => {
8
- const { world, featureStep, steppers } = await getTestEnv(['haibun'], 'A sentence.', getDefaultWorld(0));
9
- const res = await FeatureExecutor.doFeatureStep(steppers, featureStep, world);
10
- expect(res.ok).toBe(true);
11
- expect(res.actionResult.name).toBe('prose');
12
- });
13
- it('mixed prose', async () => {
14
- const feature = {
15
- path: '/features/test.feature',
16
- content: `Haibun prose allows mixing text descriptions with a functional test.
17
- When I have a test
18
- Then it passes
19
- Prose sections are indicated by the presence of punctuation at the end of paragraphs.`,
20
- };
21
- const result = await testWithDefaults([feature], [Haibun, TestSteps]);
22
- expect(result.ok).toBe(true);
23
- expect(result.featureResults?.length).toBe(1);
24
- });
25
- it('process effect callback', async () => {
26
- const feature = { path: '/features/test.feature', content: 'have a test\nafter every TestSteps, passes' };
27
- const result = await testWithDefaults([feature], [Haibun, TestSteps]);
28
- expect(result.ok).toBe(true);
29
- expect(result.featureResults && result.featureResults[0].stepResults.length).toBe(2);
30
- });
31
- it('process multiple effect callbacks', async () => {
32
- const feature = { path: '/features/test.feature', content: 'have a test\nafter every TestSteps, passes\nhave a test' };
33
- const result = await testWithDefaults([feature], [Haibun, TestSteps]);
34
- expect(result.ok).toBe(true);
35
- const rfzs = result.featureResults && result.featureResults[0].stepResults;
36
- expect(rfzs?.length).toBe(4);
37
- let n = 0;
38
- expect(rfzs).toBeDefined();
39
- if (rfzs === undefined) {
40
- return;
41
- }
42
- expect(rfzs[n++].seq).toBe(1);
43
- expect(rfzs[n++].seq).toBe(2);
44
- expect(rfzs[n++].seq).toBe(3);
45
- expect(rfzs[n++].seq).toBe(3.1);
46
- });
47
- });
48
- //# sourceMappingURL=haibun.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"haibun.test.js","sourceRoot":"","sources":["../../src/steps/haibun.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=vars.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vars.test.d.ts","sourceRoot":"","sources":["../../src/steps/vars.test.ts"],"names":[],"mappings":""}