mirror of
https://git.vectorsigma.ru/public/photoview.git
synced 2026-08-03 21:09:05 +00:00
Add more real media files to scanner_test (#1195)
* Add real_media to scanner tests. * Fix tests. * Remove old test files. * Fix with reviews.
This commit is contained in:
@@ -26,7 +26,7 @@ func TestMagic(t *testing.T) {
|
|||||||
{"webp.webp", TypeWebP},
|
{"webp.webp", TypeWebP},
|
||||||
|
|
||||||
{"heif.heif", mediaType("image/heic")},
|
{"heif.heif", mediaType("image/heic")},
|
||||||
{"jpeg2000.jp2", mediaType("image/jp2")},
|
{"jpg2000.jp2", mediaType("image/jp2")},
|
||||||
{"tiff.tiff", mediaType("image/tiff")},
|
{"tiff.tiff", mediaType("image/tiff")},
|
||||||
|
|
||||||
{"mp4.mp4", TypeMP4},
|
{"mp4.mp4", TypeMP4},
|
||||||
@@ -91,7 +91,7 @@ func getMediaFiles() []string {
|
|||||||
"webp.webp",
|
"webp.webp",
|
||||||
|
|
||||||
"heif.heif",
|
"heif.heif",
|
||||||
"jpeg2000.jp2",
|
"jpg2000.jp2",
|
||||||
"tiff.tiff",
|
"tiff.tiff",
|
||||||
|
|
||||||
"mp4.mp4",
|
"mp4.mp4",
|
||||||
|
|||||||
@@ -33,10 +33,25 @@ func TestFullScan(t *testing.T) {
|
|||||||
|
|
||||||
rootAlbum := models.Album{
|
rootAlbum := models.Album{
|
||||||
Title: "root album",
|
Title: "root album",
|
||||||
Path: "./test_media/library",
|
Path: "./test_media",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wantNoImages := []string{
|
||||||
|
"avi.avi",
|
||||||
|
"bmp.bmp",
|
||||||
|
"mkv.mkv",
|
||||||
|
"mp4.mp4",
|
||||||
|
"mpeg.mpg",
|
||||||
|
"ogg.ogg",
|
||||||
|
"quicktime.mov",
|
||||||
|
"webm.webm",
|
||||||
|
"wmv.wmv",
|
||||||
|
}
|
||||||
wantImages := []string{
|
wantImages := []string{
|
||||||
|
"gif.gif",
|
||||||
|
"webp.webp",
|
||||||
|
}
|
||||||
|
wantThumbnailsImages := []string{
|
||||||
"buttercup_close_summer_yellow.jpg",
|
"buttercup_close_summer_yellow.jpg",
|
||||||
"lilac_lilac_bush_lilac.jpg",
|
"lilac_lilac_bush_lilac.jpg",
|
||||||
"mount_merapi_volcano_indonesia.jpg",
|
"mount_merapi_volcano_indonesia.jpg",
|
||||||
@@ -46,7 +61,21 @@ func TestFullScan(t *testing.T) {
|
|||||||
"girl_blond1.jpg",
|
"girl_blond1.jpg",
|
||||||
"girl_blond2.jpg",
|
"girl_blond2.jpg",
|
||||||
"girl_blond3.jpg",
|
"girl_blond3.jpg",
|
||||||
|
|
||||||
|
"jpeg.jpg",
|
||||||
|
"jpg_with_file.jpg",
|
||||||
|
"png.png",
|
||||||
|
"standalone_jpg.jpg",
|
||||||
}
|
}
|
||||||
|
wantHighresImages := []string{
|
||||||
|
"heif.heif",
|
||||||
|
"jpg2000.jp2",
|
||||||
|
"raw_with_file.tiff",
|
||||||
|
"raw_with_jpg.tiff",
|
||||||
|
"standalone_raw.tiff",
|
||||||
|
"tiff.tiff",
|
||||||
|
}
|
||||||
|
|
||||||
wantFaceGroups := [][]string{
|
wantFaceGroups := [][]string{
|
||||||
{"boy1.jpg", "boy2.jpg"},
|
{"boy1.jpg", "boy2.jpg"},
|
||||||
{"girl_black_hair2.jpg"},
|
{"girl_black_hair2.jpg"},
|
||||||
@@ -81,6 +110,9 @@ func TestFullScan(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
want := slices.Clone(wantImages)
|
want := slices.Clone(wantImages)
|
||||||
|
want = append(want, wantNoImages...)
|
||||||
|
want = append(want, wantThumbnailsImages...)
|
||||||
|
want = append(want, wantHighresImages...)
|
||||||
slices.Sort(want)
|
slices.Sort(want)
|
||||||
|
|
||||||
got := make([]string, len(allMedia))
|
got := make([]string, len(allMedia))
|
||||||
@@ -100,17 +132,35 @@ func TestFullScan(t *testing.T) {
|
|||||||
t.Fatal("get all media url error:", err)
|
t.Fatal("get all media url error:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if got, want := len(allMediaURL), 18; got != want {
|
want := slices.Clone(wantImages)
|
||||||
t.Errorf("got = %d, want: %v", got, want)
|
|
||||||
|
wantThumbs := slices.Clone(wantThumbnailsImages)
|
||||||
|
want = append(want, wantThumbnailsImages...)
|
||||||
|
for _, file := range copyFilelistWithJpgExt(wantThumbs) {
|
||||||
|
want = append(want, "thumbnail_"+file)
|
||||||
}
|
}
|
||||||
|
|
||||||
want := slices.Clone(wantImages)
|
wantHighres := slices.Clone(wantHighresImages)
|
||||||
wantThumbs := slices.Clone(wantImages)
|
want = append(want, wantHighresImages...)
|
||||||
for _, thumb := range wantThumbs {
|
for _, file := range copyFilelistWithJpgExt(wantHighres) {
|
||||||
want = append(want, "thumbnail_"+thumb)
|
want = append(want, "highres_"+file)
|
||||||
|
want = append(want, "thumbnail_"+file)
|
||||||
|
}
|
||||||
|
|
||||||
|
wantSet := make(map[string]struct{})
|
||||||
|
for _, item := range want {
|
||||||
|
wantSet[item] = struct{}{}
|
||||||
|
}
|
||||||
|
want = make([]string, 0, len(wantSet))
|
||||||
|
for key := range wantSet {
|
||||||
|
want = append(want, key)
|
||||||
}
|
}
|
||||||
slices.Sort(want)
|
slices.Sort(want)
|
||||||
|
|
||||||
|
if got, want := len(allMediaURL), len(want); got != want {
|
||||||
|
t.Errorf("got = %d, want: %v", got, want)
|
||||||
|
}
|
||||||
|
|
||||||
got := make([]string, len(allMediaURL))
|
got := make([]string, len(allMediaURL))
|
||||||
for i, media := range allMediaURL {
|
for i, media := range allMediaURL {
|
||||||
got[i] = media.MediaName
|
got[i] = media.MediaName
|
||||||
@@ -159,9 +209,9 @@ func TestFullScan(t *testing.T) {
|
|||||||
|
|
||||||
func equalNameWithoutSuffix(a, b string) bool {
|
func equalNameWithoutSuffix(a, b string) bool {
|
||||||
extA := filepath.Ext(a)
|
extA := filepath.Ext(a)
|
||||||
mainA := strings.TrimRight(a, extA)
|
mainA := strings.TrimSuffix(a, extA)
|
||||||
extB := filepath.Ext(b)
|
extB := filepath.Ext(b)
|
||||||
mainB := strings.TrimRight(b, extB)
|
mainB := strings.TrimSuffix(b, extB)
|
||||||
|
|
||||||
// ext names are not same
|
// ext names are not same
|
||||||
if extA != extB {
|
if extA != extB {
|
||||||
@@ -215,3 +265,15 @@ func groupMediaWithFaces(medias []*models.ImageFace) [][]string {
|
|||||||
|
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func copyFilelistWithJpgExt(list []string) []string {
|
||||||
|
ret := make([]string, 0, len(list))
|
||||||
|
for _, f := range list {
|
||||||
|
ext := filepath.Ext(f)
|
||||||
|
main := strings.TrimSuffix(f, ext)
|
||||||
|
|
||||||
|
ret = append(ret, main+".jpg")
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user