@haibun/core 1.40.9 → 1.41.1-alpha
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.
- package/build/currentVersion.d.ts +1 -1
- package/build/currentVersion.d.ts.map +1 -1
- package/build/currentVersion.js +1 -2
- package/build/currentVersion.js.map +1 -1
- package/build/lib/contexts.d.ts +0 -12
- package/build/lib/contexts.d.ts.map +1 -1
- package/build/lib/contexts.js +1 -22
- package/build/lib/contexts.js.map +1 -1
- package/build/lib/defs.d.ts +4 -34
- package/build/lib/defs.d.ts.map +1 -1
- package/build/lib/defs.js +0 -1
- package/build/lib/defs.js.map +1 -1
- package/build/lib/domain-types.d.ts +14 -0
- package/build/lib/domain-types.d.ts.map +1 -0
- package/build/lib/domain-types.js +7 -0
- package/build/lib/domain-types.js.map +1 -0
- package/build/lib/namedVars.d.ts.map +1 -1
- package/build/lib/namedVars.js +5 -7
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/run-with-options.o.d.ts +2 -0
- package/build/lib/run-with-options.o.d.ts.map +1 -0
- package/build/lib/run-with-options.o.js +113 -0
- package/build/lib/run-with-options.o.js.map +1 -0
- package/build/lib/{run.d.ts → run.o.d.ts} +1 -10
- package/build/lib/run.o.d.ts.map +1 -0
- package/build/lib/{run.js → run.o.js} +7 -16
- package/build/lib/run.o.js.map +1 -0
- package/build/lib/test/TestStepsWithOptions.js +2 -2
- package/build/lib/test/TestStepsWithOptions.js.map +1 -1
- package/build/lib/test/lib.d.ts.map +1 -1
- package/build/lib/test/lib.js +10 -13
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/util/index.d.ts +7 -7
- package/build/lib/util/index.d.ts.map +1 -1
- package/build/lib/util/index.js +33 -28
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/util/workspace-lib.js +1 -1
- package/build/lib/util/workspace-lib.js.map +1 -1
- package/build/phases/Executor.js +1 -1
- package/build/phases/Executor.js.map +1 -1
- package/build/phases/Resolver.d.ts +1 -4
- package/build/phases/Resolver.d.ts.map +1 -1
- package/build/phases/Resolver.js +12 -43
- package/build/phases/Resolver.js.map +1 -1
- package/build/phases/collector.d.ts.map +1 -1
- package/build/phases/collector.js.map +1 -1
- package/build/runner.d.ts +11 -0
- package/build/runner.d.ts.map +1 -0
- package/build/runner.js +58 -0
- package/build/runner.js.map +1 -0
- package/build/steps/haibun.d.ts +0 -9
- package/build/steps/haibun.d.ts.map +1 -1
- package/build/steps/haibun.js +0 -15
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/vars.d.ts +0 -4
- package/build/steps/vars.d.ts.map +1 -1
- package/build/steps/vars.js +4 -21
- package/build/steps/vars.js.map +1 -1
- package/package.json +1 -1
- package/build/lib/Logger.test.d.ts +0 -2
- package/build/lib/Logger.test.d.ts.map +0 -1
- package/build/lib/Logger.test.js +0 -52
- package/build/lib/Logger.test.js.map +0 -1
- package/build/lib/domain.d.ts +0 -12
- package/build/lib/domain.d.ts.map +0 -1
- package/build/lib/domain.js +0 -109
- package/build/lib/domain.js.map +0 -1
- package/build/lib/features.test.d.ts +0 -2
- package/build/lib/features.test.d.ts.map +0 -1
- package/build/lib/features.test.js +0 -127
- package/build/lib/features.test.js.map +0 -1
- package/build/lib/namedVars.test.d.ts +0 -2
- package/build/lib/namedVars.test.d.ts.map +0 -1
- package/build/lib/namedVars.test.js +0 -111
- package/build/lib/namedVars.test.js.map +0 -1
- package/build/lib/run-with-options.d.ts +0 -21
- package/build/lib/run-with-options.d.ts.map +0 -1
- package/build/lib/run-with-options.js +0 -80
- package/build/lib/run-with-options.js.map +0 -1
- package/build/lib/run.d.ts.map +0 -1
- package/build/lib/run.domains.test.d.ts +0 -2
- package/build/lib/run.domains.test.d.ts.map +0 -1
- package/build/lib/run.domains.test.js +0 -68
- package/build/lib/run.domains.test.js.map +0 -1
- package/build/lib/run.js.map +0 -1
- package/build/lib/run.test.d.ts +0 -2
- package/build/lib/run.test.d.ts.map +0 -1
- package/build/lib/run.test.js +0 -111
- package/build/lib/run.test.js.map +0 -1
- package/build/lib/test/TestStepsWithDomain.d.ts +0 -26
- package/build/lib/test/TestStepsWithDomain.d.ts.map +0 -1
- package/build/lib/test/TestStepsWithDomain.js +0 -14
- package/build/lib/test/TestStepsWithDomain.js.map +0 -1
- package/build/lib/test/lib.test.d.ts +0 -2
- package/build/lib/test/lib.test.d.ts.map +0 -1
- package/build/lib/test/lib.test.js +0 -9
- package/build/lib/test/lib.test.js.map +0 -1
- package/build/lib/util/gwtaRegex.d.ts +0 -2
- package/build/lib/util/gwtaRegex.d.ts.map +0 -1
- package/build/lib/util/gwtaRegex.js +0 -25
- package/build/lib/util/gwtaRegex.js.map +0 -1
- package/build/lib/util/util.test.d.ts +0 -2
- package/build/lib/util/util.test.d.ts.map +0 -1
- package/build/lib/util/util.test.js +0 -322
- package/build/lib/util/util.test.js.map +0 -1
- package/build/lib/util/workspace-lib.test.d.ts +0 -2
- package/build/lib/util/workspace-lib.test.d.ts.map +0 -1
- package/build/lib/util/workspace-lib.test.js +0 -20
- package/build/lib/util/workspace-lib.test.js.map +0 -1
- package/build/phases/Builder.d.ts +0 -17
- package/build/phases/Builder.d.ts.map +0 -1
- package/build/phases/Builder.js +0 -70
- package/build/phases/Builder.js.map +0 -1
- package/build/phases/Builder.test.d.ts +0 -2
- package/build/phases/Builder.test.d.ts.map +0 -1
- package/build/phases/Builder.test.js +0 -32
- package/build/phases/Builder.test.js.map +0 -1
- package/build/phases/Resolver.domains.test.d.ts +0 -2
- package/build/phases/Resolver.domains.test.d.ts.map +0 -1
- package/build/phases/Resolver.domains.test.js +0 -74
- package/build/phases/Resolver.domains.test.js.map +0 -1
- package/build/phases/Resolver.test.d.ts +0 -2
- package/build/phases/Resolver.test.d.ts.map +0 -1
- package/build/phases/Resolver.test.js +0 -90
- package/build/phases/Resolver.test.js.map +0 -1
- package/build/phases/collector.test.d.ts +0 -2
- package/build/phases/collector.test.d.ts.map +0 -1
- package/build/phases/collector.test.js +0 -91
- package/build/phases/collector.test.js.map +0 -1
- package/build/steps/haibun.test.d.ts +0 -2
- package/build/steps/haibun.test.d.ts.map +0 -1
- package/build/steps/haibun.test.js +0 -83
- package/build/steps/haibun.test.js.map +0 -1
- package/build/steps/vars.test.d.ts +0 -2
- package/build/steps/vars.test.d.ts.map +0 -1
- package/build/steps/vars.test.js +0 -37
- package/build/steps/vars.test.js.map +0 -1
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import { describe, it, test, expect } from 'vitest';
|
|
2
|
-
import * as util from './index.js';
|
|
3
|
-
import * as TFileSystemJs from './workspace-lib.js';
|
|
4
|
-
import { HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS, getDefaultWorld, testWithDefaults, getCreateSteppers, TEST_BASE } from '../test/lib.js';
|
|
5
|
-
import TestSteps from '../test/TestSteps.js';
|
|
6
|
-
import TestStepsWithOptions from '../test/TestStepsWithOptions.js';
|
|
7
|
-
import { withNameType } from '../features.js';
|
|
8
|
-
import { AStepper, HANDLER_USAGE, OK } from '../defs.js';
|
|
9
|
-
import { constructorName } from './index.js';
|
|
10
|
-
describe('output', () => {
|
|
11
|
-
it('OutputResult default', async () => {
|
|
12
|
-
const features = [
|
|
13
|
-
{ path: '/features/test1.feature', content: `When I have a test\nThen fails` },
|
|
14
|
-
{ path: '/features/test2.feature', content: `When I have a test\nThen it passes` },
|
|
15
|
-
];
|
|
16
|
-
const result = await testWithDefaults(features, [TestSteps]);
|
|
17
|
-
expect(result.ok).toBe(false);
|
|
18
|
-
const output = await TFileSystemJs.getOutputResult(undefined, result);
|
|
19
|
-
expect(typeof output).toBe('object');
|
|
20
|
-
expect(result.featureResults?.length).toBe(2);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
describe('isLowerCase', () => {
|
|
24
|
-
it('is lower case', () => {
|
|
25
|
-
expect(util.isLowerCase('a')).toBe(true);
|
|
26
|
-
expect(util.isLowerCase('A')).toBe(false);
|
|
27
|
-
expect(util.isLowerCase('0')).toBe(false);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
describe('findHandlers', () => {
|
|
31
|
-
const TEST_HANDLER = 'testHandler';
|
|
32
|
-
class TestStepper extends AStepper {
|
|
33
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
34
|
-
steps;
|
|
35
|
-
}
|
|
36
|
-
it('finds handlers from classes that implement IHasHandler', () => {
|
|
37
|
-
class TestStepperHandler extends TestStepper {
|
|
38
|
-
handlers = { testHandler: { handle: () => undefined } };
|
|
39
|
-
}
|
|
40
|
-
const found = util.findHandlers([new TestStepperHandler()], TEST_HANDLER);
|
|
41
|
-
expect(found.length).toBe(1);
|
|
42
|
-
expect(constructorName(found[0].stepper)).toBe('TestStepperHandler');
|
|
43
|
-
});
|
|
44
|
-
it(`does not find handlers from classes that don't implement IHasHandler`, () => {
|
|
45
|
-
const found = util.findHandlers([new TestStepper()], TEST_HANDLER);
|
|
46
|
-
expect(found.length).toBe(0);
|
|
47
|
-
});
|
|
48
|
-
it(`finds exclusive handler`, () => {
|
|
49
|
-
class ExclusiveTestStepperHandler extends TestStepper {
|
|
50
|
-
handlers = { testHandler: { handle: () => undefined, usage: HANDLER_USAGE.EXCLUSIVE } };
|
|
51
|
-
}
|
|
52
|
-
const found = util.findHandlers([new TestStepper(), new ExclusiveTestStepperHandler()], TEST_HANDLER);
|
|
53
|
-
expect(found.length).toBe(1);
|
|
54
|
-
expect(constructorName(found[0].stepper)).toBe('ExclusiveTestStepperHandler');
|
|
55
|
-
});
|
|
56
|
-
it(`throws error for duplicate exclusives`, () => {
|
|
57
|
-
class ExclusiveTestStepperHandler extends TestStepper {
|
|
58
|
-
handlers = { testHandler: { handle: () => undefined, usage: HANDLER_USAGE.EXCLUSIVE } };
|
|
59
|
-
}
|
|
60
|
-
class ExclusiveTestStepperHandlerToo extends TestStepper {
|
|
61
|
-
handlers = { testHandler: { handle: () => undefined, usage: HANDLER_USAGE.EXCLUSIVE } };
|
|
62
|
-
}
|
|
63
|
-
expect(() => util.findHandlers([new TestStepper(), new ExclusiveTestStepperHandler(), new ExclusiveTestStepperHandlerToo()], TEST_HANDLER)).toThrow();
|
|
64
|
-
});
|
|
65
|
-
it(`removes fallback`, () => {
|
|
66
|
-
class TestStepperHandler extends TestStepper {
|
|
67
|
-
handlers = { testHandler: { handle: () => undefined, } };
|
|
68
|
-
}
|
|
69
|
-
class FallbackTestStepperHandler extends TestStepper {
|
|
70
|
-
handlers = { testHandler: { handle: () => undefined, usage: HANDLER_USAGE.FALLBACK } };
|
|
71
|
-
}
|
|
72
|
-
const found = util.findHandlers([new TestStepperHandler(), new FallbackTestStepperHandler()], TEST_HANDLER);
|
|
73
|
-
expect(found.length).toBe(1);
|
|
74
|
-
expect(constructorName(found[0].stepper)).toBe('TestStepperHandler');
|
|
75
|
-
});
|
|
76
|
-
it(`keeps one fallback from mix pak`, () => {
|
|
77
|
-
class TestStepperHandler extends TestStepper {
|
|
78
|
-
handlers = { testHandler: { handle: () => undefined, } };
|
|
79
|
-
}
|
|
80
|
-
class FallbackTestStepperHandler extends TestStepper {
|
|
81
|
-
handlers = { testHandler: { handle: () => undefined, usage: HANDLER_USAGE.FALLBACK } };
|
|
82
|
-
}
|
|
83
|
-
class FallbackTestStepperHandlerToo extends TestStepper {
|
|
84
|
-
handlers = { testHandler: { handle: () => undefined, usage: HANDLER_USAGE.FALLBACK } };
|
|
85
|
-
}
|
|
86
|
-
const found = util.findHandlers([new TestStepperHandler(), new FallbackTestStepperHandler(), new FallbackTestStepperHandlerToo()], TEST_HANDLER);
|
|
87
|
-
expect(found.length).toBe(1);
|
|
88
|
-
expect(constructorName(found[0].stepper)).toBe('TestStepperHandler');
|
|
89
|
-
});
|
|
90
|
-
it(`keeps first fallback from multiple fallbacks`, () => {
|
|
91
|
-
class FallbackTestStepperHandler extends TestStepper {
|
|
92
|
-
handlers = { testHandler: { handle: () => undefined, usage: HANDLER_USAGE.FALLBACK } };
|
|
93
|
-
}
|
|
94
|
-
class FallbackTestStepperHandlerToo extends TestStepper {
|
|
95
|
-
handlers = { testHandler: { handle: () => undefined, usage: HANDLER_USAGE.FALLBACK } };
|
|
96
|
-
}
|
|
97
|
-
const found = util.findHandlers([new FallbackTestStepperHandler(), new FallbackTestStepperHandlerToo()], TEST_HANDLER);
|
|
98
|
-
expect(found.length).toBe(1);
|
|
99
|
-
expect(constructorName(found[0].stepper)).toBe('FallbackTestStepperHandler');
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
describe('findStepperFromOptions', () => {
|
|
103
|
-
const TestOptionsStepper = class TestOptionsStepper extends AStepper {
|
|
104
|
-
options = {
|
|
105
|
-
A: {
|
|
106
|
-
desc: 'A exists',
|
|
107
|
-
parse: (input) => util.stringOrError(input),
|
|
108
|
-
},
|
|
109
|
-
B: {
|
|
110
|
-
desc: 'B exists',
|
|
111
|
-
parse: (input) => util.stringOrError(input),
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
steps = {
|
|
115
|
-
test: {
|
|
116
|
-
exact: 'When I have a stepper option',
|
|
117
|
-
action: async () => OK,
|
|
118
|
-
},
|
|
119
|
-
};
|
|
120
|
-
};
|
|
121
|
-
it('finds from single option', async () => {
|
|
122
|
-
const ts = new TestOptionsStepper();
|
|
123
|
-
const steppers = await getCreateSteppers([], [TestOptionsStepper]);
|
|
124
|
-
const options = { [util.getStepperOptionName(ts, 'A')]: 'TestOptionsStepper' };
|
|
125
|
-
const s = util.findStepperFromOption(steppers, ts, options, 'A');
|
|
126
|
-
expect(s).toBeDefined();
|
|
127
|
-
});
|
|
128
|
-
it('finds from last multiple options', async () => {
|
|
129
|
-
const ts = new TestOptionsStepper();
|
|
130
|
-
const steppers = await getCreateSteppers([], [TestOptionsStepper]);
|
|
131
|
-
const options = { [util.getStepperOptionName(ts, 'B')]: 'TestOptionsStepper' };
|
|
132
|
-
const s = util.findStepperFromOption(steppers, ts, options, 'A', 'B');
|
|
133
|
-
expect(s).toBeDefined();
|
|
134
|
-
});
|
|
135
|
-
// FIXME vitest where is TestSteps2 coming from?
|
|
136
|
-
it('finds from first multiple options', async () => {
|
|
137
|
-
const ts = new TestOptionsStepper();
|
|
138
|
-
const steppers = await getCreateSteppers([], [TestSteps, TestOptionsStepper]);
|
|
139
|
-
const options = { [util.getStepperOptionName(ts, 'optionA')]: 'TestSteps', [util.getStepperOptionName(ts, 'B')]: 'TestOptionsStepper' };
|
|
140
|
-
const s = util.findStepperFromOption(steppers, ts, options, 'optionA', 'optionB');
|
|
141
|
-
expect(s).toBeDefined();
|
|
142
|
-
expect(constructorName(s)).toBe('TestSteps');
|
|
143
|
-
});
|
|
144
|
-
it('throws for not found stepper', async () => {
|
|
145
|
-
const ts = new TestOptionsStepper();
|
|
146
|
-
const steppers = await getCreateSteppers([], [TestOptionsStepper]);
|
|
147
|
-
const options = {};
|
|
148
|
-
expect(() => util.findStepperFromOption(steppers, ts, options, 'S')).toThrow;
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
describe('verifyRequiredOptions', () => {
|
|
152
|
-
class TestOptionsStepperWithReauired extends AStepper {
|
|
153
|
-
options = {
|
|
154
|
-
A: {
|
|
155
|
-
required: true,
|
|
156
|
-
altSource: 'B',
|
|
157
|
-
desc: 'A is an option',
|
|
158
|
-
parse: (input) => util.stringOrError(input),
|
|
159
|
-
},
|
|
160
|
-
B: {
|
|
161
|
-
desc: 'B is an altsource',
|
|
162
|
-
parse: (input) => util.stringOrError(input),
|
|
163
|
-
},
|
|
164
|
-
};
|
|
165
|
-
steps = {
|
|
166
|
-
test: {
|
|
167
|
-
exact: 'When I have a stepper option',
|
|
168
|
-
action: async () => OK,
|
|
169
|
-
},
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
it('has option', async () => {
|
|
173
|
-
const options = { [util.getStepperOptionName(new TestOptionsStepperWithReauired(), 'A')]: 'TestSteps' };
|
|
174
|
-
await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], options)).resolves.not.toThrow();
|
|
175
|
-
});
|
|
176
|
-
it('throws for missing option', async () => {
|
|
177
|
-
await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], {})).rejects.toThrow();
|
|
178
|
-
});
|
|
179
|
-
it('uses altSource', async () => {
|
|
180
|
-
const options = { [util.getStepperOptionName(new TestOptionsStepperWithReauired(), 'B')]: 'TestSteps' };
|
|
181
|
-
await expect(util.verifyRequiredOptions([TestOptionsStepperWithReauired], options)).resolves.not.toThrow();
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
describe('getStepperOptions', () => {
|
|
185
|
-
it('finds stepper options', async () => {
|
|
186
|
-
const conc = util.getStepperOptionValue(HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS, 'true', [TestStepsWithOptions]);
|
|
187
|
-
expect(conc).toBeDefined();
|
|
188
|
-
});
|
|
189
|
-
it.skip('fills extra', async () => {
|
|
190
|
-
const { world } = getDefaultWorld(0);
|
|
191
|
-
await util.verifyExtraOptions({ [HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS]: 'true' }, [TestStepsWithOptions]);
|
|
192
|
-
console.log('🤑', JSON.stringify(world.options, null, 2));
|
|
193
|
-
expect(world.options[HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS]).toEqual(42);
|
|
194
|
-
});
|
|
195
|
-
it('throws for unfilled extra', async () => {
|
|
196
|
-
await expect(async () => util.verifyExtraOptions({ HAIBUN_NE: 'true' }, [])).rejects.toThrow();
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
|
-
describe('getType', () => {
|
|
200
|
-
it('finds a type', () => {
|
|
201
|
-
expect(withNameType(TEST_BASE, 'file.type.feature', '').type).toBe('type');
|
|
202
|
-
});
|
|
203
|
-
it('finds no type', () => {
|
|
204
|
-
expect(withNameType(TEST_BASE, 'file.feature', '').type).toBe('feature');
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
describe('check module is class', () => {
|
|
208
|
-
it('should pass a class', () => {
|
|
209
|
-
expect(util.checkModuleIsClass(class a {
|
|
210
|
-
}, 'a')).toEqual(undefined);
|
|
211
|
-
});
|
|
212
|
-
it('should fail a function', () => {
|
|
213
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
214
|
-
expect(() => util.checkModuleIsClass(function a() { }, 'a')).toThrow(undefined);
|
|
215
|
-
});
|
|
216
|
-
});
|
|
217
|
-
describe('asError', () => {
|
|
218
|
-
it('should pass an error', () => {
|
|
219
|
-
expect(util.asError(new Error('a'))).toEqual(new Error('a'));
|
|
220
|
-
});
|
|
221
|
-
it('should pass a string', () => {
|
|
222
|
-
expect(util.asError('a')).toEqual(new Error('a'));
|
|
223
|
-
});
|
|
224
|
-
it('should pass a number', () => {
|
|
225
|
-
expect(util.asError(1)).toEqual(new Error('1'));
|
|
226
|
-
});
|
|
227
|
-
it('should pass a boolean', () => {
|
|
228
|
-
expect(util.asError(true)).toEqual(new Error('true'));
|
|
229
|
-
});
|
|
230
|
-
it('should pass an object', () => {
|
|
231
|
-
expect(util.asError({ a: 1 })).toEqual(new Error({ a: 1 }));
|
|
232
|
-
});
|
|
233
|
-
it('should pass an array', () => {
|
|
234
|
-
expect(util.asError([1, 2])).toEqual(new Error([1, 2]));
|
|
235
|
-
});
|
|
236
|
-
it('should pass null', () => {
|
|
237
|
-
expect(util.asError(null)).toEqual(new Error('null'));
|
|
238
|
-
});
|
|
239
|
-
it('should pass undefined', () => {
|
|
240
|
-
expect(util.asError(undefined)).toEqual(new Error());
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
describe('depolite', () => {
|
|
244
|
-
describe('conjunctions', () => {
|
|
245
|
-
test('Given', () => {
|
|
246
|
-
expect(util.dePolite('Given test')).toBe('test');
|
|
247
|
-
});
|
|
248
|
-
test('When', () => {
|
|
249
|
-
expect(util.dePolite('When test')).toBe('test');
|
|
250
|
-
});
|
|
251
|
-
test('Then', () => {
|
|
252
|
-
expect(util.dePolite('Then test')).toBe('test');
|
|
253
|
-
});
|
|
254
|
-
test('And', () => {
|
|
255
|
-
expect(util.dePolite('And test')).toBe('test');
|
|
256
|
-
});
|
|
257
|
-
});
|
|
258
|
-
describe('articles', () => {
|
|
259
|
-
test('The', () => {
|
|
260
|
-
expect(util.dePolite('The test')).toBe('test');
|
|
261
|
-
});
|
|
262
|
-
test('A', () => {
|
|
263
|
-
expect(util.dePolite('A test')).toBe('test');
|
|
264
|
-
});
|
|
265
|
-
test('An', () => {
|
|
266
|
-
expect(util.dePolite('An test')).toBe('test');
|
|
267
|
-
});
|
|
268
|
-
});
|
|
269
|
-
describe('pronouns', () => {
|
|
270
|
-
test('I', () => {
|
|
271
|
-
expect(util.dePolite('I test')).toBe('test');
|
|
272
|
-
});
|
|
273
|
-
test(`I'm`, () => {
|
|
274
|
-
expect(util.dePolite(`I'm test`)).toBe('test');
|
|
275
|
-
});
|
|
276
|
-
});
|
|
277
|
-
describe('combinations', () => {
|
|
278
|
-
test('Given I test', () => {
|
|
279
|
-
expect(util.dePolite('Given I test')).toBe('test');
|
|
280
|
-
});
|
|
281
|
-
test(`Given I am test`, () => {
|
|
282
|
-
expect(util.dePolite(`Given I am test`)).toBe('test');
|
|
283
|
-
});
|
|
284
|
-
test('Given am an test', () => {
|
|
285
|
-
expect(util.dePolite('Given am an test')).toBe('test');
|
|
286
|
-
});
|
|
287
|
-
test('And I should see', () => {
|
|
288
|
-
expect(util.dePolite('And I should see')).toBe('see');
|
|
289
|
-
});
|
|
290
|
-
});
|
|
291
|
-
});
|
|
292
|
-
describe('optionOrError', () => {
|
|
293
|
-
it('rejects no option', async () => {
|
|
294
|
-
expect(util.optionOrError('a', ['b']).error).toBeDefined();
|
|
295
|
-
});
|
|
296
|
-
it('rejects undefined option', async () => {
|
|
297
|
-
expect(util.optionOrError(undefined, ['b']).error).toBeDefined();
|
|
298
|
-
});
|
|
299
|
-
it('returns options', async () => {
|
|
300
|
-
expect(util.optionOrError('b', ['b'])).toEqual({ result: 'b' });
|
|
301
|
-
});
|
|
302
|
-
});
|
|
303
|
-
describe('boolOrError', () => {
|
|
304
|
-
it('returns true', async () => {
|
|
305
|
-
expect(util.boolOrError('true')).toEqual({ result: true });
|
|
306
|
-
});
|
|
307
|
-
it('returns false', async () => {
|
|
308
|
-
expect(util.boolOrError('false')).toEqual({ result: false });
|
|
309
|
-
});
|
|
310
|
-
it('returns error', async () => {
|
|
311
|
-
expect(util.boolOrError('wtw').error).toBeDefined();
|
|
312
|
-
});
|
|
313
|
-
});
|
|
314
|
-
describe('stringOrError', () => {
|
|
315
|
-
it('returns value', async () => {
|
|
316
|
-
expect(util.stringOrError('a')).toEqual({ result: 'a' });
|
|
317
|
-
});
|
|
318
|
-
it('returns error', async () => {
|
|
319
|
-
expect(() => util.stringOrError(undefined).error).toBeDefined();
|
|
320
|
-
});
|
|
321
|
-
});
|
|
322
|
-
//# 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 +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', async () => {
|
|
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', async () => {
|
|
11
|
-
expect(rel(TFileSystemJs.getModuleLocation('test'))).toBe('../../steps/test');
|
|
12
|
-
});
|
|
13
|
-
it('finds module location for scoped module', async () => {
|
|
14
|
-
expect(rel(TFileSystemJs.getModuleLocation('./src/test.js'))).toBe('src/test.js');
|
|
15
|
-
});
|
|
16
|
-
it('finds module location for scoped module with tilde', async () => {
|
|
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,KAAK,IAAI,EAAE;QACpC,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,KAAK,IAAI,EAAE;QAC1C,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,KAAK,IAAI,EAAE;QACvD,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,KAAK,IAAI,EAAE;QAClE,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,17 +0,0 @@
|
|
|
1
|
-
import { WorkspaceContext } from '../lib/contexts.js';
|
|
2
|
-
import { AStepper, TFinalize, TVStep, TWorld } from '../lib/defs.js';
|
|
3
|
-
import { Resolver } from './Resolver.js';
|
|
4
|
-
export declare const BUILT = "_built";
|
|
5
|
-
export declare const EVENT_AFTER = "_after";
|
|
6
|
-
export default class Builder {
|
|
7
|
-
world: TWorld;
|
|
8
|
-
workspace: WorkspaceContext;
|
|
9
|
-
steppers: AStepper[];
|
|
10
|
-
finalizers: {
|
|
11
|
-
[path: string]: TFinalize[];
|
|
12
|
-
};
|
|
13
|
-
constructor(steppers: AStepper[], world: TWorld, workspace?: WorkspaceContext);
|
|
14
|
-
buildStep(vstep: TVStep, path: any, resolver: Resolver): Promise<void>;
|
|
15
|
-
finalize(): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=Builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/phases/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAgB,SAAS,EAA+C,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGhI,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,eAAO,MAAM,KAAK,WAAW,CAAC;AAC9B,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,UAAU,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;KAAE,CAAM;gBACrC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,gBAAkD;IA2BjG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,KAAA,EAAE,QAAQ,EAAE,QAAQ;IA8BjD,QAAQ;CAOtB"}
|
package/build/phases/Builder.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { WorkspaceContext } from '../lib/contexts.js';
|
|
2
|
-
import { getNamedToVars } from '../lib/namedVars.js';
|
|
3
|
-
import { applyResShouldContinue, findStepper } from '../lib/util/index.js';
|
|
4
|
-
export const BUILT = '_built';
|
|
5
|
-
export const EVENT_AFTER = '_after';
|
|
6
|
-
export default class Builder {
|
|
7
|
-
world;
|
|
8
|
-
workspace;
|
|
9
|
-
steppers;
|
|
10
|
-
finalizers = {};
|
|
11
|
-
constructor(steppers, world, workspace = new WorkspaceContext(`builder`)) {
|
|
12
|
-
this.steppers = steppers;
|
|
13
|
-
this.world = world;
|
|
14
|
-
this.workspace = workspace;
|
|
15
|
-
}
|
|
16
|
-
/*
|
|
17
|
-
async build(features: TResolvedFeature[]) {
|
|
18
|
-
this.world.shared.values._scored = [];
|
|
19
|
-
for (const feature of features) {
|
|
20
|
-
await this.buildSteps(feature);
|
|
21
|
-
}
|
|
22
|
-
for (const key of Object.keys(this.finalizers)) {
|
|
23
|
-
for (const finalize of this.finalizers[key]) {
|
|
24
|
-
finalize(this.workspace.get(key));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return OK;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
public async buildSteps(feature: TResolvedFeature) {
|
|
32
|
-
for (const vstep of feature.vsteps) {
|
|
33
|
-
await this.buildStep(vstep, feature);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
*/
|
|
37
|
-
async buildStep(vstep, path, resolver) {
|
|
38
|
-
for (const action of vstep.actions) {
|
|
39
|
-
if (!action.step.build) {
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
if (!this.workspace.get(path)) {
|
|
43
|
-
this.workspace.createPath(path);
|
|
44
|
-
this.finalizers[path] = [];
|
|
45
|
-
}
|
|
46
|
-
const found = vstep.actions[0];
|
|
47
|
-
const namedWithVars = getNamedToVars(found, this.world, vstep);
|
|
48
|
-
const stepper = findStepper(this.steppers, found.stepperName);
|
|
49
|
-
const res = await stepper.steps[found.actionName].build(namedWithVars, vstep, this.workspace, resolver, this.steppers);
|
|
50
|
-
const shouldContinue = applyResShouldContinue(this.world, res, action);
|
|
51
|
-
if (!shouldContinue || !res.ok) {
|
|
52
|
-
throw Error(`${action.actionName}: ${res.message}`);
|
|
53
|
-
}
|
|
54
|
-
if (res.finalize) {
|
|
55
|
-
this.finalizers[path].push(res.finalize);
|
|
56
|
-
}
|
|
57
|
-
if (res.workspace) {
|
|
58
|
-
this.world.shared.values[BUILT] = { ...this.world.shared.values[BUILT], ...this.workspace };
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
async finalize() {
|
|
63
|
-
for (const key of Object.keys(this.finalizers)) {
|
|
64
|
-
for (const finalize of this.finalizers[key]) {
|
|
65
|
-
await finalize(this.workspace.get(key));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/phases/Builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.test.d.ts","sourceRoot":"","sources":["../../src/phases/Builder.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { describe, test } from 'vitest';
|
|
2
|
-
import { WorkspaceContext } from '../lib/contexts.js';
|
|
3
|
-
import { OK } from '../lib/defs.js';
|
|
4
|
-
import { getCreateSteppers, getDefaultWorld } from '../lib/test/lib.js';
|
|
5
|
-
import Builder from './Builder.js';
|
|
6
|
-
describe('Builder', () => {
|
|
7
|
-
test('throws', async () => {
|
|
8
|
-
const steppers = await getCreateSteppers([]);
|
|
9
|
-
const throws = async () => {
|
|
10
|
-
throw Error('fails');
|
|
11
|
-
};
|
|
12
|
-
const builder = new Builder(steppers, getDefaultWorld(0).world);
|
|
13
|
-
// expect(async () => await builder.build([feature(throws)])).rejects.toThrow('fails');
|
|
14
|
-
});
|
|
15
|
-
test('passes', async () => {
|
|
16
|
-
const steppers = await getCreateSteppers([]);
|
|
17
|
-
const throws = async () => OK;
|
|
18
|
-
const builder = new Builder(steppers, getDefaultWorld(0).world);
|
|
19
|
-
// const res = await builder.build([feature(throws)]);
|
|
20
|
-
// expect(res).toBe(OK);
|
|
21
|
-
});
|
|
22
|
-
test('finalizes', async () => {
|
|
23
|
-
const steppers = await getCreateSteppers([]);
|
|
24
|
-
const finalize = (workspace) => workspace.set('done', true);
|
|
25
|
-
const finalizes = async () => ({ ...OK, finalize });
|
|
26
|
-
const workspace = new WorkspaceContext(`test builder finalizes`);
|
|
27
|
-
const builder = new Builder(steppers, getDefaultWorld(0).world, workspace);
|
|
28
|
-
// await builder.build([feature(finalizes)]);
|
|
29
|
-
// expect(workspace['passes.feature'].done).toBe(true);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=Builder.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.test.js","sourceRoot":"","sources":["../../src/phases/Builder.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAa,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACxB,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,uFAAuF;IACzF,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,sDAAsD;QACtD,wBAAwB;IAC1B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAc,CAAC,SAA2B,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,MAAM,SAAS,GAAqB,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3E,6CAA6C;QAC7C,uDAAuD;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.domains.test.d.ts","sourceRoot":"","sources":["../../src/phases/Resolver.domains.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { describe, test, expect } from 'vitest';
|
|
2
|
-
describe('validate map steps', () => {
|
|
3
|
-
test('placeholder', () => {
|
|
4
|
-
expect(true).toBeTruthy();
|
|
5
|
-
});
|
|
6
|
-
/*
|
|
7
|
-
const gwtaDomainType = 'for {what: mytype}';
|
|
8
|
-
const gwtaDomainTypeMultiple = 'has {what: mytype} {also: mytype}';
|
|
9
|
-
class TestStepper implements IStepper, IHasDomains {
|
|
10
|
-
domains: any[] = [];
|
|
11
|
-
locator = (name: string) => name;
|
|
12
|
-
steps = {
|
|
13
|
-
gwtaDomainType: {
|
|
14
|
-
gwta: gwtaDomainType,
|
|
15
|
-
action: async () => OK,
|
|
16
|
-
},
|
|
17
|
-
gwtaDomainTypeMultiple: {
|
|
18
|
-
gwta: gwtaDomainTypeMultiple,
|
|
19
|
-
action: async () => OK,
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const backgrounds: TFeatures = [withNameType('r1/available.mytype.feature', 'typevalue'), withNameType('r1/something.mytype.feature', 'typevalue2')];
|
|
25
|
-
const steppers: IStepper[] = [new TestStepper()];
|
|
26
|
-
const getResolver = () =>
|
|
27
|
-
new Resolver(steppers, '', {
|
|
28
|
-
...getDefaultWorld().world,
|
|
29
|
-
domains: [{ name: 'mytype', fileType: 'mytype', is: 'string', module: steppers[], shared: new DomainContext('test resolver.domains'), validate: (content: string) => undefined }],
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
// FIXME these tests depend on checkRequiredType
|
|
33
|
-
xdescribe('gwta interpolated with domain types', () => {
|
|
34
|
-
test('throws for missing', async () => {
|
|
35
|
-
const feature = 'for missing';
|
|
36
|
-
const features = asExpandedFeatures([withNameType('l1', feature)]);
|
|
37
|
-
expect(async () => await getResolver().resolveSteps(features)).rejects.toThrow(
|
|
38
|
-
Resolver.getNoFileTypeInclusionError(Resolver.getPrelude('l1', gwtaDomainType, feature), 'mytype', 'missing')
|
|
39
|
-
);
|
|
40
|
-
});
|
|
41
|
-
test('includes background domain type', async () => {
|
|
42
|
-
const features = asExpandedFeatures([withNameType('l1', 'for available')]);
|
|
43
|
-
const res = await getResolver().resolveSteps(features);
|
|
44
|
-
expect(res.length).toBe(1);
|
|
45
|
-
});
|
|
46
|
-
test('includes multiple background domain type', async () => {
|
|
47
|
-
const features = asExpandedFeatures([withNameType('l1', 'has available something')]);
|
|
48
|
-
const res = await getResolver().resolveSteps(features);
|
|
49
|
-
expect(res.length).toBe(1);
|
|
50
|
-
});
|
|
51
|
-
test('includes multiple background domain type with missing', async () => {
|
|
52
|
-
const feature = 'has available missing';
|
|
53
|
-
const features = asExpandedFeatures([withNameType('l1', feature)]);
|
|
54
|
-
expect(async () => await getResolver().resolveSteps(features)).rejects.toThrow(
|
|
55
|
-
Resolver.getNoFileTypeInclusionError(Resolver.getPrelude('l1', gwtaDomainTypeMultiple, feature), 'mytype', 'missing')
|
|
56
|
-
);
|
|
57
|
-
});
|
|
58
|
-
test('includes background domain fails type validation', async () => {
|
|
59
|
-
const feature = 'for available';
|
|
60
|
-
const features = asExpandedFeatures([withNameType('l1', feature)]);
|
|
61
|
-
const resolver = getResolver();
|
|
62
|
-
(<TFileTypeDomain>resolver.world.domains[0]).validate = (content: string) => 'failed';
|
|
63
|
-
expect(async () => resolver.resolveSteps(features)).rejects.toThrow(Resolver.getTypeValidationError(Resolver.getPrelude('l1', gwtaDomainType, feature), 'mytype', 'available', 'failed'));
|
|
64
|
-
});
|
|
65
|
-
test('includes background domain fails multiple backgrounds', async () => {
|
|
66
|
-
const feature = 'for available';
|
|
67
|
-
const features = asExpandedFeatures([withNameType('l1', feature)]);
|
|
68
|
-
const resolver = getResolver();
|
|
69
|
-
expect(async () => resolver.resolveSteps(features)).rejects.toThrow(Resolver.getMoreThanOneInclusionError(Resolver.getPrelude('l1', gwtaDomainType, feature), 'mytype', 'available'));
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
*/
|
|
73
|
-
});
|
|
74
|
-
//# sourceMappingURL=Resolver.domains.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.domains.test.js","sourceRoot":"","sources":["../../src/phases/Resolver.domains.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkEA;AACF,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.test.d.ts","sourceRoot":"","sources":["../../src/phases/Resolver.test.ts"],"names":[],"mappings":""}
|