Update
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# retoor <retoor@molodetz.nl>
|
||||
|
||||
import io
|
||||
|
||||
from PIL import Image
|
||||
from devplacepy.awards.images import enforce_rgba_png, resize_award_png
|
||||
|
||||
|
||||
def _rgba_png(size=512, color=(10, 20, 30, 200)):
|
||||
buf = io.BytesIO()
|
||||
Image.new("RGBA", (size, size), color).save(buf, format="PNG")
|
||||
return buf.getvalue()
|
||||
|
||||
|
||||
def test_resize_award_png_outputs_exact_square_dimensions():
|
||||
source = _rgba_png(512)
|
||||
for size in (512, 256, 64):
|
||||
out = resize_award_png(source, size)
|
||||
img = Image.open(io.BytesIO(out))
|
||||
assert img.size == (size, size)
|
||||
|
||||
|
||||
def test_resize_award_png_preserves_rgba_mode():
|
||||
out = resize_award_png(_rgba_png(512), 256)
|
||||
img = Image.open(io.BytesIO(out))
|
||||
assert img.mode == "RGBA"
|
||||
|
||||
|
||||
def test_resize_award_png_downscale_is_idempotent_in_size():
|
||||
first = resize_award_png(_rgba_png(512), 64)
|
||||
second = resize_award_png(first, 64)
|
||||
assert Image.open(io.BytesIO(first)).size == (64, 64)
|
||||
assert Image.open(io.BytesIO(second)).size == (64, 64)
|
||||
|
||||
|
||||
def test_enforce_rgba_png_returns_valid_png():
|
||||
out = enforce_rgba_png(_rgba_png(32))
|
||||
img = Image.open(io.BytesIO(out))
|
||||
assert img.mode == "RGBA"
|
||||
assert img.size == (32, 32)
|
||||
Reference in New Issue
Block a user