🐛 Fix append-class producing leading space for empty class

When called with an empty string as the base class, append-class
was producing " bar" (with a leading space) because (some? "")
returns true. Use (seq class) instead to treat both nil and empty
string as absent, avoiding invalid CSS class strings with leading
whitespace.
This commit is contained in:
Andrey Antukh 2026-04-14 20:16:49 +00:00 committed by Belén Albeza
parent da8e44147c
commit 83da487b24
2 changed files with 5 additions and 3 deletions

View File

@ -1156,5 +1156,6 @@
(defn append-class
[class current-class]
(str (if (some? class) (str class " ") "")
current-class))
(if (seq class)
(str class " " current-class)
current-class))

View File

@ -791,7 +791,8 @@
(t/deftest append-class-test
(t/is (= "foo bar" (d/append-class "foo" "bar")))
(t/is (= "bar" (d/append-class nil "bar")))
(t/is (= " bar" (d/append-class "" "bar"))))
;; empty string is treated like nil — no leading space
(t/is (= "bar" (d/append-class "" "bar"))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Additional helpers (5th batch)