(defpackage cl-sbt/tests/form (:use :cl :cl-sbt :rove) (:import-from :cl-sbt/form :ctrl :select :select-sm :select-lg :search-form :checkable)) (in-package :cl-sbt/tests/form) (deftest test-select-default (let ((result (spinneret:with-html-string (select () (:content "One" :value 1) (:content "Two" :value 2) (:content "Three" :value 3))))) (testing "Generates correct HTML for select element" (ok (search "class=form-select" result)) (ok (search "option value=1" result)) (ok (search "option value=2" result)) (ok (search "option value=3" result))))) (deftest test-select-size-lg (let ((result (spinneret:with-html-string (select "lg" (:content "One" :value 1))))) (testing "Generates correct HTML for select element" (ok (search "class=\"form-select form-select-lg\"" result)) (ok (search "option value=1" result))))) (deftest test-select-size-sm (let ((result (spinneret:with-html-string (select "sm" (:content "One" :value 1))))) (testing "Generates correct HTML for select element" (ok (search "class=\"form-select form-select-sm\"" result)) (ok (search "option value=1" result))))) (deftest test-select-size-multiple (let ((result (spinneret:with-html-string (select nil 3 (:content "One" :value 1))))) (testing "Generates correct HTML for select element" (ok (search "class=form-select" result)) (ok (search "multiple" result)) (ok (search "size=3" result)) (ok (search "option value=1" result))))) (deftest test-select-sm (let ((result (spinneret:with-html-string (select-sm (:content "One" :value 1))))) (testing "Generates correct HTML for select element" (ok (search "class=\"form-select form-select-sm\"" result)) (ok (search "option value=1" result))))) (deftest test-select-lg (let ((result (spinneret:with-html-string (select-lg (:content "One" :value 1))))) (testing "Generates correct HTML for select element" (ok (search "class=\"form-select form-select-lg\"" result)) (ok (search "option value=1" result))))) (deftest test-default-search-form (let ((result (spinneret:with-html-string (search-form)))) (testing "Generates correct HTML for search form" (ok (search "class=\"form-control me-2\"" result)) (ok (search "type=search" result)) (ok (search "title=Search" result)) (ok (search "type=submit" result)) (ok (search "class=\"btn btn-outline-success\"" result)) (ok (search "