Files
aiturk-hermes-ide/apps/desktop/src/lib/remote-url.test.ts
T

26 lines
1.2 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { coerceRemoteUrlScheme } from './remote-url'
describe('coerceRemoteUrlScheme', () => {
it('prepends http:// to scheme-less host:port input', () => {
expect(coerceRemoteUrlScheme('100.64.0.1:9119')).toBe('http://100.64.0.1:9119')
expect(coerceRemoteUrlScheme('mini.tailnet-1234.ts.net:9119')).toBe('http://mini.tailnet-1234.ts.net:9119')
expect(coerceRemoteUrlScheme('localhost:9119')).toBe('http://localhost:9119')
expect(coerceRemoteUrlScheme('gw.example.com')).toBe('http://gw.example.com')
})
it('leaves explicitly schemed URLs alone', () => {
expect(coerceRemoteUrlScheme('http://host:9119')).toBe('http://host:9119')
expect(coerceRemoteUrlScheme('https://gw.example.com/hermes')).toBe('https://gw.example.com/hermes')
expect(coerceRemoteUrlScheme('ws://host:9119')).toBe('ws://host:9119')
expect(coerceRemoteUrlScheme('ftp://host:21')).toBe('ftp://host:21')
})
it('trims and passes through empty input', () => {
expect(coerceRemoteUrlScheme('')).toBe('')
expect(coerceRemoteUrlScheme(' ')).toBe('')
expect(coerceRemoteUrlScheme(' host:9119 ')).toBe('http://host:9119')
})
})