Six tasks with hidden checks: ASP.NET validation and 404 handling, C# cancellation, and TypeScript overlap, deep merge, and debounce fixes, checked with dotnet run and node --test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
18 lines
703 B
TypeScript
18 lines
703 B
TypeScript
import { test } from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { mergeConfig } from '../src/config.ts';
|
|
|
|
test('nested objects merge deeply', () => {
|
|
const base = { server: { host: 'a', port: 1, tls: { on: true } }, tags: ['x'] };
|
|
const override = { server: { port: 2, tls: { cert: 'c' } }, tags: ['y', 'z'] };
|
|
assert.deepEqual(mergeConfig(base, override), { server: { host: 'a', port: 2, tls: { on: true, cert: 'c' } }, tags: ['y', 'z'] });
|
|
});
|
|
|
|
test('inputs are not mutated', () => {
|
|
const base = { a: { b: 1 } };
|
|
const override = { a: { c: 2 } };
|
|
mergeConfig(base, override);
|
|
assert.deepEqual(base, { a: { b: 1 } });
|
|
assert.deepEqual(override, { a: { c: 2 } });
|
|
});
|