mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 18:07:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from __future__ import annotations
 | 
						|
 | 
						|
import copy
 | 
						|
 | 
						|
import pytest
 | 
						|
 | 
						|
from PIL import Image
 | 
						|
 | 
						|
from .helper import hopper, skip_unless_feature
 | 
						|
 | 
						|
 | 
						|
@pytest.mark.parametrize("mode", ("1", "P", "L", "RGB", "I", "F"))
 | 
						|
def test_copy(mode: str) -> None:
 | 
						|
    cropped_coordinates = (10, 10, 20, 20)
 | 
						|
    cropped_size = (10, 10)
 | 
						|
 | 
						|
    # Internal copy method
 | 
						|
    im = hopper(mode)
 | 
						|
    out = im.copy()
 | 
						|
    assert out.mode == im.mode
 | 
						|
    assert out.size == im.size
 | 
						|
 | 
						|
    # Python's copy method
 | 
						|
    im = hopper(mode)
 | 
						|
    out = copy.copy(im)
 | 
						|
    assert out.mode == im.mode
 | 
						|
    assert out.size == im.size
 | 
						|
 | 
						|
    # Internal copy method on a cropped image
 | 
						|
    im = hopper(mode)
 | 
						|
    out = im.crop(cropped_coordinates).copy()
 | 
						|
    assert out.mode == im.mode
 | 
						|
    assert out.size == cropped_size
 | 
						|
 | 
						|
    # Python's copy method on a cropped image
 | 
						|
    im = hopper(mode)
 | 
						|
    out = copy.copy(im.crop(cropped_coordinates))
 | 
						|
    assert out.mode == im.mode
 | 
						|
    assert out.size == cropped_size
 | 
						|
 | 
						|
 | 
						|
def test_copy_zero() -> None:
 | 
						|
    im = Image.new("RGB", (0, 0))
 | 
						|
    out = im.copy()
 | 
						|
    assert out.mode == im.mode
 | 
						|
    assert out.size == im.size
 | 
						|
 | 
						|
 | 
						|
@skip_unless_feature("libtiff")
 | 
						|
def test_deepcopy() -> None:
 | 
						|
    with Image.open("Tests/images/g4_orientation_5.tif") as im:
 | 
						|
        assert im.size == (590, 88)
 | 
						|
 | 
						|
        out = copy.deepcopy(im)
 | 
						|
    assert out.size == (590, 88)
 |