Raise ValueError if ImageOps border has unsupported format (#9426)
This commit is contained in:
commit
53800d4fcf
@ -256,6 +256,13 @@ def test_expand_palette(border: int | tuple[int, int, int, int]) -> None:
|
||||
assert_image_equal(im_cropped, im)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("border", ((1,), (1, 2, 3), (1, 2, 3, 4, 5)))
|
||||
def test_expand_invalid_border(border: tuple[int, ...]) -> None:
|
||||
im = Image.new("1", (1, 1))
|
||||
with pytest.raises(ValueError):
|
||||
ImageOps.expand(im, border)
|
||||
|
||||
|
||||
def test_colorize_2color() -> None:
|
||||
# Test the colorizing function with 2-color functionality
|
||||
|
||||
|
||||
@ -27,6 +27,10 @@ The ImageColor module supports the following string formats:
|
||||
as three percentages (0% to 100%). For example, ``rgb(255,0,0)`` and
|
||||
``rgb(100%,0%,0%)`` both specify pure red.
|
||||
|
||||
* RGBA functions, given as ``rgba(red, green, blue, alpha)`` where the color
|
||||
values and the alpha value are integers in the range 0 to 255. For example,
|
||||
``rgba(255,0,0,128)`` specifies pure red with 50% opacity.
|
||||
|
||||
* Hue-Saturation-Lightness (HSL) functions, given as ``hsl(hue, saturation%,
|
||||
lightness%)`` where hue is the color given as an angle between 0 and 360
|
||||
(red=0, green=120, blue=240), saturation is a value between 0% and 100%
|
||||
|
||||
@ -36,6 +36,9 @@ def _border(border: int | tuple[int, ...]) -> tuple[int, int, int, int]:
|
||||
left, top = right, bottom = border
|
||||
elif len(border) == 4:
|
||||
left, top, right, bottom = border
|
||||
else:
|
||||
msg = "border must be an integer, or a tuple of two or four elements"
|
||||
raise ValueError(msg)
|
||||
else:
|
||||
left = top = right = bottom = border
|
||||
return left, top, right, bottom
|
||||
|
||||
Loading…
Reference in New Issue
Block a user