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])); });