...
1 package base64vlq_test
2
3 import (
4 "bytes"
5 "testing"
6
7 "github.com/go-sourcemap/sourcemap/internal/base64vlq"
8 )
9
10 func TestEncodeDecode(t *testing.T) {
11 buf := new(bytes.Buffer)
12 enc := base64vlq.NewEncoder(buf)
13 dec := base64vlq.NewDecoder(buf)
14
15 for n := int32(-1000); n < 1000; n++ {
16 if err := enc.Encode(n); err != nil {
17 panic(err)
18 }
19 }
20
21 for n := int32(-1000); n < 1000; n++ {
22 nn, err := dec.Decode()
23 if err != nil {
24 panic(err)
25 }
26
27 if nn != n {
28 t.Errorf("%d != %d", nn, n)
29 }
30 }
31 }
32
33 func BenchmarkEncode(b *testing.B) {
34 buf := new(bytes.Buffer)
35 enc := base64vlq.NewEncoder(buf)
36
37 b.ResetTimer()
38
39 for i := 0; i < b.N; i++ {
40 if err := enc.Encode(1000); err != nil {
41 panic(err)
42 }
43 }
44 }
45
46 func BenchmarkEncodeDecode(b *testing.B) {
47 buf := new(bytes.Buffer)
48 enc := base64vlq.NewEncoder(buf)
49 dec := base64vlq.NewDecoder(buf)
50
51 b.ResetTimer()
52
53 for i := 0; i < b.N; i++ {
54 if err := enc.Encode(1000); err != nil {
55 panic(err)
56 }
57
58 _, err := dec.Decode()
59 if err != nil {
60 panic(err)
61 }
62 }
63 }
64
View as plain text