Skip to content

Commit 4266e81

Browse files
committed
fixing standalone tests
1 parent 8b54fa7 commit 4266e81

3 files changed

Lines changed: 38 additions & 3 deletions

File tree

test.config.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ import createEsmUtils from 'esm-utils';
44
const { __dirname } = createEsmUtils(import.meta);
55

66
export default {
7-
entry: './tests/integration/test-app.js',
7+
entry: {
8+
test: './tests/integration/test-app.js',
9+
'create-parser': './src/slang-utils/create-parser.js'
10+
},
811
mode: 'production',
912
bail: true,
1013

@@ -13,14 +16,29 @@ export default {
1316

1417
externals: { 'fs/promises': 'import fs/promises' },
1518

19+
resolve: {
20+
extensions: ['.ts', '.js'],
21+
extensionAlias: { '.js': ['.js', '.ts'] }
22+
},
23+
24+
module: {
25+
rules: [
26+
{
27+
test: /\.ts$/,
28+
use: 'ts-loader',
29+
exclude: /node_modules/
30+
}
31+
]
32+
},
33+
1634
experiments: {
1735
asyncWebAssembly: true,
1836
topLevelAwait: true,
1937
outputModule: true
2038
},
2139

2240
output: {
23-
filename: 'test.js',
41+
filename: '[name].js',
2442
path: path.resolve(__dirname, 'dist'),
2543
library: { type: 'module' }
2644
},

tests/config/get-create-parser.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
function getCreateParserInternal() {
2+
const entry = process.env.TEST_STANDALONE
3+
? "../../dist/create-parser.js"
4+
: "../../src/slang-utils/create-parser.js";
5+
6+
return import(entry).then((module) => module.createParser);
7+
}
8+
9+
let promise;
10+
function getCreateParser() {
11+
promise = promise ?? getCreateParserInternal();
12+
13+
return promise;
14+
}
15+
16+
export default getCreateParser;

tests/config/run-format-test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import path from "node:path";
33
import url from "node:url";
44
import createEsmUtils from "esm-utils";
55
import getPrettier from "./get-prettier.js";
6+
import getCreateParser from "./get-create-parser.js";
67
import getPlugins from "./get-plugins.js";
78
import compileContract from "./utils/compile-contract.js";
89
import consistentEndOfLine from "./utils/consistent-end-of-line.js";
910
import createSnapshot from "./utils/create-snapshot.js";
1011
import stringifyOptionsForTitle from "./utils/stringify-options-for-title.js";
1112
import visualizeEndOfLine from "./utils/visualize-end-of-line.js";
12-
import { createParser } from "../../src/slang-utils/create-parser.js";
1313

1414
const { __dirname } = createEsmUtils(import.meta);
1515

@@ -327,6 +327,7 @@ async function runTest({
327327
) {
328328
// Compare with ANTLR's format
329329
const prettier = await getPrettier();
330+
const createParser = await getCreateParser();
330331
const { formatted: antlrOutput } = await prettier.formatWithCursor(code, {
331332
...formatOptions,
332333
// Since Slang forces us to decide on a compiler version, we need to do the

0 commit comments

Comments
 (0)