diff --git a/addons/addon-ligatures/src/index.test.ts b/addons/addon-ligatures/test/LigaturesAddon.test.ts similarity index 90% rename from addons/addon-ligatures/src/index.test.ts rename to addons/addon-ligatures/test/LigaturesAddon.test.ts index 1250e10e..ece5145c 100644 --- a/addons/addon-ligatures/src/index.test.ts +++ b/addons/addon-ligatures/test/LigaturesAddon.test.ts @@ -5,9 +5,13 @@ import * as path from 'path'; import { assert } from 'chai'; -import * as fontFinder from 'font-finder'; -import * as ligatureSupport from '.'; +// Use require to get a mutable module object (ESM imports create read-only bindings) +// eslint-disable-next-line @typescript-eslint/no-require-imports +const fontFinder = require('font-finder'); + +// eslint-disable-next-line @typescript-eslint/no-require-imports +const ligatureSupport = require('../out-esbuild/index'); const originalList = fontFinder.list; @@ -18,7 +22,7 @@ describe('LigaturesAddon', () => { const input = 'a -> b www c'; before(() => { - (fontFinder as any).list = () => Promise.resolve({ + fontFinder.list = () => Promise.resolve({ 'Fira Code': [{ path: path.join(__dirname, '../fonts/firaCode.otf'), style: fontFinder.Style.Regular, @@ -37,11 +41,11 @@ describe('LigaturesAddon', () => { type: fontFinder.Type.Monospace, weight: 400 }] - } as fontFinder.FontList); + }); }); after(() => { - (fontFinder as any).list = originalList; + fontFinder.list = originalList; }); beforeEach(() => { diff --git a/addons/addon-ligatures/src/parse.test.ts b/addons/addon-ligatures/test/parse.test.ts similarity index 95% rename from addons/addon-ligatures/src/parse.test.ts rename to addons/addon-ligatures/test/parse.test.ts index 99dec083..98932883 100644 --- a/addons/addon-ligatures/src/parse.test.ts +++ b/addons/addon-ligatures/test/parse.test.ts @@ -5,7 +5,8 @@ import { assert } from 'chai'; -import parse from './parse'; +// eslint-disable-next-line @typescript-eslint/no-require-imports +const parse = require('../out-esbuild/parse').default; // TODO: integrate tests from http://test.csswg.org/suites/css-fonts-4_dev/nightly-unstable/ describe('parse', () => { diff --git a/addons/addon-ligatures/test/tsconfig.json b/addons/addon-ligatures/test/tsconfig.json new file mode 100644 index 00000000..ca68b468 --- /dev/null +++ b/addons/addon-ligatures/test/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "ESNext", + "lib": [ + "es2021" + ], + "rootDir": ".", + "outDir": "../out-esbuild-test", + "sourceMap": true, + "removeComments": true, + "baseUrl": ".", + "strict": true, + "types": [ + "../../../node_modules/@types/mocha", + "../../../node_modules/@types/node" + ] + }, + "include": [ + "./**/*", + "../../../typings/xterm.d.ts" + ] +} diff --git a/addons/addon-ligatures/tsconfig.json b/addons/addon-ligatures/tsconfig.json index b711f30a..2d820dd1 100644 --- a/addons/addon-ligatures/tsconfig.json +++ b/addons/addon-ligatures/tsconfig.json @@ -2,6 +2,7 @@ "files": [], "include": [], "references": [ - { "path": "./src" } + { "path": "./src" }, + { "path": "./test" } ] }