   (prop/for-all [s gen/string]
     (= (.length (str/chomp (str s "\r\n"))) (.length s))))
 
-(deftest chomp
-  (are [expected actual] (= expected actual)
-    "" (str/chomp "" "")
-    "" (str/chomp "foo" "foo")
-    "foo"(str/chomp "foobar" "bar")
-    "foo" (str/chomp "foo\n")
-    "foo" (str/chomp "foo\r")
-    "foo" (str/chomp "foo\r\n")
-    "foo\n" (str/chomp "foo\n\r")))
+(defexamples chomp-examples
+  (str/chomp "" "") ""
+  (str/chomp "foo" "foo") ""
+  (str/chomp "foobar" "bar") "foo"
+  (str/chomp "foo\n") "foo"
+  (str/chomp "foo\r") "foo"
+  (str/chomp "foo\r\n") "foo"
+  (str/chomp "foo\n\r") "foo\n")
 
 (defspec ends-with?-acts-like-endsWith 100
   (prop/for-all [s gen/string

  (prop/for-all [s (gen/not-empty gen/string-ascii)]
    (is (= s (str/ascii? s)))))

(deftest ascii?-test
  (are [expected actual] (= expected actual)
    "ascii" (str/ascii? "ascii")
    nil (str/ascii? "Et ça sera sa moitié")))

(defspec slug-contains-only-ascii-chars 100
  (prop/for-all [s (gen/not-empty gen/string)]

                                      (gen/choose 3 (max 4 (- (.length s) 3)) ))))]
    (= (.length (str/truncate s len)) (min (.length s) len))))

(defexamples truncate
  (str/truncate "" 3) ""
  (str/truncate "123456" 3) "..."
  (str/truncate "123456" 6) "123..."
  (str/truncate "1" 3) "1"
  (str/truncate "12" 3) "12"
  (str/truncate "123" 3) "123")

(defexamples common-prefix
  (str/common-prefix "321" "123") ""
  (str/common-prefix "Åffø123456" "Åfføo8yuidfg") "Åffø"
  (str/common-prefix "123456" "123o8yuidfg") "123"
  (str/common-prefix "Åberg" "åberg") ""
  (str/common-prefix "åberg" "Åberg" :ignore-case) "Åberg"
  (str/common-prefix "Åberg" "åberg" :ignore-case) "åberg")

(defspec common-prefix-finds-common-prefixes 100
  (prop/for-all [prefix (gen/not-empty gen/string)
