12345678910111213141516171819202122232425262728293031323334353637383940 |
- import pytest
- from reflex.components.lucide.icon import LUCIDE_ICON_LIST, RENAMED_ICONS_05, Icon
- from reflex.utils import format
- @pytest.mark.parametrize("tag", LUCIDE_ICON_LIST)
- def test_icon(tag):
- icon = Icon.create(tag)
- assert icon.alias == f"Lucide{format.to_title_case(tag)}Icon"
- RENAMED_TAGS = [tag for tag in RENAMED_ICONS_05.items()]
- @pytest.mark.parametrize("tag, new_tag", RENAMED_TAGS)
- def test_icon_renamed_tags(tag, new_tag):
- Icon.create(tag)
- # TODO: need a PR so we can pass the following test. Currently it fails and uses the old tag as the import.
- # assert icon.alias == f"Lucide{format.to_title_case(new_tag)}Icon"
- def test_icon_missing_tag():
- with pytest.raises(AttributeError):
- _ = Icon.create()
- def test_icon_invalid_tag():
- with pytest.raises(ValueError):
- _ = Icon.create("invalid-tag")
- def test_icon_multiple_children():
- with pytest.raises(AttributeError):
- _ = Icon.create("activity", "child1", "child2")
- def test_icon_add_style():
- ic = Icon.create("activity")
- assert ic.add_style() is None
|