import { describe, expect, it } from 'bun:test' import { kernelPorts, modeLabel } from './dashboard.ts' describe('运行模式', () => { it('三个已知模式有中文名', () => { expect(modeLabel('rule')).toBe('规则') expect(modeLabel('global')).toBe('全局') expect(modeLabel('direct')).toBe('直连') }) it('没见过的值原样显示,缺省是破折号', () => { expect(modeLabel('script')).toBe('script') expect(modeLabel(undefined)).toBe('—') expect(modeLabel('')).toBe('—') }) }) describe('代理端口', () => { it('挑出大于 0 的端口,按固定顺序', () => { expect(kernelPorts({ 'mixed-port': 7890, port: 7891, 'socks-port': 0 })).toEqual([ { name: 'port', port: 7891 }, { name: 'mixed-port', port: 7890 }, ]) }) it('0、缺省和非数字都不算启用', () => { expect(kernelPorts({ port: 0, 'socks-port': 'abc' })).toEqual([]) }) it('字符串端口号也认得', () => { expect(kernelPorts({ port: '7890' })).toEqual([{ name: 'port', port: 7890 }]) }) })