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.
128 lines
5.5 KiB
Python
128 lines
5.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import itertools
|
|
|
|
import system_tests
|
|
|
|
|
|
TYPES = ["8BIM", "AgHg", "DCSR", "PHUT"]
|
|
FORMATS = ["jpg", "psd"]
|
|
|
|
|
|
def make_commands(filename):
|
|
return [
|
|
"$exiv2 -u -v -M'set Exif.Photo.UserComment Test' " + filename,
|
|
"$exiv2 -u -pt " + filename
|
|
]
|
|
|
|
|
|
def make_filename(irb_type, img_format):
|
|
return "$data_path/exiv2-bug800-" + irb_type + "_copy." + img_format
|
|
|
|
|
|
def make_stdout(irb_type, img_format):
|
|
first = """File 1/1: """ + make_filename(irb_type, img_format) + """
|
|
Set Exif.Photo.UserComment "Test" (Comment)
|
|
"""
|
|
|
|
if img_format == "jpg":
|
|
second = """Exif.Image.Orientation Short 1 top, left
|
|
Exif.Image.XResolution Rational 1 180
|
|
Exif.Image.YResolution Rational 1 180
|
|
Exif.Image.ResolutionUnit Short 1 inch
|
|
Exif.Image.Software Ascii 16 QuickTime 6.5.2
|
|
Exif.Image.DateTime Ascii 20 2005:03:27 19:46:52
|
|
Exif.Image.HostComputer Ascii 16 Mac OS X 10.3.8
|
|
Exif.Image.YCbCrPositioning Short 1 Centered
|
|
Exif.Image.ExifTag Long 1 190
|
|
Exif.Photo.ExposureTime Rational 1 1/200 s
|
|
Exif.Photo.FNumber Rational 1 F7.1
|
|
Exif.Photo.ExifVersion Undefined 4 2.20
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2005:03:18 22:15:08
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2005:03:18 22:15:08
|
|
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
|
|
Exif.Photo.CompressedBitsPerPixel Rational 1 5
|
|
Exif.Photo.ShutterSpeedValue SRational 1 1/202 s
|
|
Exif.Photo.ApertureValue Rational 1 F7.1
|
|
Exif.Photo.ExposureBiasValue SRational 1 0 EV
|
|
Exif.Photo.MaxApertureValue Rational 1 F2.8
|
|
Exif.Photo.MeteringMode Short 1 Multi-segment
|
|
Exif.Photo.Flash Short 1 No, auto
|
|
Exif.Photo.FocalLength Rational 1 7.4 mm
|
|
Exif.Photo.MakerNote Undefined 590 (Binary value suppressed)
|
|
Exif.Photo.UserComment Undefined 12 Test
|
|
Exif.Photo.FlashpixVersion Undefined 4 1.00
|
|
Exif.Photo.PixelXDimension Short 1 2272
|
|
Exif.Photo.PixelYDimension Short 1 1704
|
|
Exif.Photo.FocalPlaneXResolution Rational 1 8114.29
|
|
Exif.Photo.FocalPlaneYResolution Rational 1 8114.29
|
|
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
|
|
Exif.Photo.SensingMethod Short 1 One-chip color area
|
|
Exif.Photo.FileSource Undefined 1 Digital still camera
|
|
Exif.Photo.CustomRendered Short 1 Normal process
|
|
Exif.Photo.ExposureMode Short 1 Auto
|
|
Exif.Photo.WhiteBalance Short 1 Auto
|
|
Exif.Photo.DigitalZoomRatio Rational 1 1.0
|
|
Exif.Photo.SceneCaptureType Short 1 Standard
|
|
"""
|
|
elif img_format == 'psd':
|
|
second = """Exif.Image.ImageWidth Short 1 150
|
|
Exif.Image.ImageLength Short 1 91
|
|
Exif.Image.BitsPerSample Short 3 8 8 8
|
|
Exif.Image.Orientation Short 1 top, left
|
|
Exif.Image.SamplesPerPixel Short 1 3
|
|
Exif.Image.XResolution Rational 1 72
|
|
Exif.Image.YResolution Rational 1 72
|
|
Exif.Image.ResolutionUnit Short 1 inch
|
|
Exif.Image.Software Ascii 30 Adobe Photoshop CS5 Macintosh
|
|
Exif.Image.DateTime Ascii 20 2011:06:27 21:41:02
|
|
Exif.Image.ExifTag Long 1 218
|
|
Exif.Photo.ExifVersion Undefined 4 2.21
|
|
Exif.Photo.UserComment Undefined 12 Test
|
|
Exif.Photo.ColorSpace Short 1 Uncalibrated
|
|
Exif.Photo.PixelXDimension Long 1 150
|
|
Exif.Photo.PixelYDimension Long 1 91
|
|
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
|
|
Exif.Thumbnail.XResolution Rational 1 72
|
|
Exif.Thumbnail.YResolution Rational 1 72
|
|
Exif.Thumbnail.ResolutionUnit Short 1 inch
|
|
Exif.Thumbnail.JPEGInterchangeFormat Long 1 390
|
|
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 0
|
|
"""
|
|
return [first, second]
|
|
|
|
|
|
FILES = [
|
|
make_filename(irb_type, img_format)
|
|
for irb_type, img_format in itertools.product(TYPES, FORMATS)
|
|
]
|
|
|
|
ORIGINAL_FILES = [
|
|
"$data_path/exiv2-bug800-" + irb_type + "." + img_format
|
|
for irb_type, img_format in itertools.product(TYPES, FORMATS)
|
|
]
|
|
|
|
|
|
@system_tests.CopyFiles(*ORIGINAL_FILES)
|
|
class MissingPhotoshopIrbTypes(metaclass=system_tests.CaseMeta):
|
|
|
|
url = "http://dev.exiv2.org/issues/800"
|
|
|
|
types = ["8BIM", "AgHg", "DCSR", "PHUT"]
|
|
formats = ["jpg", "psd"]
|
|
|
|
commands = list(
|
|
itertools.chain.from_iterable(
|
|
make_commands(fname) for fname in FILES
|
|
)
|
|
)
|
|
|
|
stdout = list(
|
|
itertools.chain.from_iterable(
|
|
make_stdout(irb_type, img_format)
|
|
for irb_type, img_format in itertools.product(TYPES, FORMATS)
|
|
)
|
|
)
|
|
stderr = [""] * 16
|
|
retval = [0] * 16
|