Exported source
radial_progress = SingleValueFactory("radial-progress", "Shows a radial progress") # Base radial progress componentTest basic button utilities.
def test_radial_progress_basic_examples():
"""Test basic button utilities."""
# Basic button
assert str(radial_progress) == "radial-progress"
# Radial progress with modifiers
assert str(radial_progress.hover) == "hover:radial-progress"
assert str(radial_progress.md) == "md:radial-progress"
assert str(radial_progress.dark) == "dark:radial-progress"
# Run the tests
test_radial_progress_basic_examples()Test basic radial progress from daisyUI v5 documentation.
def test_radial_progress_basic_fasthtml_examples():
"""Test basic radial progress from daisyUI v5 documentation."""
from fasthtml.common import Div
# Basic radial progress
basic_radial = Div(
"70%",
cls=str(radial_progress),
style="--value:70;",
aria_valuenow="70",
role="progressbar"
)
# Verify structure
assert basic_radial.tag == "div"
assert basic_radial.attrs['class'] == "radial-progress"
assert basic_radial.attrs['style'] == "--value:70;"
assert basic_radial.attrs['aria-valuenow'] == "70"
assert basic_radial.attrs['role'] == "progressbar"
assert basic_radial.children[0] == "70%"
return basic_radial
# Run the tests
test_radial_progress_basic_fasthtml_examples()Test radial progress with different values from daisyUI v5 documentation.
def test_radial_progress_values_fasthtml_examples():
"""Test radial progress with different values from daisyUI v5 documentation."""
from fasthtml.common import Div
# Different values
progress_0 = Div(
"0%",
cls=str(radial_progress),
style="--value:0;",
aria_valuenow="0",
role="progressbar"
)
assert progress_0.attrs['style'] == "--value:0;"
assert progress_0.attrs['aria-valuenow'] == "0"
assert progress_0.children[0] == "0%"
progress_20 = Div(
"20%",
cls=str(radial_progress),
style="--value:20;",
aria_valuenow="20",
role="progressbar"
)
assert progress_20.attrs['style'] == "--value:20;"
assert progress_20.attrs['aria-valuenow'] == "20"
assert progress_20.children[0] == "20%"
progress_60 = Div(
"60%",
cls=str(radial_progress),
style="--value:60;",
aria_valuenow="60",
role="progressbar"
)
assert progress_60.attrs['style'] == "--value:60;"
assert progress_60.attrs['aria-valuenow'] == "60"
assert progress_60.children[0] == "60%"
progress_80 = Div(
"80%",
cls=str(radial_progress),
style="--value:80;",
aria_valuenow="80",
role="progressbar"
)
assert progress_80.attrs['style'] == "--value:80;"
assert progress_80.attrs['aria-valuenow'] == "80"
assert progress_80.children[0] == "80%"
progress_100 = Div(
"100%",
cls=str(radial_progress),
style="--value:100;",
aria_valuenow="100",
role="progressbar"
)
assert progress_100.attrs['style'] == "--value:100;"
assert progress_100.attrs['aria-valuenow'] == "100"
assert progress_100.children[0] == "100%"
# Return all elements in a Div
return Div(
progress_0,
progress_20,
progress_60,
progress_80,
progress_100
)
# Run the tests
test_radial_progress_values_fasthtml_examples()Test radial progress with custom colors from daisyUI v5 documentation.
def test_radial_progress_colors_fasthtml_examples():
"""Test radial progress with custom colors from daisyUI v5 documentation."""
from fasthtml.common import Div
from cjm_fasthtml_daisyui.utilities.semantic_colors import text_dui, bg_dui, border_dui
from cjm_fasthtml_tailwind.utilities.borders import border
# Custom color
custom_color = Div(
"70%",
cls=combine_classes(radial_progress, text_dui.primary),
style="--value:70;",
aria_valuenow="70",
role="progressbar"
)
assert "radial-progress" in custom_color.attrs['class']
assert "text-primary" in custom_color.attrs['class']
assert custom_color.attrs['style'] == "--value:70;"
assert custom_color.attrs['aria-valuenow'] == "70"
assert custom_color.children[0] == "70%"
# With background color and border
with_bg_border = Div(
"70%",
cls=combine_classes(
radial_progress,
bg_dui.primary,
text_dui.primary_content,
border_dui.primary,
border._4
),
style="--value:70;",
aria_valuenow="70",
role="progressbar"
)
assert "radial-progress" in with_bg_border.attrs['class']
assert "bg-primary" in with_bg_border.attrs['class']
assert "text-primary-content" in with_bg_border.attrs['class']
assert "border-primary" in with_bg_border.attrs['class']
assert "border-4" in with_bg_border.attrs['class']
assert with_bg_border.attrs['style'] == "--value:70;"
assert with_bg_border.attrs['aria-valuenow'] == "70"
assert with_bg_border.children[0] == "70%"
# Return all elements in a Div
return Div(
custom_color,
with_bg_border
)
# Run the tests
test_radial_progress_colors_fasthtml_examples()Test radial progress with custom size and thickness from daisyUI v5 documentation.
def test_radial_progress_custom_size_fasthtml_examples():
"""Test radial progress with custom size and thickness from daisyUI v5 documentation."""
from fasthtml.common import Div
# Custom size and thin thickness
custom_thin = Div(
"70%",
cls=str(radial_progress),
style="--value:70; --size:12rem; --thickness: 2px;",
aria_valuenow="70",
role="progressbar"
)
assert custom_thin.attrs['class'] == "radial-progress"
assert custom_thin.attrs['style'] == "--value:70; --size:12rem; --thickness: 2px;"
assert custom_thin.attrs['aria-valuenow'] == "70"
assert custom_thin.attrs['role'] == "progressbar"
assert custom_thin.children[0] == "70%"
# Custom size and thick thickness
custom_thick = Div(
"70%",
cls=str(radial_progress),
style="--value:70; --size:12rem; --thickness: 2rem;",
aria_valuenow="70",
role="progressbar"
)
assert custom_thick.attrs['class'] == "radial-progress"
assert custom_thick.attrs['style'] == "--value:70; --size:12rem; --thickness: 2rem;"
assert custom_thick.attrs['aria-valuenow'] == "70"
assert custom_thick.attrs['role'] == "progressbar"
assert custom_thick.children[0] == "70%"
# Return all elements in a Div
return Div(
custom_thin,
custom_thick
)
# Run the tests
test_radial_progress_custom_size_fasthtml_examples()