photoprism/internal/meta/xmp_test.go
Michael Mayer c147eee30f Backend: Add stub for meta package #172
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-07 17:36:49 +01:00

55 lines
1.8 KiB
Go

package meta
import (
"testing"
"github.com/stretchr/testify/assert"
"trimmer.io/go-xmp/xmp"
)
func TestXMP(t *testing.T) {
data, err := XMP("testdata/IMG_20200101_172822.xmp")
if err != nil {
t.Fatal(err)
}
val := data.Exif
assert.Equal(t, "Michael Mayer", val.Artist)
assert.Equal(t, xmp.StringList{"Michael Mayer"}, val.ArtistXMP)
assert.Equal(t, "This is an (edited) legal notice", val.Copyright)
assert.Equal(t, "2020-01-01T17:28:23Z", val.DateTime.Value().Format("2006-01-02T15:04:05Z"))
assert.Equal(t, "Example file for development", val.ImageDescription)
assert.Equal(t, 2736, val.ImageLength)
assert.Equal(t, 3648, val.ImageWidth)
assert.Equal(t, "HUAWEI", val.Make)
assert.Equal(t, "ELE-L29", val.Model)
assert.Equal(t, 0, int(val.Orientation))
assert.Equal(t, 1.0, val.GPSAltitude.Value()) // TODO: Is this correct?
// TODO: Values are empty - why?
// assert.Equal(t, "52.459690093888895", val.GPSLongitudeCoord.Value())
// assert.Equal(t, "13.321831703055555", val.GPSLatitudeCoord.Value())
// assert.Equal(t, 27, val.FocalLengthIn35mmFilm)
assert.Equal(t, "Michael Mayer", data.Artist)
assert.Equal(t, "2020-01-01T17:28:23Z", data.TakenAtLocal.Format("2006-01-02T15:04:05Z"))
// TODO: Is wrong because lat / lng are missing (value empty)
// assert.Equal(t, "2020-01-01T16:28:23Z", data.TakenAt.Format("2006-01-02T15:04:05Z"))
assert.Equal(t, "Example file for development", data.Description)
assert.Equal(t, "This is an (edited) legal notice", data.Copyright)
assert.Equal(t, 2736, data.Height)
assert.Equal(t, 3648, data.Width)
assert.Equal(t, "HUAWEI", data.CameraMake)
assert.Equal(t, "ELE-L29", data.CameraModel)
assert.Equal(t, 0, data.Orientation)
// TODO: Values are empty - why?
// assert.Equal(t, 27, data.FocalLength)
// assert.Equal(t, "HUAWEI P30 Rear Main Camera", data.LensModel)
}