41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import * as assert from 'assert';
|
|
import { extractProjectName } from '../extension.js';
|
|
|
|
suite('extractProjectName', () => {
|
|
test('extrait le nom de projet depuis un path Linux /root/docker/X', () => {
|
|
assert.strictEqual(
|
|
extractProjectName('/root/docker/vscodestat/src/extension.ts'),
|
|
'vscodestat'
|
|
);
|
|
});
|
|
|
|
test('extrait le nom de projet depuis un path Windows \\root\\docker\\X', () => {
|
|
assert.strictEqual(
|
|
extractProjectName('C:\\root\\docker\\monitoringserver\\controller\\homeController.js'),
|
|
'monitoringserver'
|
|
);
|
|
});
|
|
|
|
test('retourne null pour un path hors /docker/', () => {
|
|
assert.strictEqual(extractProjectName('/home/user/projet/file.js'), null);
|
|
});
|
|
|
|
test('retourne null pour un path vide', () => {
|
|
assert.strictEqual(extractProjectName(''), null);
|
|
});
|
|
|
|
test('extrait correctement quand le chemin contient docker plusieurs fois', () => {
|
|
assert.strictEqual(
|
|
extractProjectName('/root/docker/flatbay/lib/docker/foo.js'),
|
|
'flatbay'
|
|
);
|
|
});
|
|
|
|
test('gere les paths avec tirets et chiffres', () => {
|
|
assert.strictEqual(
|
|
extractProjectName('/root/docker/gextra6/bin/console'),
|
|
'gextra6'
|
|
);
|
|
});
|
|
});
|