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 }