Pillow

Форк
0
/
test_image_load.py 
53 строки · 1.1 Кб
1
from __future__ import annotations
2

3
import logging
4
import os
5

6
import pytest
7

8
from PIL import Image
9

10
from .helper import hopper
11

12

13
def test_sanity() -> None:
14
    im = hopper()
15
    px = im.load()
16

17
    assert px is not None
18
    assert px[0, 0] == (20, 20, 70)
19

20

21
def test_close() -> None:
22
    im = Image.open("Tests/images/hopper.gif")
23
    im.close()
24
    with pytest.raises(ValueError):
25
        im.load()
26
    with pytest.raises(ValueError):
27
        im.getpixel((0, 0))
28

29

30
def test_close_after_load(caplog: pytest.LogCaptureFixture) -> None:
31
    im = Image.open("Tests/images/hopper.gif")
32
    im.load()
33
    with caplog.at_level(logging.DEBUG):
34
        im.close()
35
    assert len(caplog.records) == 0
36

37

38
def test_contextmanager() -> None:
39
    fn = None
40
    with Image.open("Tests/images/hopper.gif") as im:
41
        fn = im.fp.fileno()
42
        os.fstat(fn)
43

44
    with pytest.raises(OSError):
45
        os.fstat(fn)
46

47

48
def test_contextmanager_non_exclusive_fp() -> None:
49
    with open("Tests/images/hopper.gif", "rb") as fp:
50
        with Image.open(fp):
51
            pass
52

53
        assert not fp.closed
54

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.