26 lines
947 B
JavaScript
26 lines
947 B
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert');
|
|
const { listTemplates, buildGitignore } = require('../src/features/gitignoreTemplates.js');
|
|
|
|
test('listTemplates nennt Node, .NET und Electron', () => {
|
|
const keys = listTemplates().map(t => t.key);
|
|
assert.deepStrictEqual(keys, ['node', 'dotnet', 'electron']);
|
|
});
|
|
|
|
test('buildGitignore enthält immer den allgemeinen Teil', () => {
|
|
const out = buildGitignore([]);
|
|
assert.match(out, /\.env/);
|
|
assert.doesNotMatch(out, /node_modules/);
|
|
});
|
|
|
|
test('buildGitignore fügt gewählte Vorlagen genau einmal hinzu', () => {
|
|
const out = buildGitignore(['node', 'node', 'electron']);
|
|
assert.strictEqual(out.split('node_modules/').length - 1, 1);
|
|
assert.match(out, /dist\//);
|
|
assert.doesNotMatch(out, /\.vs\//);
|
|
});
|
|
|
|
test('buildGitignore ignoriert unbekannte Schlüssel', () => {
|
|
assert.doesNotThrow(() => buildGitignore(['gibt-es-nicht', '__proto__', null]));
|
|
});
|