You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
exiv2/tests/bash_tests/test_Photo_LensSpecificatio...

285 lines
11 KiB
Python

# -*- coding: utf-8 -*-
from system_tests import CaseMeta, CopyTmpFiles, path
#####################################################################
# Standard cases (correct values)
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecificationCorrect(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification 1000/10 1000/10 28/10 28/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 280/10 700/10 28/10 28/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 280/10 700/10 28/10 40/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 28/10 70/10 28/10 40/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "1000/10 1000/10 28/10 28/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 100mm F2.8
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "280/10 700/10 28/10 28/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 28-70mm F2.8
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "280/10 700/10 28/10 40/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 28-70mm F2.8-4
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "28/10 70/10 28/10 40/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 2.8-7mm F2.8-4
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)
#####################################################################
# empty lens specification (all zeros)
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecificationEmpty(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification 0/0 0/0 0/0 0/0" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "0/0 0/0 0/0 0/0" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 n/a
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)
#####################################################################
# Exif.Photo.LensSpecification filled with wrong type: Ascii
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecificationAscii(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification Ascii 1/10 2/10 3/10 4/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "1/10 2/10 3/10 4/10" (Ascii)
""",
"""Exif.Photo.LensSpecification Ascii 20 (1/10 2/10 3/10 4/10)
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)
#####################################################################
# Exif.Photo.LensSpecification filled with wrong type: Byte (4 values)
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecification4Byte(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification Byte 1 2 3 4" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "1 2 3 4" (Byte)
""",
"""Exif.Photo.LensSpecification Byte 4 (1 2 3 4)
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)
#####################################################################
# Exif.Photo.LensSpecification filled with wrong number of values
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecification5Rational(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification 1/10 2/10 3/10 4/10 5/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "1/10 2/10 3/10 4/10 5/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 5 (1/10 2/10 3/10 4/10 5/10)
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)
#####################################################################
# divisor is zero
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecificationZeroDevisor(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification 1/0 2/10 3/10 4/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 1/10 2/0 3/10 4/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 1/10 2/10 3/0 4/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 1/10 2/10 3/10 4/0" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "1/0 2/10 3/10 4/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 (1/0 2/10 3/10 4/10)
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "1/10 2/0 3/10 4/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 (1/10 2/0 3/10 4/10)
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "1/10 2/10 3/0 4/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 (1/10 2/10 3/0 4/10)
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "1/10 2/10 3/10 4/0" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 (1/10 2/10 3/10 4/0)
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)
#####################################################################
# dividend is zero
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecificationZeroDevidend(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification 0/10 200/10 33/10 44/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 100/10 0/10 33/10 44/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 100/10 200/10 0/10 44/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 100/10 200/10 33/10 0/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "0/10 200/10 33/10 44/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 n/a-20mm F3.3-4.4
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "100/10 0/10 33/10 44/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 10-n/a mm F3.3-4.4
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "100/10 200/10 0/10 44/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 10-20mm F n/a-4.4
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "100/10 200/10 33/10 0/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 10-20mm F3.3-n/a
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)
#####################################################################
# dividend and divisor is zero
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecificationZeroDevidendDivisior(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification 0/0 200/10 33/10 44/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 100/10 0/0 33/10 44/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 100/10 200/10 0/0 44/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 100/10 200/10 33/10 0/0" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "0/0 200/10 33/10 44/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 n/a-20mm F3.3-4.4
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "100/10 0/0 33/10 44/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 10-n/a mm F3.3-4.4
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "100/10 200/10 0/0 44/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 10-20mm F n/a-4.4
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "100/10 200/10 33/10 0/0" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 10-20mm F3.3-n/a
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)
#####################################################################
# first value bigger than second
#####################################################################
@CopyTmpFiles("$data_path/exiv2-empty.jpg")
class LensSpecificationFirstBiggerSecond(metaclass=CaseMeta):
filename = path("$tmp_path/exiv2-empty.jpg")
commands = [
"""$exiv2 -u -v -M"add Exif.Photo.LensSpecification 2010/100 200/10 33/10 44/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename",
"""$exiv2 -u -v -M"set Exif.Photo.LensSpecification 100/10 200/10 441/100 44/10" $filename""",
"$exiv2 -KExif.Photo.LensSpecification $filename"
]
stdout = ["""File 1/1: $filename
Add Exif.Photo.LensSpecification "2010/100 200/10 33/10 44/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 (2010/100 200/10 33/10 44/10)
""",
"""File 1/1: $filename
Set Exif.Photo.LensSpecification "100/10 200/10 441/100 44/10" (Rational)
""",
"""Exif.Photo.LensSpecification Rational 4 (100/10 200/10 441/100 44/10)
"""
]
stderr = [""] * len(commands)
retval = [0] * len(commands)