You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.5 KiB
70 lines
1.5 KiB
package id3ed |
|
|
|
import ( |
|
"path/filepath" |
|
"testing" |
|
|
|
v1 "github.com/Unbewohnte/id3ed/v1" |
|
v2 "github.com/Unbewohnte/id3ed/v2" |
|
) |
|
|
|
var TESTDATAPATH string = "testData" |
|
|
|
func TestOpen(t *testing.T) { |
|
file, err := Open(filepath.Join(TESTDATAPATH, "testreadv2.mp3")) |
|
if err != nil { |
|
t.Errorf("Open failed: %s", err) |
|
} |
|
|
|
if file.ContainsID3v1 { |
|
t.Error("Open failed: expected testing file to not contain ID3v1") |
|
} |
|
|
|
// if file.ID3v1Tag |
|
|
|
if !file.ContainsID3v2 { |
|
t.Error("Open failed: expected testing file to contain ID3v2") |
|
} |
|
|
|
if file.ID3v2Tag.Header.Version() != v2.V2_4 { |
|
t.Errorf("Open failed: id3v2tag: header: expected version to be %s; got %s", |
|
v2.V2_4, file.ID3v2Tag.Header.Version()) |
|
} |
|
} |
|
|
|
func TestWriteID3v1(t *testing.T) { |
|
file, err := Open(filepath.Join(TESTDATAPATH, "testwritev1.mp3")) |
|
if err != nil { |
|
t.Errorf("Open failed: %s", err) |
|
} |
|
v1tag := &v1.ID3v1Tag{ |
|
SongName: "testsong", |
|
Artist: "testartist", |
|
Album: "testalbum", |
|
Year: 727, |
|
Comment: "testcomment", |
|
Genre: "Blues", |
|
} |
|
|
|
err = file.WriteID3v1(v1tag) |
|
if err != nil { |
|
t.Errorf("WriteID3v1 failed: %s", err) |
|
} |
|
} |
|
|
|
func TestWriteID3v2(t *testing.T) { |
|
file, err := Open(filepath.Join(TESTDATAPATH, "testwritev2.mp3")) |
|
if err != nil { |
|
t.Errorf("Open failed: %s", err) |
|
} |
|
|
|
frame1, _ := v2.NewFrame("COMM", []byte("Very Cool Song"), true) |
|
frame2, _ := v2.NewFrame("TXXX", []byte("\n\n\n\n\n\n\nF\n\n\n\n"), true) |
|
|
|
v2tag := v2.NewTAG([]v2.Frame{*frame1, *frame2}) |
|
|
|
err = file.WriteID3v2(v2tag) |
|
if err != nil { |
|
t.Errorf("WriteID3v2 failed: %s", err) |
|
} |
|
}
|
|
|