test(ffmpeg): mp3 cover art tests

* test(ffmpeg): no codec mp3 tests

* test: update golden files
This commit is contained in:
Adrian Shum 2022-10-13 22:24:06 +08:00 committed by GitHub
parent 66b74a271f
commit b2539b58e6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 42 additions and 0 deletions

View file

@ -23,6 +23,11 @@ var files = []string{
"schizo_90.mp4",
"schizo_180.mp4",
"schizo_270.mp4",
"with_cover.mp3",
}
var noVideo = []string{
"no_cover.mp3",
}
var baseDir = "../testdata/"
@ -99,3 +104,34 @@ func TestAVContext(t *testing.T) {
}
}
}
func TestNoVideo(t *testing.T) {
require.NoError(t, os.MkdirAll(baseDir+"golden/meta", 0755))
require.NoError(t, os.MkdirAll(baseDir+"golden/export", 0755))
for _, filename := range noVideo {
t.Run(filename, func(t *testing.T) {
ctx := context.Background()
path := baseDir + filename
reader, err := os.Open(path)
require.NoError(t, err)
stats, err := os.Stat(path)
require.NoError(t, err)
av, err := LoadAVContext(ctx, reader, stats.Size())
require.NoError(t, err)
defer av.Close()
require.Equal(t, ErrDecoderNotFound, av.ProcessFrames(-1))
meta := av.Metadata()
metaBuf, err := json.Marshal(meta)
require.NoError(t, err)
goldenFile := baseDir + "golden/meta/" + filename + ".meta.json"
if curr, err := os.ReadFile(goldenFile); err == nil {
assert.Equal(t, string(curr), string(metaBuf))
} else {
require.NoError(t, os.WriteFile(goldenFile, metaBuf, 0666))
}
buf, err := av.Export(3)
require.Empty(t, buf)
require.Equal(t, ErrDecoderNotFound, err)
})
}
}