1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
"""
Example: Custom Image Extension
The Single File Snapshot Extension writes each snapshot
to its own file. For images, this produces a cleaner diff
on websites like GitHub.
"""
import base64
import pytest
from syrupy.extensions.single_file import SingleFileSnapshotExtension
class JPEGImageExtension(SingleFileSnapshotExtension):
_file_extension = "jpg"
@pytest.fixture
def snapshot(snapshot):
return snapshot.use_extension(JPEGImageExtension)
def test_jpeg_image(snapshot):
reddish_square = base64.b64decode(
b"/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAP//////////////////////////"
b"////////////////////////////////////////////////////////////"
b"2wBDAf//////////////////////////////////////////////////////"
b"////////////////////////////////wAARCAAEAAQDASIAAhEBAxEB/8QA"
b"HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF"
b"BAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK"
b"FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1"
b"dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG"
b"x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEB"
b"AQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC"
b"AxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRom"
b"JygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE"
b"hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU"
b"1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwBlFFFAz//Z"
)
assert reddish_square == snapshot
|