dev.metalisp.sbt/tests/accordion.lisp

30 lines
1.6 KiB
Common Lisp
Raw Normal View History

2024-07-28 11:24:22 +02:00
(defpackage ml-sbt/tests/accordion
2023-07-22 19:08:42 +02:00
(:use
:cl
2024-07-28 11:24:22 +02:00
:ml-sbt/accordion
2024-03-30 09:17:04 +01:00
:rove))
2023-07-22 19:08:42 +02:00
2024-07-28 11:24:22 +02:00
(in-package :ml-sbt/tests/accordion)
2023-07-22 19:08:42 +02:00
(deftest test-accordion-correct-classes
2024-07-28 11:24:22 +02:00
(let ((result (with-output-to-string (spinneret:*html*) (with-accordion (:id "accordionExample" :flush t) "Accordion Item #1" "Accordion Content #1" "Accordion Item #2" "Accordion Content #2" "Accordion Item #3" "Accordion Content #3"))))
2024-02-01 10:06:30 +01:00
(testing "Generates correct HTML for accordion"
(ok (search "class=accordion" result))
(ok (search "class=accordion-item" result))
(ok (search "class=accordion-header" result))
(ok (search "class=accordion-button" result)))))
(deftest test-accordion-correct-id
2024-07-28 11:24:22 +02:00
(let ((result (with-output-to-string (spinneret:*html*) (with-accordion (:id "accordionExample" :flush t) "Accordion Item #1" "Accordion Content #1" "Accordion Item #2" "Accordion Content #2" "Accordion Item #3" "Accordion Content #3"))))
(testing "Generates correct HTML for accordion"
(ok (search "id=accordionExample" result))
(ok (search "id=collapse-accordionExample-1" result))
(ok (search "id=collapse-accordionExample-2" result)))))
(deftest test-accordion-correct-aria
2024-07-28 11:24:22 +02:00
(let ((result (with-output-to-string (spinneret:*html*) (with-accordion (:id "accordionExample" :flush t) "Accordion Item #1" "Accordion Content #1" "Accordion Item #2" "Accordion Content #2" "Accordion Item #3" "Accordion Content #3"))))
(testing "Generates correct HTML for accordion"
(ok (search "aria-expanded=true" result))
(ok (search "aria-expanded=false" result))
(ok (search "aria-controls=collapse-accordionExample-1" result)))))