import {describe, expect, it} from 'bun:test'; import assertUnreachable from '../../../src/lang/assertUnreachable'; describe('assertUnreachable', () => { describe('when called with an unexpected value', () => { it('should throw an error containing the value', () => { const unreachableValue = 'unexpected' as never; expect(() => assertUnreachable(unreachableValue)).toThrow('Unreachable code: unexpected'); }); it('should handle numeric values in the error message', () => { const numericValue = 42 as never; expect(() => assertUnreachable(numericValue)).toThrow('Unreachable code: 42'); }); it('should always throw and never return', () => { const value = 'test' as never; let didThrow = false; try { assertUnreachable(value); } catch { didThrow = true; } expect(didThrow).toBe(true); }); }); });