github.com/talwat/gobar@v1.0.2/gobar_test.go (about)

     1  package gobar_test
     2  
     3  import (
     4  	"io"
     5  	"net/http"
     6  	"testing"
     7  	"time"
     8  
     9  	"github.com/talwat/gobar"
    10  )
    11  
    12  func BenchmarkRender(b *testing.B) {
    13  	bar := gobar.NewBar(0, 10000, "benchmark")
    14  
    15  	for i := 0; i < int(bar.Total); i++ {
    16  		bar.Increment(1)
    17  	}
    18  }
    19  
    20  func TestBasic(t *testing.T) {
    21  	t.Parallel()
    22  
    23  	bar := gobar.NewBar(0, 10, "basic")
    24  
    25  	for i := 0; i < int(bar.Total); i++ {
    26  		time.Sleep(10 * time.Millisecond)
    27  		bar.Increment(1)
    28  	}
    29  }
    30  
    31  func TestIO(t *testing.T) {
    32  	t.Parallel()
    33  
    34  	req, _ := http.NewRequest("GET", "https://dl.google.com/go/go1.14.2.src.tar.gz", nil)
    35  	resp, _ := http.DefaultClient.Do(req)
    36  
    37  	bar := gobar.NewBar(0, resp.ContentLength, "io")
    38  
    39  	defer resp.Body.Close()
    40  
    41  	io.Copy(io.MultiWriter(bar), resp.Body)
    42  }