Add advanced Git and deployment workflows, secure backups and auditing, live Gitea integration, desktop notifications, connection validation, and the premium responsive UX refresh.
14 lines
762 B
JavaScript
14 lines
762 B
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import toolsModule from '../src/main/external-tools-service.cjs';
|
|
|
|
const { normalizeTool, expandTool } = toolsModule;
|
|
|
|
test('external tool templates expand as argument arrays without a shell', () => {
|
|
const tool = normalizeTool({ executable: 'code.exe', args: ['--goto', '{file}:{line}', '{path}'] }, {});
|
|
const invocation = expandTool(tool, { path: 'C:\\Projects\\App', file: 'C:\\Projects\\App\\src\\app.js', line: 12 });
|
|
assert.equal(invocation.executable, 'code.exe');
|
|
assert.deepEqual(invocation.args, ['--goto', 'C:\\Projects\\App\\src\\app.js:12', 'C:\\Projects\\App']);
|
|
assert.throws(() => normalizeTool({ executable: 'code.exe\ncalc.exe', args: [] }, {}), /invalid/);
|
|
});
|