...

Source file src/github.com/go-sourcemap/sourcemap/internal/base64vlq/base64vlq_test.go

Documentation: github.com/go-sourcemap/sourcemap/internal/base64vlq

     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