@@ -5,15 +5,17 @@ import babel from "@babel/core";
55import { calls } from "./mock-textlint-tester.js" ;
66import MockTextlintRuleTester from "./mock-textlint-tester.js" ;
77import { createRequire } from "module" ;
8+ import path from "path" ;
9+
810/**
911 * Helper for unit testing:
1012 * - load module with mocked dependencies
1113 * - allow accessing private state of the module
1214 *
13- * @param {string } content
15+ * @param {{content: string, filePath:string} }
1416 * @param {Object= } mocks Hash of mocked dependencies
1517 */
16- export default function loadModule ( content , mocks = { } ) {
18+ export default function loadModule ( { content, filePath } , mocks = { } ) {
1719 const exports = { } ;
1820 const context = {
1921 require : function ( name ) {
@@ -34,7 +36,8 @@ export default function loadModule(content, mocks = {}) {
3436 } ;
3537 const require = createRequire ( import . meta. url ) ;
3638 const result = babel . transform ( content , {
37- presets : [ require . resolve ( "@babel/preset-env" ) ]
39+ filename : path . basename ( filePath ) ,
40+ presets : [ require . resolve ( "@babel/preset-env" ) , require . resolve ( "@babel/preset-typescript" ) ]
3841 } ) ;
3942 vm . runInNewContext ( result . code , context ) ;
4043 return calls ;
0 commit comments