util_test.cljs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. (ns logseq.common.util-test
  2. (:require [clojure.test :refer [deftest are]]
  3. [logseq.common.util :as common-util]))
  4. (deftest valid-edn-keyword?
  5. (are [x y]
  6. (= (common-util/valid-edn-keyword? x) y)
  7. ":foo-bar" true
  8. ":foo!" true
  9. ":foo,bar" false
  10. "4" false
  11. "foo bar" false
  12. "`property" false))
  13. (deftest extract-file-extension?
  14. (are [x y]
  15. (= (common-util/path->file-ext x) y)
  16. "foo.bar" "bar"
  17. "foo" nil
  18. "foo.bar.baz" "baz"
  19. "../assets/audio.mp3" "mp3"
  20. ;; From https://www.w3.org/TR/media-frags/
  21. "../assets/audio.mp3?t=10,20" "mp3"
  22. "../assets/audio.mp3?t=10,20#t=10" "mp3"
  23. "/root/Documents/audio.mp3" "mp3"
  24. "C:\\Users\\foo\\Documents\\audio.mp3" "mp3"
  25. "/root/Documents/audio" nil
  26. "/root/Documents/audio." nil
  27. "special/characters/aäääöüß.7z" "7z"))
  28. (deftest url?
  29. (are [x y]
  30. (= (common-util/url? x) y)
  31. "http://logseq.com" true
  32. "prop:: value" false
  33. "a:" false))