|
23 | 23 | TEST_FILE_DX10_R8G8B8A8 = "Tests/images/argb-32bpp_MipMaps-1.dds" |
24 | 24 | TEST_FILE_DX10_R8G8B8A8_UNORM_SRGB = "Tests/images/DXGI_FORMAT_R8G8B8A8_UNORM_SRGB.dds" |
25 | 25 | TEST_FILE_UNCOMPRESSED_L = "Tests/images/uncompressed_l.dds" |
| 26 | +TEST_FILE_UNCOMPRESSED_L_WITH_ALPHA = "Tests/images/uncompressed_la.dds" |
26 | 27 | TEST_FILE_UNCOMPRESSED_RGB = "Tests/images/hopper.dds" |
27 | 28 | TEST_FILE_UNCOMPRESSED_RGB_WITH_ALPHA = "Tests/images/uncompressed_rgb.dds" |
28 | 29 |
|
@@ -195,32 +196,24 @@ def test_unimplemented_dxgi_format(): |
195 | 196 | pass |
196 | 197 |
|
197 | 198 |
|
198 | | -def test_uncompressed(): |
| 199 | +@pytest.mark.parametrize( |
| 200 | + ("mode", "size", "test_file"), |
| 201 | + [ |
| 202 | + ("L", (128, 128), TEST_FILE_UNCOMPRESSED_L), |
| 203 | + ("LA", (128, 128), TEST_FILE_UNCOMPRESSED_L_WITH_ALPHA), |
| 204 | + ("RGB", (128, 128), TEST_FILE_UNCOMPRESSED_RGB), |
| 205 | + ("RGBA", (800, 600), TEST_FILE_UNCOMPRESSED_RGB_WITH_ALPHA), |
| 206 | + ], |
| 207 | +) |
| 208 | +def test_uncompressed(mode, size, test_file): |
199 | 209 | """Check uncompressed images can be opened""" |
200 | | - with Image.open(TEST_FILE_UNCOMPRESSED_L) as im: |
201 | | - assert im.format == "DDS" |
202 | | - assert im.mode == "L" |
203 | | - assert im.size == (128, 128) |
204 | | - |
205 | | - assert_image_equal_tofile(im, "Tests/images/uncompressed_l.png") |
206 | | - |
207 | | - # convert -format dds -define dds:compression=none hopper.jpg hopper.dds |
208 | | - with Image.open(TEST_FILE_UNCOMPRESSED_RGB) as im: |
209 | | - assert im.format == "DDS" |
210 | | - assert im.mode == "RGB" |
211 | | - assert im.size == (128, 128) |
212 | 210 |
|
213 | | - assert_image_equal_tofile(im, "Tests/images/hopper.png") |
214 | | - |
215 | | - # Test image with alpha |
216 | | - with Image.open(TEST_FILE_UNCOMPRESSED_RGB_WITH_ALPHA) as im: |
| 211 | + with Image.open(test_file) as im: |
217 | 212 | assert im.format == "DDS" |
218 | | - assert im.mode == "RGBA" |
219 | | - assert im.size == (800, 600) |
| 213 | + assert im.mode == mode |
| 214 | + assert im.size == size |
220 | 215 |
|
221 | | - assert_image_equal_tofile( |
222 | | - im, TEST_FILE_UNCOMPRESSED_RGB_WITH_ALPHA.replace(".dds", ".png") |
223 | | - ) |
| 216 | + assert_image_equal_tofile(im, test_file.replace(".dds", ".png")) |
224 | 217 |
|
225 | 218 |
|
226 | 219 | def test__accept_true(): |
@@ -313,6 +306,7 @@ def test_save_unsupported_mode(tmp_path): |
313 | 306 | ("mode", "test_file"), |
314 | 307 | [ |
315 | 308 | ("L", "Tests/images/linear_gradient.png"), |
| 309 | + ("LA", "Tests/images/uncompressed_la.png"), |
316 | 310 | ("RGB", "Tests/images/hopper.png"), |
317 | 311 | ("RGBA", "Tests/images/pil123rgba.png"), |
318 | 312 | ], |
|
0 commit comments