-
Notifications
You must be signed in to change notification settings - Fork 8
/
parse.spec.ts
33 lines (28 loc) · 963 Bytes
/
parse.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { parsePortRange } from './parse'
describe('parsePortRange', () => {
describe('parses', () => {
it('parses single ports up to 5 digits', () => {
expect(parsePortRange('0')).toEqual([0, 0])
expect(parsePortRange('1')).toEqual([1, 1])
expect(parsePortRange('123')).toEqual([123, 123])
expect(parsePortRange('12356')).toEqual([12356, 12356])
})
it('parses ranges', () => {
expect(parsePortRange('123-456')).toEqual([123, 456])
expect(parsePortRange('1-45690')).toEqual([1, 45690])
expect(parsePortRange('5-5')).toEqual([5, 5])
})
})
describe('rejects', () => {
it('nonsense', () => {
expect(parsePortRange('12a5')).toEqual(null)
expect(parsePortRange('lkajsdfha')).toEqual(null)
})
it('p2 < p1', () => {
expect(parsePortRange('123-45')).toEqual(null)
})
it('too many digits', () => {
expect(parsePortRange('239032')).toEqual(null)
})
})
})