mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-25 17:36:18 +03:00
Added MPEG accept function
This commit is contained in:
parent
eee633cb21
commit
f690b7f691
39
Tests/test_file_mpeg.py
Normal file
39
Tests/test_file_mpeg.py
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from PIL import Image, MpegImagePlugin
|
||||||
|
|
||||||
|
|
||||||
|
def test_identify() -> None:
|
||||||
|
# Arrange
|
||||||
|
b = BytesIO(b"\x00\x00\x01\xb3\x01\x00\x01")
|
||||||
|
|
||||||
|
# Act
|
||||||
|
with Image.open(b) as im:
|
||||||
|
# Assert
|
||||||
|
assert im.format == "MPEG"
|
||||||
|
|
||||||
|
assert im.mode == "RGB"
|
||||||
|
assert im.size == (16, 1)
|
||||||
|
|
||||||
|
|
||||||
|
def test_invalid_file() -> None:
|
||||||
|
# Arrange
|
||||||
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
|
# Act / Assert
|
||||||
|
with pytest.raises(SyntaxError):
|
||||||
|
MpegImagePlugin.MpegImageFile(invalid_file)
|
||||||
|
|
||||||
|
|
||||||
|
def test_load() -> None:
|
||||||
|
# Arrange
|
||||||
|
b = BytesIO(b"\x00\x00\x01\xb3\x01\x00\x01")
|
||||||
|
|
||||||
|
with Image.open(b) as im:
|
||||||
|
# Act / Assert: cannot load
|
||||||
|
with pytest.raises(OSError):
|
||||||
|
im.load()
|
|
@ -53,6 +53,10 @@ class BitStream:
|
||||||
return v
|
return v
|
||||||
|
|
||||||
|
|
||||||
|
def _accept(prefix: bytes) -> bool:
|
||||||
|
return prefix[:4] == b"\x00\x00\x01\xb3"
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Image plugin for MPEG streams. This plugin can identify a stream,
|
# Image plugin for MPEG streams. This plugin can identify a stream,
|
||||||
# but it cannot read it.
|
# but it cannot read it.
|
||||||
|
@ -77,7 +81,7 @@ class MpegImageFile(ImageFile.ImageFile):
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
# Registry stuff
|
# Registry stuff
|
||||||
|
|
||||||
Image.register_open(MpegImageFile.format, MpegImageFile)
|
Image.register_open(MpegImageFile.format, MpegImageFile, _accept)
|
||||||
|
|
||||||
Image.register_extensions(MpegImageFile.format, [".mpg", ".mpeg"])
|
Image.register_extensions(MpegImageFile.format, [".mpg", ".mpeg"])
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user