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.
114 lines
3.6 KiB
Python
114 lines
3.6 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import system_tests
|
|
|
|
|
|
@system_tests.CopyFiles("$data_path/exiv2-empty.jpg")
|
|
class UnicodeEncodingOfExifUserCommentTag(metaclass=system_tests.CaseMeta):
|
|
|
|
url = "http://dev.exiv2.org/issues/662"
|
|
|
|
filename = "$data_path/exiv2-empty_copy.jpg"
|
|
commands = [
|
|
"""$exiv2 -u -M"set Exif.Photo.UserComment charset=Ascii An ascii comment" $filename""",
|
|
"$exiv2 -u -PEnh $filename",
|
|
|
|
"""$exiv2 -u -M"set Exif.Photo.UserComment charset=Ascii A\\nnewline" $filename""",
|
|
"$exiv2 -u -PEnh $filename",
|
|
|
|
"""$exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode A Unicode comment" $filename""",
|
|
"$exiv2 -u -PEnh $filename",
|
|
|
|
"""$exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode \\u01c4" $filename""",
|
|
"$exiv2 -u -PEnh $filename",
|
|
|
|
"""$exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode A\\u01c4C" $filename""",
|
|
"$exiv2 -u -PEnh $filename",
|
|
|
|
"""$exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode With\\nNewline" $filename""",
|
|
"$exiv2 -u -PEnh $filename",
|
|
|
|
"""$exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode With\\tTab" $filename""",
|
|
"$exiv2 -u -PEnh $filename",
|
|
|
|
#Test invalid escape sequences
|
|
"""$exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode \\ugggg" $filename""",
|
|
"$exiv2 -u -PEnh $filename",
|
|
]
|
|
stdout = [
|
|
"",
|
|
"""ExifTag
|
|
0000 1a 00 00 00 ....
|
|
|
|
UserComment
|
|
0000 41 53 43 49 49 00 00 00 41 6e 20 61 73 63 69 69 ASCII...An ascii
|
|
0010 20 63 6f 6d 6d 65 6e 74 comment
|
|
|
|
""",
|
|
"",
|
|
"""ExifTag
|
|
0000 1a 00 00 00 ....
|
|
|
|
UserComment
|
|
0000 41 53 43 49 49 00 00 00 41 0a 6e 65 77 6c 69 6e ASCII...A.newlin
|
|
0010 65 e
|
|
|
|
""",
|
|
"",
|
|
"""ExifTag
|
|
0000 1a 00 00 00 ....
|
|
|
|
UserComment
|
|
0000 55 4e 49 43 4f 44 45 00 41 00 20 00 55 00 6e 00 UNICODE.A. .U.n.
|
|
0010 69 00 63 00 6f 00 64 00 65 00 20 00 63 00 6f 00 i.c.o.d.e. .c.o.
|
|
0020 6d 00 6d 00 65 00 6e 00 74 00 m.m.e.n.t.
|
|
|
|
""",
|
|
"",
|
|
|
|
"""ExifTag
|
|
0000 1a 00 00 00 ....
|
|
|
|
UserComment
|
|
0000 55 4e 49 43 4f 44 45 00 c4 01 UNICODE...
|
|
|
|
""",
|
|
"",
|
|
"""ExifTag
|
|
0000 1a 00 00 00 ....
|
|
|
|
UserComment
|
|
0000 55 4e 49 43 4f 44 45 00 41 00 c4 01 43 00 UNICODE.A...C.
|
|
|
|
""",
|
|
"",
|
|
"""ExifTag
|
|
0000 1a 00 00 00 ....
|
|
|
|
UserComment
|
|
0000 55 4e 49 43 4f 44 45 00 57 00 69 00 74 00 68 00 UNICODE.W.i.t.h.
|
|
0010 0a 00 4e 00 65 00 77 00 6c 00 69 00 6e 00 65 00 ..N.e.w.l.i.n.e.
|
|
|
|
""",
|
|
"",
|
|
"""ExifTag
|
|
0000 1a 00 00 00 ....
|
|
|
|
UserComment
|
|
0000 55 4e 49 43 4f 44 45 00 57 00 69 00 74 00 68 00 UNICODE.W.i.t.h.
|
|
0010 09 00 54 00 61 00 62 00 ..T.a.b.
|
|
|
|
""",
|
|
"",
|
|
"""ExifTag
|
|
0000 1a 00 00 00 ....
|
|
|
|
UserComment
|
|
0000 55 4e 49 43 4f 44 45 00 5c 00 75 00 67 00 67 00 UNICODE.\.u.g.g.
|
|
0010 67 00 67 00 g.g.
|
|
|
|
"""
|
|
]
|
|
stderr = [""] * 16
|
|
retval = [0] * 16
|