dev.metalisp.sbt/tests/component/accordion.lisp

33 lines
1.7 KiB
Common Lisp
Raw Normal View History

2023-11-25 09:59:03 +01:00
(defpackage dev.metalisp.sbt/tests/accordion
2023-07-22 19:08:42 +02:00
(:use
:cl
2023-11-25 09:59:03 +01:00
:dev.metalisp.sbt
2023-07-22 19:08:42 +02:00
:rove)
(:import-from
2023-12-18 11:34:54 +01:00
:dev.metalisp.sbt/component/accordion
2023-09-01 10:41:52 +02:00
:accordion))
2023-07-22 19:08:42 +02:00
2023-11-25 09:59:03 +01:00
(in-package :dev.metalisp.sbt/tests/accordion)
2023-07-22 19:08:42 +02:00
(deftest test-accordion-correct-classes
(let ((result (with-output-to-string (spinneret:*html*) (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
(let ((result (with-output-to-string (spinneret:*html*) (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
(let ((result (with-output-to-string (spinneret:*html*) (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)))))