open Tailwind let test_transition () = let trans = Effects.transition `All in Alcotest.(check string) "transition all" "transition-all" (Css.to_string trans) let test_transition_colors () = let trans = Effects.transition `Colors in Alcotest.(check string) "transition colors" "transition-colors" (Css.to_string trans) let test_duration () = let dur = Effects.duration 300 in Alcotest.(check string) "duration 300ms" "duration-300" (Css.to_string dur) let test_ease () = let ease_in = Effects.ease `In in Alcotest.(check string) "ease in" "ease-in" (Css.to_string ease_in); let ease_out = Effects.ease `Out in Alcotest.(check string) "ease out" "ease-out" (Css.to_string ease_out) let test_shadow () = let shadow = Effects.shadow_md in Alcotest.(check string) "shadow medium" "shadow-md" (Css.to_string shadow) let test_rounded () = let rounded = Effects.rounded_lg in Alcotest.(check string) "rounded large" "rounded-lg" (Css.to_string rounded) let test_border () = let border = Effects.border in Alcotest.(check string) "basic border" "border" (Css.to_string border) (* Additional duration tests *) let test_duration_edge_cases () = let zero = Effects.duration 0 in let large = Effects.duration 9999 in Alcotest.(check string) "zero duration" "duration-0" (Css.to_string zero); Alcotest.(check string) "large duration" "duration-9999" (Css.to_string large) let suite = [ "transition", `Quick, test_transition; "transition_colors", `Quick, test_transition_colors; "duration", `Quick, test_duration; "ease", `Quick, test_ease; "shadow", `Quick, test_shadow; "rounded", `Quick, test_rounded; "border", `Quick, test_border; "duration_edge_cases", `Quick, test_duration_edge_cases; ]