@haibun/core 1.47.0 → 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 (90) hide show
  1. package/build/currentVersion.d.ts +1 -1
  2. package/build/currentVersion.js +1 -1
  3. package/build/lib/Logger.d.ts.map +1 -1
  4. package/build/lib/Logger.js +2 -1
  5. package/build/lib/Logger.js.map +1 -1
  6. package/build/lib/Timer.d.ts +1 -1
  7. package/build/lib/Timer.d.ts.map +1 -1
  8. package/build/lib/Timer.js +1 -1
  9. package/build/lib/Timer.js.map +1 -1
  10. package/build/lib/capture-locator.d.ts +2 -1
  11. package/build/lib/capture-locator.d.ts.map +1 -1
  12. package/build/lib/capture-locator.js +5 -4
  13. package/build/lib/capture-locator.js.map +1 -1
  14. package/build/lib/defs.d.ts +1 -0
  15. package/build/lib/defs.d.ts.map +1 -1
  16. package/build/lib/defs.js.map +1 -1
  17. package/build/lib/test/TestStepsWithOptions.d.ts.map +1 -1
  18. package/build/lib/test/TestStepsWithOptions.js +2 -1
  19. package/build/lib/test/TestStepsWithOptions.js.map +1 -1
  20. package/build/lib/util/index.d.ts +5 -1
  21. package/build/lib/util/index.d.ts.map +1 -1
  22. package/build/lib/util/index.js +6 -2
  23. package/build/lib/util/index.js.map +1 -1
  24. package/build/phases/Executor.d.ts.map +1 -1
  25. package/build/phases/Executor.js +16 -7
  26. package/build/phases/Executor.js.map +1 -1
  27. package/build/phases/Resolver.js +2 -2
  28. package/build/phases/Resolver.js.map +1 -1
  29. package/build/runner.js +1 -1
  30. package/build/runner.js.map +1 -1
  31. package/build/steps/credentials.d.ts +10 -2
  32. package/build/steps/credentials.d.ts.map +1 -1
  33. package/build/steps/credentials.js +24 -3
  34. package/build/steps/credentials.js.map +1 -1
  35. package/build/steps/haibun.d.ts.map +1 -1
  36. package/build/steps/haibun.js +2 -9
  37. package/build/steps/haibun.js.map +1 -1
  38. package/build/steps/lib/tts.d.ts +1 -0
  39. package/build/steps/lib/tts.d.ts.map +1 -1
  40. package/build/steps/lib/tts.js +5 -4
  41. package/build/steps/lib/tts.js.map +1 -1
  42. package/build/steps/vars.d.ts +7 -1
  43. package/build/steps/vars.d.ts.map +1 -1
  44. package/build/steps/vars.js +2 -2
  45. package/build/steps/vars.js.map +1 -1
  46. package/package.json +1 -1
  47. package/build/lib/Logger.test.d.ts +0 -2
  48. package/build/lib/Logger.test.d.ts.map +0 -1
  49. package/build/lib/Logger.test.js +0 -60
  50. package/build/lib/Logger.test.js.map +0 -1
  51. package/build/lib/features.test.d.ts +0 -2
  52. package/build/lib/features.test.d.ts.map +0 -1
  53. package/build/lib/features.test.js +0 -112
  54. package/build/lib/features.test.js.map +0 -1
  55. package/build/lib/namedVars.test.d.ts +0 -2
  56. package/build/lib/namedVars.test.d.ts.map +0 -1
  57. package/build/lib/namedVars.test.js +0 -107
  58. package/build/lib/namedVars.test.js.map +0 -1
  59. package/build/lib/test/lib.test.d.ts +0 -2
  60. package/build/lib/test/lib.test.d.ts.map +0 -1
  61. package/build/lib/test/lib.test.js +0 -9
  62. package/build/lib/test/lib.test.js.map +0 -1
  63. package/build/lib/util/util.test.d.ts +0 -2
  64. package/build/lib/util/util.test.d.ts.map +0 -1
  65. package/build/lib/util/util.test.js +0 -239
  66. package/build/lib/util/util.test.js.map +0 -1
  67. package/build/lib/util/workspace-lib.test.d.ts +0 -2
  68. package/build/lib/util/workspace-lib.test.d.ts.map +0 -1
  69. package/build/lib/util/workspace-lib.test.js +0 -20
  70. package/build/lib/util/workspace-lib.test.js.map +0 -1
  71. package/build/phases/Resolver.test.d.ts +0 -2
  72. package/build/phases/Resolver.test.d.ts.map +0 -1
  73. package/build/phases/Resolver.test.js +0 -88
  74. package/build/phases/Resolver.test.js.map +0 -1
  75. package/build/phases/collector.test.d.ts +0 -2
  76. package/build/phases/collector.test.d.ts.map +0 -1
  77. package/build/phases/collector.test.js +0 -96
  78. package/build/phases/collector.test.js.map +0 -1
  79. package/build/runner.test.d.ts +0 -2
  80. package/build/runner.test.d.ts.map +0 -1
  81. package/build/runner.test.js +0 -24
  82. package/build/runner.test.js.map +0 -1
  83. package/build/steps/haibun.test.d.ts +0 -2
  84. package/build/steps/haibun.test.d.ts.map +0 -1
  85. package/build/steps/haibun.test.js +0 -48
  86. package/build/steps/haibun.test.js.map +0 -1
  87. package/build/steps/vars.test.d.ts +0 -2
  88. package/build/steps/vars.test.d.ts.map +0 -1
  89. package/build/steps/vars.test.js +0 -43
  90. package/build/steps/vars.test.js.map +0 -1
