@haibun/core 1.13.5 → 1.15.0
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/index.d.ts +1 -2
- package/build/index.js +1 -27
- package/build/index.js.map +1 -1
- package/build/lib/ConnectedLogger.d.ts +3 -4
- package/build/lib/ConnectedLogger.js +3 -9
- package/build/lib/ConnectedLogger.js.map +1 -1
- package/build/lib/Logger.d.ts +10 -11
- package/build/lib/Logger.js +17 -19
- package/build/lib/Logger.js.map +1 -1
- package/build/lib/Logger.test.d.ts +0 -1
- package/build/lib/Logger.test.js +11 -36
- package/build/lib/Logger.test.js.map +1 -1
- package/build/lib/TestLogger.d.ts +1 -2
- package/build/lib/TestLogger.js +1 -4
- package/build/lib/TestLogger.js.map +1 -1
- package/build/lib/Timer.d.ts +0 -1
- package/build/lib/Timer.js +4 -8
- package/build/lib/Timer.js.map +1 -1
- package/build/lib/contexts.d.ts +1 -2
- package/build/lib/contexts.js +9 -14
- package/build/lib/contexts.js.map +1 -1
- package/build/lib/{defs/index.d.ts → defs.d.ts} +57 -57
- package/build/lib/defs.js +28 -0
- package/build/lib/defs.js.map +1 -0
- package/build/lib/domain.d.ts +3 -4
- package/build/lib/domain.js +14 -23
- package/build/lib/domain.js.map +1 -1
- package/build/lib/features.d.ts +1 -2
- package/build/lib/features.js +15 -27
- package/build/lib/features.js.map +1 -1
- package/build/lib/features.test.d.ts +0 -1
- package/build/lib/features.test.js +31 -59
- package/build/lib/features.test.js.map +1 -1
- package/build/lib/interfaces/logger.d.ts +9 -10
- package/build/lib/interfaces/logger.js +1 -4
- package/build/lib/interfaces/logger.js.map +1 -1
- package/build/lib/namedVars.d.ts +7 -8
- package/build/lib/namedVars.js +12 -20
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/namedVars.test.d.ts +0 -1
- package/build/lib/namedVars.test.js +33 -38
- package/build/lib/namedVars.test.js.map +1 -1
- package/build/lib/run-with-options.d.ts +2 -3
- package/build/lib/run-with-options.js +13 -19
- package/build/lib/run-with-options.js.map +1 -1
- package/build/lib/run.d.ts +3 -4
- package/build/lib/run.domains.test.d.ts +0 -1
- package/build/lib/run.domains.test.js +43 -51
- package/build/lib/run.domains.test.js.map +1 -1
- package/build/lib/run.js +28 -36
- package/build/lib/run.js.map +1 -1
- package/build/lib/run.test.d.ts +0 -1
- package/build/lib/run.test.js +24 -32
- package/build/lib/run.test.js.map +1 -1
- package/build/lib/test/TestSteps.d.ts +12 -13
- package/build/lib/test/TestSteps.js +39 -44
- package/build/lib/test/TestSteps.js.map +1 -1
- package/build/lib/test/TestStepsWithDomain.d.ts +7 -8
- package/build/lib/test/TestStepsWithDomain.js +12 -17
- package/build/lib/test/TestStepsWithDomain.js.map +1 -1
- package/build/lib/test/TestStepsWithOptions.d.ts +6 -7
- package/build/lib/test/TestStepsWithOptions.js +18 -23
- package/build/lib/test/TestStepsWithOptions.js.map +1 -1
- package/build/lib/test/lib.d.ts +5 -6
- package/build/lib/test/lib.js +38 -72
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/util/index.d.ts +5 -6
- package/build/lib/util/index.js +54 -119
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/util/util.test.d.ts +0 -1
- package/build/lib/util/util.test.js +35 -67
- package/build/lib/util/util.test.js.map +1 -1
- package/build/link-packages.d.ts +0 -1
- package/build/link-packages.js +5 -7
- package/build/link-packages.js.map +1 -1
- package/build/phases/Builder.d.ts +3 -4
- package/build/phases/Builder.js +12 -12
- package/build/phases/Builder.js.map +1 -1
- package/build/phases/Builder.test.d.ts +0 -1
- package/build/phases/Builder.test.js +13 -18
- package/build/phases/Builder.test.js.map +1 -1
- package/build/phases/Executor.d.ts +1 -2
- package/build/phases/Executor.js +16 -17
- package/build/phases/Executor.js.map +1 -1
- package/build/phases/Resolver.d.ts +1 -2
- package/build/phases/Resolver.domains.test.d.ts +0 -1
- package/build/phases/Resolver.domains.test.js +1 -2
- package/build/phases/Resolver.domains.test.js.map +1 -1
- package/build/phases/Resolver.js +19 -20
- package/build/phases/Resolver.js.map +1 -1
- package/build/phases/Resolver.test.d.ts +0 -1
- package/build/phases/Resolver.test.js +31 -36
- package/build/phases/Resolver.test.js.map +1 -1
- package/build/scaffold/index.d.ts +0 -1
- package/build/scaffold/index.js +2 -4
- package/build/scaffold/index.js.map +1 -1
- package/build/scaffold/scaffold.d.ts +1 -2
- package/build/scaffold/scaffold.js +25 -33
- package/build/scaffold/scaffold.js.map +1 -1
- package/build/scaffold/scaffold.test.d.ts +0 -1
- package/build/scaffold/scaffold.test.js +15 -20
- package/build/scaffold/scaffold.test.js.map +1 -1
- package/build/steps/conformance.d.ts +6 -7
- package/build/steps/conformance.js +10 -15
- package/build/steps/conformance.js.map +1 -1
- package/build/steps/credentials.d.ts +7 -8
- package/build/steps/credentials.js +25 -32
- package/build/steps/credentials.js.map +1 -1
- package/build/steps/haibun.d.ts +13 -14
- package/build/steps/haibun.js +66 -71
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/haibun.test.d.ts +0 -1
- package/build/steps/haibun.test.js +4 -6
- package/build/steps/haibun.test.js.map +1 -1
- package/build/steps/vars.d.ts +17 -18
- package/build/steps/vars.js +74 -83
- package/build/steps/vars.js.map +1 -1
- package/build/steps/vars.test.d.ts +0 -1
- package/build/steps/vars.test.js +9 -11
- package/build/steps/vars.test.js.map +1 -1
- package/package.json +19 -5
- package/scaffold/.eslintrc.in +20 -0
- package/scaffold/.prettierrc.in +6 -0
- package/scaffold/src/stepper.test.ts.in +1 -1
- package/scaffold/src/stepper.ts.in +2 -2
- package/scaffold/tsconfig.json.in +2 -2
- package/build/index.d.ts.map +0 -1
- package/build/lib/ConnectedLogger.d.ts.map +0 -1
- package/build/lib/Logger.d.ts.map +0 -1
- package/build/lib/Logger.test.d.ts.map +0 -1
- package/build/lib/TestLogger.d.ts.map +0 -1
- package/build/lib/Timer.d.ts.map +0 -1
- package/build/lib/contexts.d.ts.map +0 -1
- package/build/lib/defs/index.d.ts.map +0 -1
- package/build/lib/defs/index.js +0 -31
- package/build/lib/defs/index.js.map +0 -1
- package/build/lib/domain.d.ts.map +0 -1
- package/build/lib/features.d.ts.map +0 -1
- package/build/lib/features.test.d.ts.map +0 -1
- package/build/lib/interfaces/logger.d.ts.map +0 -1
- package/build/lib/namedVars.d.ts.map +0 -1
- package/build/lib/namedVars.test.d.ts.map +0 -1
- package/build/lib/run-with-options.d.ts.map +0 -1
- package/build/lib/run.d.ts.map +0 -1
- package/build/lib/run.domains.test.d.ts.map +0 -1
- package/build/lib/run.test.d.ts.map +0 -1
- package/build/lib/test/TestSteps.d.ts.map +0 -1
- package/build/lib/test/TestStepsWithDomain.d.ts.map +0 -1
- package/build/lib/test/TestStepsWithOptions.d.ts.map +0 -1
- package/build/lib/test/lib.d.ts.map +0 -1
- package/build/lib/util/index.d.ts.map +0 -1
- package/build/lib/util/util.test.d.ts.map +0 -1
- package/build/link-packages.d.ts.map +0 -1
- package/build/phases/Builder.d.ts.map +0 -1
- package/build/phases/Builder.test.d.ts.map +0 -1
- package/build/phases/Executor.d.ts.map +0 -1
- package/build/phases/Resolver.d.ts.map +0 -1
- package/build/phases/Resolver.domains.test.d.ts.map +0 -1
- package/build/phases/Resolver.test.d.ts.map +0 -1
- package/build/scaffold/index.d.ts.map +0 -1
- package/build/scaffold/scaffold.d.ts.map +0 -1
- package/build/scaffold/scaffold.test.d.ts.map +0 -1
- package/build/scaffold.d.ts +0 -3
- package/build/scaffold.d.ts.map +0 -1
- package/build/scaffold.js +0 -78
- package/build/scaffold.js.map +0 -1
- package/build/steps/conformance.d.ts.map +0 -1
- package/build/steps/credentials.d.ts.map +0 -1
- package/build/steps/haibun.d.ts.map +0 -1
- package/build/steps/haibun.test.d.ts.map +0 -1
- package/build/steps/vars.d.ts.map +0 -1
- package/build/steps/vars.test.d.ts.map +0 -1
|
@@ -1,28 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.scaffoldHaibun = void 0;
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
3
|
+
import path from 'path';
|
|
10
4
|
const here = process.cwd();
|
|
11
|
-
function scaffoldHaibun(dest, out, add) {
|
|
12
|
-
const
|
|
5
|
+
export function scaffoldHaibun(dest, out, add) {
|
|
6
|
+
const mainHaibunPackage = JSON.parse(readFileSync(path.join(here, '..', '..', 'package.json'), 'utf-8'));
|
|
13
7
|
const what = {
|
|
14
8
|
dependencies: {
|
|
15
|
-
'@haibun/core': `${
|
|
16
|
-
},
|
|
17
|
-
devDependencies: {
|
|
18
|
-
'jest': ppkg.devDependencies.jest,
|
|
19
|
-
'ts-jest': ppkg.devDependencies['ts-jest'],
|
|
20
|
-
'ts-node': ppkg.devDependencies['ts-node'],
|
|
21
|
-
'@types/node': ppkg.devDependencies['@types/node'],
|
|
22
|
-
'@types/jest': ppkg.devDependencies['@types/jest'],
|
|
9
|
+
'@haibun/core': `${mainHaibunPackage.version}`
|
|
23
10
|
},
|
|
11
|
+
devDependencies: ["@types/jest", "@types/node", "@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", "eslint", "eslint-config-airbnb-typescript",
|
|
12
|
+
"eslint-config-prettier", "eslint-plugin-import", "eslint-plugin-prefer-arrow", "eslint-plugin-prettier", "jest",
|
|
13
|
+
"prettier", "ts-jest", "tslint", "typescript"]
|
|
14
|
+
.reduce((a, i) => ({ ...a, [i]: mainHaibunPackage.devDependencies[i] }), {}),
|
|
24
15
|
scripts: {
|
|
25
|
-
test: 'jest --config jest.config.ts'
|
|
16
|
+
test: 'jest --config jest.config.ts',
|
|
17
|
+
lint: 'lint --ext .ts ./src/',
|
|
26
18
|
},
|
|
27
19
|
dirs: [
|
|
28
20
|
'src',
|
|
@@ -31,10 +23,10 @@ function scaffoldHaibun(dest, out, add) {
|
|
|
31
23
|
};
|
|
32
24
|
let localDest;
|
|
33
25
|
let pName;
|
|
34
|
-
const localPackageJson =
|
|
26
|
+
const localPackageJson = path.join(dest, 'package.json');
|
|
35
27
|
try {
|
|
36
|
-
const
|
|
37
|
-
localDest = JSON.parse(
|
|
28
|
+
const localPackage = readFileSync(localPackageJson, 'utf-8');
|
|
29
|
+
localDest = JSON.parse(localPackage);
|
|
38
30
|
pName = localDest.name.replace(/.*\//, '').replace(/[@]/, '_', 'g').replace(/-./g, (x) => x[1].toUpperCase());
|
|
39
31
|
}
|
|
40
32
|
catch (e) {
|
|
@@ -53,15 +45,15 @@ function scaffoldHaibun(dest, out, add) {
|
|
|
53
45
|
}
|
|
54
46
|
}
|
|
55
47
|
}
|
|
56
|
-
|
|
57
|
-
for (const f of ['tsconfig.json', 'jest.config.ts']) {
|
|
48
|
+
writeFileSync(localPackageJson, JSON.stringify(localDest, null, 2));
|
|
49
|
+
for (const f of ['tsconfig.json', 'jest.config.ts', '.eslintrc', '.prettierrc']) {
|
|
58
50
|
writeIfMissing(f);
|
|
59
51
|
}
|
|
60
52
|
for (const d of what.dirs) {
|
|
61
|
-
const ddest =
|
|
62
|
-
if (!
|
|
53
|
+
const ddest = path.join(dest, d);
|
|
54
|
+
if (!existsSync(ddest)) {
|
|
63
55
|
out('mkdir', ddest);
|
|
64
|
-
|
|
56
|
+
mkdirSync(ddest);
|
|
65
57
|
}
|
|
66
58
|
}
|
|
67
59
|
for (const f of ['stepper.ts', 'stepper.test.ts']) {
|
|
@@ -71,20 +63,20 @@ function scaffoldHaibun(dest, out, add) {
|
|
|
71
63
|
writeIfMissing(`src/lib/${f}`, `src/lib/${pName}.${f}`, 'WTW', pName);
|
|
72
64
|
}
|
|
73
65
|
function writeIfMissing(from, to, replace, instead) {
|
|
74
|
-
to =
|
|
66
|
+
to = path.join(dest, to || from);
|
|
75
67
|
from = `${from}.in`;
|
|
76
|
-
if (
|
|
68
|
+
if (existsSync(to)) {
|
|
77
69
|
out(`not copying ${to} because it already exists`);
|
|
78
70
|
}
|
|
79
71
|
else {
|
|
80
|
-
let contents =
|
|
72
|
+
let contents = readFileSync(path.join(here, 'scaffold', from), 'utf-8');
|
|
81
73
|
if (replace) {
|
|
82
|
-
contents = contents.replaceAll(replace, instead);
|
|
74
|
+
contents = contents.replaceAll(replace, `${instead}`);
|
|
83
75
|
}
|
|
84
|
-
|
|
76
|
+
writeFileSync(to, contents);
|
|
85
77
|
out(`copied ${to}`);
|
|
86
78
|
}
|
|
87
79
|
}
|
|
80
|
+
return;
|
|
88
81
|
}
|
|
89
|
-
exports.scaffoldHaibun = scaffoldHaibun;
|
|
90
82
|
//# sourceMappingURL=scaffold.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const fs_1 = require("fs");
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const scaffold_1 = require("./scaffold");
|
|
1
|
+
import { mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { scaffoldHaibun } from "./scaffold.js";
|
|
9
4
|
const TMPDIR = '/tmp/haibun-scaffold-test/';
|
|
10
5
|
const out = (...a) => undefined;
|
|
11
6
|
beforeEach(() => {
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
rmSync(TMPDIR, { recursive: true, force: true });
|
|
8
|
+
mkdirSync(TMPDIR);
|
|
14
9
|
});
|
|
15
10
|
afterAll(() => {
|
|
16
|
-
|
|
11
|
+
rmSync(TMPDIR, { recursive: true, force: true });
|
|
17
12
|
});
|
|
18
13
|
describe('scaffold', () => {
|
|
19
14
|
it('throws for empty directory', async () => {
|
|
20
|
-
expect(() =>
|
|
15
|
+
expect(() => scaffoldHaibun(TMPDIR, out)).toThrow();
|
|
21
16
|
});
|
|
22
17
|
it('creates from basic', async () => {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
expect(() =>
|
|
26
|
-
const pkg = JSON.parse(
|
|
27
|
-
expect(
|
|
18
|
+
const haibunPackage = JSON.parse(readFileSync((path.join(process.cwd(), '..', '..', 'package.json')), 'utf-8'));
|
|
19
|
+
writeFileSync(`${TMPDIR}/package.json`, JSON.stringify({ name: 'test' }));
|
|
20
|
+
expect(() => scaffoldHaibun(TMPDIR, out)).not.toThrow();
|
|
21
|
+
const pkg = JSON.parse(readFileSync(`${TMPDIR}/package.json`, 'utf-8'));
|
|
22
|
+
expect(readdirSync(TMPDIR).sort()).toEqual(['package.json', 'src', 'tsconfig.json', 'jest.config.ts', '.eslintrc', '.prettierrc'].sort());
|
|
28
23
|
expect(pkg.dependencies['@haibun/core']).toBeDefined();
|
|
29
|
-
expect(pkg.devDependencies.jest).toEqual(
|
|
30
|
-
expect(
|
|
31
|
-
expect(
|
|
24
|
+
expect(pkg.devDependencies.jest).toEqual(haibunPackage.devDependencies.jest);
|
|
25
|
+
expect(readdirSync(path.join(TMPDIR, 'src'))).toEqual(['lib', 'test-stepper.test.ts', 'test-stepper.ts']);
|
|
26
|
+
expect(readdirSync(path.join(TMPDIR, 'src/lib'))).toEqual(['test.test.ts', 'test.ts']);
|
|
32
27
|
});
|
|
33
28
|
});
|
|
34
29
|
//# sourceMappingURL=scaffold.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.test.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scaffold.test.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACjF,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAC5C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAW,EAAE,EAAE,CAAC,SAAS,CAAC;AAE1C,UAAU,CAAC,GAAG,EAAE;IACZ,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,GAAG,EAAE;IACV,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAEhH,aAAa,CAAC,GAAG,MAAM,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,MAAM,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1I,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC1G,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { AStepper } from '../lib/defs';
|
|
1
|
+
import { AStepper } from '../lib/defs.js';
|
|
2
2
|
declare const Conformance: {
|
|
3
3
|
new (): {
|
|
4
4
|
steps: {
|
|
5
5
|
must: {
|
|
6
6
|
match: RegExp;
|
|
7
|
-
action: (input: any) => Promise<import("../lib/defs").TNotOKActionResult>;
|
|
7
|
+
action: (input: any) => Promise<import("../lib/defs.js").TNotOKActionResult>;
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
|
-
world?: import("../lib/defs").TWorld
|
|
10
|
+
world?: import("../lib/defs.js").TWorld;
|
|
11
11
|
close?(): void;
|
|
12
12
|
endFeature?(): void;
|
|
13
|
-
onFailure?(result: import("../lib/defs").TStepResult): void;
|
|
14
|
-
setWorld(world: import("../lib/defs").TWorld, steppers: AStepper[]): void;
|
|
15
|
-
getWorld(): import("../lib/defs").TWorld;
|
|
13
|
+
onFailure?(result: import("../lib/defs.js").TStepResult): void;
|
|
14
|
+
setWorld(world: import("../lib/defs.js").TWorld, steppers: AStepper[]): void;
|
|
15
|
+
getWorld(): import("../lib/defs.js").TWorld;
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
export default Conformance;
|
|
19
|
-
//# sourceMappingURL=conformance.d.ts.map
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
match: /(?!\n|. )\b([A-Z].*? must .*?\.)/,
|
|
11
|
-
action: async (input) => (0, util_1.actionNotOK)('not implemented'),
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
}
|
|
1
|
+
import { actionNotOK } from '../lib/util/index.js';
|
|
2
|
+
import { AStepper } from '../lib/defs.js';
|
|
3
|
+
const Conformance = class Conformance extends AStepper {
|
|
4
|
+
steps = {
|
|
5
|
+
must: {
|
|
6
|
+
match: /(?!\n|. )\b([A-Z].*? must .*?\.)/,
|
|
7
|
+
action: async (input) => actionNotOK('not implemented'),
|
|
8
|
+
},
|
|
9
|
+
};
|
|
15
10
|
};
|
|
16
|
-
|
|
11
|
+
export default Conformance;
|
|
17
12
|
//# sourceMappingURL=conformance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/steps/conformance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/steps/conformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,GAAG,MAAM,WAAY,SAAQ,QAAQ;IACpD,KAAK,GAAG;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,MAAM,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC;SAC7D;KACF,CAAC;CACH,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TNamed, AStepper } from '../lib/defs';
|
|
1
|
+
import { TNamed, AStepper } from '../lib/defs.js';
|
|
2
2
|
export declare const cred: (key: string) => string;
|
|
3
3
|
declare const Credentials: {
|
|
4
4
|
new (): {
|
|
@@ -8,20 +8,19 @@ declare const Credentials: {
|
|
|
8
8
|
steps: {
|
|
9
9
|
hasRandomUsername: {
|
|
10
10
|
match: RegExp;
|
|
11
|
-
action: ({ name }: TNamed) => Promise<import("../lib/defs").TOKActionResult>;
|
|
11
|
+
action: ({ name }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
12
12
|
};
|
|
13
13
|
hasRandomPassword: {
|
|
14
14
|
match: RegExp;
|
|
15
|
-
action: ({ name }: TNamed) => Promise<import("../lib/defs").TOKActionResult>;
|
|
15
|
+
action: ({ name }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
|
-
world?: import("../lib/defs").TWorld
|
|
18
|
+
world?: import("../lib/defs.js").TWorld;
|
|
19
19
|
close?(): void;
|
|
20
20
|
endFeature?(): void;
|
|
21
|
-
onFailure?(result: import("../lib/defs").TStepResult): void;
|
|
22
|
-
setWorld(world: import("../lib/defs").TWorld, steppers: AStepper[]): void;
|
|
23
|
-
getWorld(): import("../lib/defs").TWorld;
|
|
21
|
+
onFailure?(result: import("../lib/defs.js").TStepResult): void;
|
|
22
|
+
setWorld(world: import("../lib/defs.js").TWorld, steppers: AStepper[]): void;
|
|
23
|
+
getWorld(): import("../lib/defs.js").TWorld;
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
export default Credentials;
|
|
27
|
-
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -1,45 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const defs_1 = require("../lib/defs");
|
|
5
|
-
const cred = (key) => `__cred_${key}`;
|
|
6
|
-
exports.cred = cred;
|
|
7
|
-
const Credentials = class Credentials extends defs_1.AStepper {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.steps = {
|
|
11
|
-
hasRandomUsername: {
|
|
12
|
-
match: /^When I have a valid random username <(?<name>.+)>/,
|
|
13
|
-
action: async ({ name }) => {
|
|
14
|
-
this.generateRandomUsername(name);
|
|
15
|
-
return defs_1.OK;
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
hasRandomPassword: {
|
|
19
|
-
match: /^When I have a valid random password <(?<name>.+)>/,
|
|
20
|
-
action: async ({ name }) => {
|
|
21
|
-
this.generateRandomPassword(name);
|
|
22
|
-
return defs_1.OK;
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
}
|
|
1
|
+
import { OK, AStepper } from '../lib/defs.js';
|
|
2
|
+
export const cred = (key) => `__cred_${key}`;
|
|
3
|
+
const Credentials = class Credentials extends AStepper {
|
|
27
4
|
generateRandomUsername(ref) {
|
|
28
|
-
this.getWorld().shared.set(
|
|
29
|
-
return this.getWorld().shared.get(
|
|
5
|
+
this.getWorld().shared.set(cred(ref), ['rnd', Math.floor(Date.now() / 1000).toString(36), Math.floor(Math.random() * 1e8).toString(36)].join('_'));
|
|
6
|
+
return this.getWorld().shared.get(cred(ref));
|
|
30
7
|
}
|
|
31
8
|
generateRandomPassword(ref) {
|
|
32
|
-
this.getWorld().shared.set(
|
|
9
|
+
this.getWorld().shared.set(cred(ref), [
|
|
33
10
|
'testpass',
|
|
34
11
|
Math.floor(Math.random() * 1e8)
|
|
35
12
|
.toString(36)
|
|
36
13
|
.toUpperCase(),
|
|
37
14
|
].join('_'));
|
|
38
|
-
return this.getWorld().shared.get(
|
|
15
|
+
return this.getWorld().shared.get(cred(ref));
|
|
39
16
|
}
|
|
40
17
|
getRandom(name) {
|
|
41
|
-
return this.getWorld().shared.get(
|
|
18
|
+
return this.getWorld().shared.get(cred(name));
|
|
42
19
|
}
|
|
20
|
+
steps = {
|
|
21
|
+
hasRandomUsername: {
|
|
22
|
+
match: /^When I have a valid random username <(?<name>.+)>/,
|
|
23
|
+
action: async ({ name }) => {
|
|
24
|
+
this.generateRandomUsername(name);
|
|
25
|
+
return OK;
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
hasRandomPassword: {
|
|
29
|
+
match: /^When I have a valid random password <(?<name>.+)>/,
|
|
30
|
+
action: async ({ name }) => {
|
|
31
|
+
this.generateRandomPassword(name);
|
|
32
|
+
return OK;
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
43
36
|
};
|
|
44
|
-
|
|
37
|
+
export default Credentials;
|
|
45
38
|
//# sourceMappingURL=credentials.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/steps/credentials.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/steps/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAU,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC;AAErD,MAAM,WAAW,GAAG,MAAM,WAAY,SAAQ,QAAQ;IACpD,sBAAsB,CAAC,GAAW;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAsB,CAAC,GAAW;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpC,UAAU;YACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;iBAC5B,QAAQ,CAAC,EAAE,CAAC;iBACZ,WAAW,EAAE;SACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACb,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,GAAG;QACN,iBAAiB,EAAE;YACjB,KAAK,EAAE,oDAAoD;YAC3D,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAU,EAAE,EAAE;gBACjC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,EAAE,CAAC;YACZ,CAAC;SACF;QAED,iBAAiB,EAAE;YACjB,KAAK,EAAE,oDAAoD;YAC3D,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAU,EAAE,EAAE;gBACjC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,EAAE,CAAC;YACZ,CAAC;SACF;KACF,CAAC;CACH,CAAC;AACF,eAAe,WAAW,CAAC"}
|
package/build/steps/haibun.d.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { TNamed, AStepper } from '../lib/defs';
|
|
1
|
+
import { TNamed, AStepper } from '../lib/defs.js';
|
|
2
2
|
declare const Haibun: {
|
|
3
3
|
new (): {
|
|
4
4
|
steps: {
|
|
5
5
|
prose: {
|
|
6
6
|
gwta: string;
|
|
7
|
-
action: () => Promise<import("../lib/defs").TOKActionResult>;
|
|
7
|
+
action: () => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
8
8
|
};
|
|
9
9
|
startStepDelay: {
|
|
10
10
|
gwta: string;
|
|
11
|
-
action: ({ ms }: TNamed) => Promise<import("../lib/defs").TOKActionResult>;
|
|
11
|
+
action: ({ ms }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
12
12
|
};
|
|
13
13
|
fails: {
|
|
14
14
|
gwta: string;
|
|
15
|
-
action: ({ message }: TNamed) => Promise<import("../lib/defs").TNotOKActionResult>;
|
|
15
|
+
action: ({ message }: TNamed) => Promise<import("../lib/defs.js").TNotOKActionResult>;
|
|
16
16
|
};
|
|
17
17
|
stopStepDelay: {
|
|
18
18
|
gwta: string;
|
|
19
|
-
action: () => Promise<import("../lib/defs").TOKActionResult>;
|
|
19
|
+
action: () => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
20
20
|
};
|
|
21
21
|
displayEnv: {
|
|
22
22
|
gwta: string;
|
|
23
|
-
action: (a: TNamed) => Promise<import("../lib/defs").TOKActionResult>;
|
|
23
|
+
action: (a: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
24
24
|
};
|
|
25
25
|
showTag: {
|
|
26
26
|
gwta: string;
|
|
27
|
-
action: ({ which }: TNamed) => Promise<import("../lib/defs").TOKActionResult>;
|
|
27
|
+
action: ({ which }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
28
28
|
};
|
|
29
29
|
forever: {
|
|
30
30
|
gwta: string;
|
|
@@ -32,20 +32,19 @@ declare const Haibun: {
|
|
|
32
32
|
};
|
|
33
33
|
pauseSeconds: {
|
|
34
34
|
gwta: string;
|
|
35
|
-
action: ({ ms }: TNamed) => Promise<import("../lib/defs").TOKActionResult>;
|
|
35
|
+
action: ({ ms }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
36
36
|
};
|
|
37
37
|
comment: {
|
|
38
38
|
gwta: string;
|
|
39
|
-
action: ({ comment }: TNamed) => Promise<import("../lib/defs").TOKActionResult>;
|
|
39
|
+
action: ({ comment }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
|
-
world?: import("../lib/defs").TWorld
|
|
42
|
+
world?: import("../lib/defs.js").TWorld;
|
|
43
43
|
close?(): void;
|
|
44
44
|
endFeature?(): void;
|
|
45
|
-
onFailure?(result: import("../lib/defs").TStepResult): void;
|
|
46
|
-
setWorld(world: import("../lib/defs").TWorld, steppers: AStepper[]): void;
|
|
47
|
-
getWorld(): import("../lib/defs").TWorld;
|
|
45
|
+
onFailure?(result: import("../lib/defs.js").TStepResult): void;
|
|
46
|
+
setWorld(world: import("../lib/defs.js").TWorld, steppers: AStepper[]): void;
|
|
47
|
+
getWorld(): import("../lib/defs.js").TWorld;
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
export default Haibun;
|
|
51
|
-
//# sourceMappingURL=haibun.d.ts.map
|
package/build/steps/haibun.js
CHANGED
|
@@ -1,80 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { OK, AStepper } from '../lib/defs.js';
|
|
2
|
+
import { actionNotOK, sleep } from '../lib/util/index.js';
|
|
3
|
+
const Haibun = class Haibun extends AStepper {
|
|
4
|
+
steps = {
|
|
5
|
+
prose: {
|
|
6
|
+
gwta: '.*[.?!]$',
|
|
7
|
+
action: async () => OK,
|
|
8
|
+
},
|
|
9
|
+
// sendFeatures: {
|
|
10
|
+
// gwta: 'send features',
|
|
11
|
+
// action: async () => {
|
|
12
|
+
// return actionOK({ features: this.getWorld().shared.values._features });
|
|
13
|
+
// },
|
|
14
|
+
// },
|
|
15
|
+
startStepDelay: {
|
|
16
|
+
gwta: 'start step delay of (?<ms>.+)',
|
|
17
|
+
action: async ({ ms }) => {
|
|
18
|
+
this.getWorld().options.step_delay = parseInt(ms, 10);
|
|
19
|
+
return OK;
|
|
12
20
|
},
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
// },
|
|
19
|
-
startStepDelay: {
|
|
20
|
-
gwta: 'start step delay of (?<ms>.+)',
|
|
21
|
-
action: async ({ ms }) => {
|
|
22
|
-
this.getWorld().options.step_delay = parseInt(ms, 10);
|
|
23
|
-
return defs_1.OK;
|
|
24
|
-
},
|
|
21
|
+
},
|
|
22
|
+
fails: {
|
|
23
|
+
gwta: `fails with {message}`,
|
|
24
|
+
action: async ({ message }) => {
|
|
25
|
+
return actionNotOK(`fails: ${message}`);
|
|
25
26
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
},
|
|
28
|
+
stopStepDelay: {
|
|
29
|
+
gwta: 'stop step delay',
|
|
30
|
+
action: async () => {
|
|
31
|
+
return OK;
|
|
31
32
|
},
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
gwta: 'show stepper tag {which}',
|
|
47
|
-
action: async ({ which }) => {
|
|
48
|
-
const what = which ? this.getWorld().tag[which] : this.getWorld().tag;
|
|
49
|
-
this.world?.logger.log(`tag ${which}: ${JSON.stringify(what)}`);
|
|
50
|
-
return defs_1.OK;
|
|
51
|
-
},
|
|
33
|
+
},
|
|
34
|
+
displayEnv: {
|
|
35
|
+
gwta: 'show the environment',
|
|
36
|
+
action: async (a) => {
|
|
37
|
+
this.world?.logger.log(`env: ${JSON.stringify(this.world.options.env)}`);
|
|
38
|
+
return OK;
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
showTag: {
|
|
42
|
+
gwta: 'show stepper tag {which}',
|
|
43
|
+
action: async ({ which }) => {
|
|
44
|
+
const what = which ? this.getWorld().tag[which] : this.getWorld().tag;
|
|
45
|
+
this.world?.logger.log(`tag ${which}: ${JSON.stringify(what)}`);
|
|
46
|
+
return OK;
|
|
52
47
|
},
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
},
|
|
49
|
+
forever: {
|
|
50
|
+
gwta: 'forever',
|
|
51
|
+
action: async () => {
|
|
52
|
+
while (true) {
|
|
53
|
+
await sleep(1000);
|
|
59
54
|
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
pauseSeconds: {
|
|
58
|
+
gwta: 'pause for {ms}s',
|
|
59
|
+
action: async ({ ms }) => {
|
|
60
|
+
const seconds = parseInt(ms, 10) * 1000;
|
|
61
|
+
await sleep(seconds);
|
|
62
|
+
return OK;
|
|
60
63
|
},
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
},
|
|
68
|
-
},
|
|
69
|
-
comment: {
|
|
70
|
-
gwta: '#{what}',
|
|
71
|
-
action: async ({ comment }) => {
|
|
72
|
-
this.getWorld().logger.log(`comment: ${comment}`);
|
|
73
|
-
return defs_1.OK;
|
|
74
|
-
}
|
|
64
|
+
},
|
|
65
|
+
comment: {
|
|
66
|
+
gwta: '#{what}',
|
|
67
|
+
action: async ({ comment }) => {
|
|
68
|
+
this.getWorld().logger.log(`comment: ${comment}`);
|
|
69
|
+
return OK;
|
|
75
70
|
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
78
73
|
};
|
|
79
|
-
|
|
74
|
+
export default Haibun;
|
|
80
75
|
//# sourceMappingURL=haibun.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const Executor_1 = require("../phases/Executor");
|
|
4
|
-
const lib_1 = require("../lib/test/lib");
|
|
1
|
+
import { FeatureExecutor } from '../phases/Executor.js';
|
|
2
|
+
import { getDefaultWorld, getTestEnv } from '../lib/test/lib.js';
|
|
5
3
|
describe('haibun', () => {
|
|
6
4
|
it('finds prose', async () => {
|
|
7
|
-
const { world, vstep, steppers } = await
|
|
8
|
-
const res = await
|
|
5
|
+
const { world, vstep, steppers } = await getTestEnv(['haibun'], 'A sentence.', getDefaultWorld(0).world);
|
|
6
|
+
const res = await FeatureExecutor.doFeatureStep(steppers, vstep, world);
|
|
9
7
|
expect(res.ok).toBe(true);
|
|
10
8
|
expect(res.actionResults[0].name).toBe('prose');
|
|
11
9
|
});
|