...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package proto
25
26 import "testing"
27
28 func TestParseRanges(t *testing.T) {
29 r := new(Reserved)
30 p := newParserOn(`reserved 2, 15, 9 to 11;`)
31 _, _, _ = p.next()
32 ranges, err := parseRanges(p, r)
33 if err != nil {
34 t.Fatal(err)
35 }
36 if got, want := ranges[2].SourceRepresentation(), "9 to 11"; got != want {
37 t.Errorf("got [%v] want [%v]", got, want)
38 }
39 }
40
41 func TestParseRangesMax(t *testing.T) {
42 r := new(Extensions)
43 p := newParserOn(`extensions 3 to max;`)
44 _, _, _ = p.next()
45 ranges, err := parseRanges(p, r)
46 if err != nil {
47 t.Fatal(err)
48 }
49 if got, want := ranges[0].SourceRepresentation(), "3 to max"; got != want {
50 t.Errorf("got [%v] want [%v]", got, want)
51 }
52 }
53
54 func TestParseRangesMultiToMax(t *testing.T) {
55 r := new(Extensions)
56 p := newParserOn(`extensions 1,2 to 5,6 to 9,10 to max;`)
57 _, _, _ = p.next()
58 ranges, err := parseRanges(p, r)
59 if err != nil {
60 t.Fatal(err)
61 }
62 if got, want := len(ranges), 4; got != want {
63 t.Fatalf("got [%v] want [%v]", got, want)
64 }
65 if got, want := ranges[3].SourceRepresentation(), "10 to max"; got != want {
66 t.Errorf("got [%v] want [%v]", got, want)
67 }
68 }
69
View as plain text