1package base64vlq_test 2 3import ( 4 "bytes" 5 "testing" 6 7 "github.com/go-sourcemap/sourcemap/internal/base64vlq" 8) 9 10func 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 33func 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 46func 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