diff --git a/packages/pyright-scip/src/virtualenv/PythonEnvironment.test.ts b/packages/pyright-scip/src/virtualenv/PythonEnvironment.test.ts new file mode 100644 index 000000000..40c7db90f --- /dev/null +++ b/packages/pyright-scip/src/virtualenv/PythonEnvironment.test.ts @@ -0,0 +1,10 @@ +import PythonEnvironment from './PythonEnvironment'; +import PythonPackage from './PythonPackage'; + +test('resolves module paths with Windows and POSIX separators', () => { + const packageInfo = new PythonPackage('example', '1.0.0', ['example\\windows.py', 'example/posix.py']); + const environment = new PythonEnvironment(new Set(packageInfo.files), '1.0.0', [packageInfo]); + + expect(environment.getPackageForModule('example.windows')).toBe(packageInfo); + expect(environment.getPackageForModule('example.posix')).toBe(packageInfo); +}); diff --git a/packages/pyright-scip/src/virtualenv/PythonEnvironment.ts b/packages/pyright-scip/src/virtualenv/PythonEnvironment.ts index 0220ea1ed..e32d18b29 100644 --- a/packages/pyright-scip/src/virtualenv/PythonEnvironment.ts +++ b/packages/pyright-scip/src/virtualenv/PythonEnvironment.ts @@ -1,7 +1,7 @@ import * as path from 'path'; import PythonPackage from './PythonPackage'; -const pathSepRegex = new RegExp(path.sep, 'g'); +const pathSepRegex = /[\\/]/g; export default class PythonEnvironment { /// Maps a module name (x.y.z) to an index in this.packages