@@ -113,26 +113,39 @@ def metadata_content():
113
113
114
114
115
115
@pytest .fixture ()
116
- def dummy_image ():
116
+ def dummy_image (qapp , tmp_path ):
117
117
filename = "./image.jpg"
118
- Image . new ( mode = "RGB" , size = ( 300 , 300 ), color = "red" ). save ( filename )
119
- # QPixmap(*( 300, 300) ).save(filename)
118
+ filename = str ( tmp_path / "image.jpg" )
119
+ QPixmap (300 , 300 ).save (filename )
120
120
return filename
121
121
122
122
123
123
@pytest .fixture
124
- def get_MetadataHandler (add_metadata_information , dummy_image , metadata_content ):
124
+ def metadata_handler (add_metadata_information , dummy_image , metadata_content ):
125
125
assert pyexiv2 is not None , "pyexiv2 required to add metadata information"
126
126
add_metadata_information (dummy_image , metadata_content )
127
127
return MetadataHandler (dummy_image )
128
128
129
129
130
- def test_MetadataHandler_fetch_key (get_MetadataHandler , metadata_content ):
131
- handler = get_MetadataHandler
130
+ @pytest .fixture
131
+ def metadata_handler_piexif (dummy_image , metadata_handler ):
132
+ metadata_handler ._ext_handler = metadata ._ExternalKeyHandlerPiexif (dummy_image )
133
+ return metadata_handler
134
+
135
+
136
+ def test_metadatahandler_fetch_key (metadata_handler , metadata_content ):
132
137
for key , value in metadata_content .items ():
133
- data = handler .fetch_key (key )
134
- assert data [ 0 ] == key
138
+ fetched_key , _ , fetched_value = metadata_handler .fetch_key (key )
139
+ assert fetched_key == key
135
140
try :
136
- assert data [ 2 ] == value .human_value
141
+ assert fetched_value == value .human_value
137
142
except AttributeError :
138
- assert data [2 ] == value .raw_value
143
+ assert fetched_value == value .raw_value
144
+
145
+
146
+ def test_metadatahandler_fetch_key_piexif (metadata_handler_piexif , metadata_content ):
147
+ for key , value in metadata_content .items ():
148
+ fetched_key , _ , fetched_value = metadata_handler_piexif .fetch_key (key )
149
+ short_key = key .rpartition ("." )[- 1 ]
150
+ assert fetched_key == short_key
151
+ assert fetched_value == value .raw_value
0 commit comments