@@ -1,239 +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 { OK } from '../defs.js';
8
- import { AStepper } from '../astepper.js';
9
- import { constructorName } from './index.js';
10
- describe('isLowerCase', () => {
11
- it('is lower case', () => {
12
- expect(util.isLowerCase('a')).toBe(true);
13
- expect(util.isLowerCase('A')).toBe(false);
14
- expect(util.isLowerCase('0')).toBe(false);
15
- });
16
- });
17
- describe('findStepperFromOptions', () => {
18
- const TestOptionsStepper = class TestOptionsStepper extends AStepper {
19
- options = {
20
- A: {
21
- desc: 'A exists',
22
- parse: (input) => util.stringOrError(input),
23
- },
24
- B: {
25
- desc: 'B exists',
26
- parse: (input) => util.stringOrError(input),
27
- },
28
- };
29
- steps = {
30
- test: {
31
- exact: 'When I have a stepper option',
32
- action: async () => await Promise.resolve(OK),
33
- },
34
- };
35
- };
36
- it('finds from single option', async () => {
37
- const ts = new TestOptionsStepper();
38
- const steppers = await getCreateSteppers([], [TestOptionsStepper]);
39
- const options = { [util.getStepperOptionName(ts, 'A')]: 'TestOptionsStepper' };
40
- const s = util.findStepperFromOption(steppers, ts, options, 'A');
41
- expect(s).toBeDefined();
42
- });
43
- it('finds from last multiple options', async () => {
44
- const ts = new TestOptionsStepper();
45
- const steppers = await getCreateSteppers([], [TestOptionsStepper]);
46
- const options = { [util.getStepperOptionName(ts, 'B')]: 'TestOptionsStepper' };
47
- const s = await util.findStepperFromOption(steppers, ts, options, 'A', 'B');
48
- expect(s).toBeDefined();
49
- });
50
- it('finds from first multiple options', async () => {
51
- const ts = new TestOptionsStepper();
52
- const steppers = await getCreateSteppers([], [TestSteps, TestOptionsStepper]);
53
- const options = {
54
- [util.getStepperOptionName(ts, 'optionA')]: 'TestSteps',
55
- [util.getStepperOptionName(ts, 'B')]: 'TestOptionsStepper',
56
- };
57
- const s = util.findStepperFromOption(steppers, ts, options, 'optionA', 'optionB');
58
- expect(s).toBeDefined();
59
- expect(constructorName(s)).toBe('TestSteps');
60
- });
61
- it('throws for not found stepper', async () => {
62
- const ts = await util.createSteppers([TestOptionsStepper])[0];
63
- const steppers = await getCreateSteppers([], [TestOptionsStepper]);
64
- const options = {};
65
- expect(() => util.findStepperFromOption(steppers, ts, options, 'S')).toThrow;
66
- });
67
- });
68
- describe('verifyRequiredOptions', () => {
69
- class TestOptionsStepperWithReauired extends AStepper {
70
- options = {
71
- A: {
72
- required: true,
73
- altSource: 'B',
74
- desc: 'A is an option',
75
- parse: (input) => util.stringOrError(input),
76
- },
77
- B: {
78
- desc: 'B is an altsource',
79
- parse: (input) => util.stringOrError(input),
80
- },
81
- };
82
- steps = {
83
- test: {
84
- exact: 'When I have a stepper option',
85
- action: async () => await Promise.resolve(OK),
86
- },
87
- };
88
- }
89
- it('has option', async () => {
90
- const toswq = new TestOptionsStepperWithReauired();
91
- const options = { [util.getStepperOptionName(toswq, 'A')]: 'TestSteps' };
92
- await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], options)).resolves.not.toThrow();
93
- });
94
- it('throws for missing option', async () => {
95
- await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], {})).rejects.toThrow();
96
- });
97
- it('uses altSource', async () => {
98
- const options = { [util.getStepperOptionName(new TestOptionsStepperWithReauired(), 'B')]: 'TestSteps' };
99
- await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], options)).resolves.not.toThrow();
100
- });
101
- });
102
- describe('getStepperOptions', () => {
103
- it('finds stepper options', () => {
104
- const conc = util.getStepperOptionValue(HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS, 'true', [TestStepsWithOptions]);
105
- expect(conc).toBeDefined();
106
- });
107
- it.skip('fills extra', async () => {
108
- const world = getDefaultWorld(0);
109
- await util.verifyExtraOptions({ [HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS]: 'true' }, [TestStepsWithOptions]);
110
- expect(world.options[HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS]).toEqual(42);
111
- });
112
- it('throws for unfilled extra', async () => {
113
- await expect(async () => util.verifyExtraOptions({ HAIBUN_NE: 'true' }, [])).rejects.toThrow();
114
- });
115
- });
116
- describe('getType', () => {
117
- it('finds a type', () => {
118
- expect(withNameType(TEST_BASE, 'file.type.feature', '').type).toBe('type');
119
- });
120
- it('finds no type', () => {
121
- expect(withNameType(TEST_BASE, 'file.feature', '').type).toBe('feature');
122
- });
123
- });
124
- describe('check module is class', () => {
125
- it('should pass a class', () => {
126
- expect(util.checkModuleIsClass(class a {
127
- }, 'a')).toEqual(undefined);
128
- });
129
- it('should fail a function', () => {
130
- // eslint-disable-next-line @typescript-eslint/no-empty-function
131
- expect(() => util.checkModuleIsClass(function a() { }, 'a')).toThrow(undefined);
132
- });
133
- });
134
- describe('asError', () => {
135
- it('should pass an error', () => {
136
- expect(util.asError(new Error('a'))).toEqual(new Error('a'));
137
- });
138
- it('should pass a string', () => {
139
- expect(util.asError('a')).toEqual(new Error('a'));
140
- });
141
- it('should pass a number', () => {
142
- expect(util.asError(1)).toEqual(new Error('1'));
143
- });
144
- it('should pass a boolean', () => {
145
- expect(util.asError(true)).toEqual(new Error('true'));
146
- });
147
- it('should pass an object', () => {
148
- expect(util.asError({ a: 1 })).toEqual(new Error({ a: 1 }));
149
- });
150
- it('should pass an array', () => {
151
- expect(util.asError([1, 2])).toEqual(new Error([1, 2]));
152
- });
153
- it('should pass null', () => {
154
- expect(util.asError(null)).toEqual(new Error('null'));
155
- });
156
- it('should pass undefined', () => {
157
- expect(util.asError(undefined)).toEqual(new Error());
158
- });
159
- });
160
- describe('depolite', () => {
161
- describe('conjunctions', () => {
162
- test('Given', () => {
163
- expect(util.dePolite('Given test')).toBe('test');
164
- });
165
- test('When', () => {
166
- expect(util.dePolite('When test')).toBe('test');
167
- });
168
- test('Then', () => {
169
- expect(util.dePolite('Then test')).toBe('test');
170
- });
171
- test('And', () => {
172
- expect(util.dePolite('And test')).toBe('test');
173
- });
174
- });
175
- describe('articles', () => {
176
- test('The', () => {
177
- expect(util.dePolite('The test')).toBe('test');
178
- });
179
- test('A', () => {
180
- expect(util.dePolite('A test')).toBe('test');
181
- });
182
- test('An', () => {
183
- expect(util.dePolite('An test')).toBe('test');
184
- });
185
- });
186
- describe('pronouns', () => {
187
- test('I', () => {
188
- expect(util.dePolite('I test')).toBe('test');
189
- });
190
- test(`I'm`, () => {
191
- expect(util.dePolite(`I'm test`)).toBe('test');
192
- });
193
- });
194
- describe('combinations', () => {
195
- test('Given I test', () => {
196
- expect(util.dePolite('Given I test')).toBe('test');
197
- });
198
- test(`Given I am test`, () => {
199
- expect(util.dePolite(`Given I am test`)).toBe('test');
200
- });
201
- test('Given am an test', () => {
202
- expect(util.dePolite('Given am an test')).toBe('test');
203
- });
204
- test('And I should see', () => {
205
- expect(util.dePolite('And I should see')).toBe('see');
206
- });
207
- });
208
- });
209
- describe('optionOrError', () => {
210
- it('rejects no option', () => {
211
- expect(util.optionOrError('a', ['b']).parseError).toBeDefined();
212
- });
213
- it('rejects undefined option', () => {
214
- expect(util.optionOrError(undefined, ['b']).parseError).toBeDefined();
215
- });
216
- it('returns options', () => {
217
- expect(util.optionOrError('b', ['b'])).toEqual({ result: 'b' });
218
- });
219
- });
220
- describe('boolOrError', () => {
221
- it('returns true', () => {
222
- expect(util.boolOrError('true')).toEqual({ result: true });
223
- });
224
- it('returns false', () => {
225
- expect(util.boolOrError('false')).toEqual({ result: false });
226
- });
227
- it('returns error', () => {
228
- expect(util.boolOrError('wtw').parseError).toBeDefined();
229
- });
230
- });
231
- describe('stringOrError', () => {
232
- it('returns value', () => {
233
- expect(util.stringOrError('a')).toEqual({ result: 'a' });
234
- });
235
- it('returns error', () => {
236
- expect(() => util.stringOrError(undefined).parseError).toBeDefined();
237
- });
238
- });
239
- //# 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,88 +0,0 @@
1
- import { describe, it, test, expect } from 'vitest';
2
- import { OK } from '../lib/defs.js';
3
- import { AStepper } from '../lib/astepper.js';
4
- import { asExpandedFeatures } from '../lib/resolver-features.js';
5
- import TestSteps from '../lib/test/TestSteps.js';
6
- import { createSteppers } from '../lib/util/index.js';
7
- import { Resolver } from './Resolver.js';
8
- describe('resolve steps', () => {
9
- it('resolves steps', async () => {
10
- const features = asExpandedFeatures([{ path: 'l1', content: 'Then it passes' }]);
11
- const steppers = await createSteppers([TestSteps]);
12
- const resolver = new Resolver(steppers);
13
- const steps = await resolver.resolveStepsFromFeatures(features);
14
- expect(steps.length).toBe(1);
15
- });
16
- });
17
- describe('validate map steps', () => {
18
- class TestStepper extends AStepper {
19
- steps = {
20
- exact: {
21
- exact: 'exact1',
22
- action: async () => Promise.resolve(OK),
23
- },
24
- match: {
25
- match: /match(?<num>1)/,
26
- action: async () => Promise.resolve(OK),
27
- },
28
- gwta: {
29
- gwta: 'gwta(?<num>.)',
30
- action: async () => Promise.resolve(OK),
31
- },
32
- gwtaInterpolated: {
33
- gwta: 'is {what}',
34
- action: async () => Promise.resolve(OK),
35
- },
36
- };
37
- }
38
- const getResolvedSteps = async (features) => {
39
- const steppers = await createSteppers([TestStepper]);
40
- const resolver = new Resolver(steppers);
41
- return await resolver.resolveStepsFromFeatures(features);
42
- };
43
- describe('exact', () => {
44
- test('exact', async () => {
45
- const features = asExpandedFeatures([{ path: 'l1', content: `exact1` }]);
46
- const res = await getResolvedSteps(features);
47
- const { featureSteps } = res[0];
48
- expect(featureSteps[0].action.named).toBeUndefined();
49
- });
50
- });
51
- describe('match', () => {
52
- test('match', async () => {
53
- const features = asExpandedFeatures([{ path: 'l1', content: `match1` }]);
54
- const res = await getResolvedSteps(features);
55
- const { featureSteps } = res[0];
56
- expect(featureSteps[0].action.named).toEqual({ num: '1' });
57
- });
58
- });
59
- describe('gwta regex', () => {
60
- test('gwta', async () => {
61
- const features = asExpandedFeatures([
62
- { path: 'l1', content: `gwta2\nGiven I'm gwta3\nWhen I am gwta4\nGwta5\nThen the gwta6` },
63
- ]);
64
- const res = await getResolvedSteps(features);
65
- const { featureSteps } = res[0];
66
- expect(featureSteps[0].action.named).toEqual({ num: '2' });
67
- expect(featureSteps[1].action.named).toEqual({ num: '3' });
68
- expect(featureSteps[2].action.named).toEqual({ num: '4' });
69
- expect(featureSteps[3].action.named).toEqual({ num: '5' });
70
- expect(featureSteps[4].action.named).toEqual({ num: '6' });
71
- });
72
- });
73
- describe('gwta interpolated', () => {
74
- test('gets quoted', async () => {
75
- const features = asExpandedFeatures([{ path: 'l1', content: 'is "string"' }]);
76
- const res = await getResolvedSteps(features);
77
- const { featureSteps } = res[0];
78
- expect(featureSteps[0].action.named?.q_0).toEqual('string');
79
- });
80
- test('gets uri', async () => {
81
- const features = asExpandedFeatures([{ path: 'l1', content: 'is http://url' }]);
82
- const res = await getResolvedSteps(features);
83
- const { featureSteps } = res[0];
84
- expect(featureSteps[0].action.named?.t_0).toEqual('http://url');
85
- });
86
- });
87
- });
88
- //# 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":""}