majuna/tests/utils/test_color.py

28 lines
1,009 B
Python
Raw Permalink Normal View History

import pytest
from app.brm.utils import normalize_color
def test_normalize_color():
# Test valid CSS color names
assert normalize_color('red') == '#ff0000'
assert normalize_color('white') == '#ffffff'
assert normalize_color('black') == '#000000'
# Test valid 6-digit hex color codes
assert normalize_color('#ffffff') == '#ffffff'
assert normalize_color('#000000') == '#000000'
assert normalize_color('#00ff00') == '#00ff00'
# Test valid 3-digit hex color codes
assert normalize_color('#fff') == '#fff'
assert normalize_color('#000') == '#000'
assert normalize_color('#0f0') == '#0f0'
# Test case insensitivity
assert normalize_color('#FFFFFF') == '#ffffff'
assert normalize_color('#ABCDEF') == '#abcdef'
# Test invalid color values
with pytest.raises(ValueError):
normalize_color('invalid')
with pytest.raises(ValueError):
normalize_color('#1234567')
with pytest.raises(ValueError):
normalize_color('#xyz')