site-panzai/node_modules/launch-editor/parse-file.test.js

31 lines
902 B
JavaScript
Raw Normal View History

2026-11-13 13:57:04 +01:00
const assert = require('node:assert/strict')
const { describe, test } = require('node:test')
const path = require('node:path')
const parseFile = require('./parse-file.js')
describe('launchEditor path resolution', () => {
test('does not resolve an empty file name to the working directory', () => {
assert.equal(parseFile(':1:1').fileName, '')
})
test('resolves relative file names', () => {
assert.deepEqual(parseFile(`.${path.sep}file.js:1:1`), {
fileName: path.resolve('file.js'),
lineNumber: '1',
columnNumber: '1',
})
})
test('resolves a parent-directory component created by a position suffix', () => {
const project = path.resolve('project')
const file = `${project}${path.sep}attacker-controlled${path.sep}..:1:1`
assert.deepEqual(parseFile(file), {
fileName: project,
lineNumber: '1',
columnNumber: '1',
})
})
})