Use case-insensitive sorting when listing players
Signed-off-by: Sebastian Crane <seabass-labrax@gmx.com>
This commit is contained in:
parent
c5a70954c3
commit
e4df11f12d
|
@ -10,11 +10,14 @@
|
|||
(when (string? game)
|
||||
(keyword (str/lower-case game))))
|
||||
|
||||
(defn sort-case-insensitive [coll]
|
||||
(sort #(apply compare (map str/lower-case %&)) coll))
|
||||
|
||||
(defn sorted-players-of-game [state game]
|
||||
(->> game
|
||||
(keywordise-game)
|
||||
(game/get-players-of-game state)
|
||||
(sort)))
|
||||
(sort-case-insensitive)))
|
||||
|
||||
(defn match-string [& {:keys [state game]}]
|
||||
(str "Anyone ready for "
|
||||
|
@ -48,7 +51,7 @@
|
|||
(str "Games with a list of players: "
|
||||
(str/join
|
||||
", "
|
||||
(sort (map name (game/get-games state))))))
|
||||
(sort-case-insensitive (map name (game/get-games state))))))
|
||||
|
||||
(defn split-message [message]
|
||||
(let [message-parts (str/split message #"\s")
|
||||
|
|
|
@ -13,6 +13,10 @@
|
|||
(is (= :quasi-rts
|
||||
(keywordise-game "Quasi-RTS"))))
|
||||
|
||||
(deftest sort-case-insensitive-test
|
||||
(is (= ["A" "b" "C"]
|
||||
(sort-case-insensitive ["C" "A" "b"]))))
|
||||
|
||||
(deftest match-string-test
|
||||
(is (= '"Anyone ready for quasi-Rts? 123 abc"
|
||||
(match-string :state test-state :game "quasi-Rts"))))
|
||||
|
|
Loading…
Reference in New Issue