streaming

Media streaming and broadcast systems in Go
Log | Files | Refs | README | LICENSE

wav_test.go (597B)


      1 package wav
      2 
      3 import (
      4 	"io"
      5 	"os"
      6 	"reflect"
      7 	"testing"
      8 )
      9 
     10 func TestDecodeEncode(t *testing.T) {
     11 	source := make([]byte, headerLength+extensionLength)
     12 	f, err := os.Open("test.wav")
     13 	if err != nil {
     14 		t.Fatal(err)
     15 	}
     16 	defer f.Close()
     17 	if _, err := io.ReadFull(f, source[:]); err != nil {
     18 		t.Fatalf("copy header bytes: %v", err)
     19 	}
     20 
     21 	if _, err := f.Seek(0, 0); err != nil {
     22 		t.Fatal(err)
     23 	}
     24 	file, err := ReadFile(f)
     25 	if err != nil {
     26 		t.Fatal(err)
     27 	}
     28 	header := EncodeHeader(file.Header)
     29 	if !reflect.DeepEqual(source, header) {
     30 		t.Errorf("encode header: want %v, got %v", source, header)
     31 	}
     32 }