import pytest from reflex.components.lucide.icon import Icon from reflex.components.radix.themes.components.icon_button import IconButton from reflex.style import Style from reflex.vars.base import LiteralVar def test_icon_button(): ib1 = IconButton.create("activity") assert isinstance(ib1, IconButton) ib2 = IconButton.create(Icon.create("activity")) assert isinstance(ib2, IconButton) assert isinstance(ib1.add_style(), Style) assert isinstance(ib2.add_style(), Style) def test_icon_button_no_child(): with pytest.raises(ValueError): _ = IconButton.create() def test_icon_button_size_prop(): ib1 = IconButton.create("activity", size="2") assert isinstance(ib1, IconButton) ib2 = IconButton.create("activity", size=LiteralVar.create("2")) assert isinstance(ib2, IconButton)