                  after gen/string]
     (str/contains? (str before needle after) needle :ignore-case)))
 
-(defexamples contains-all?
+(defexamples contains-all-test?
   (str/contains-all? "" []) ""
   (str/contains-all? "" [""]) ""
-  (str/contains-all? "" [nil]) nil
-  (str/contains-all? nil [""]) nil
   (str/contains-all? "12" ["1" "2"]) "12"
   (str/contains-all? "foo" ["fo" "o"]) "foo"
   (str/contains-all? "foobar" ["qux"]) nil

      0)))

(defspec swap-case-changes-case 100
  (prop/for-all [s gen/string]
    (let [cases1 (map case-to-int s)
          cases2 (map case-to-int (str/swap-case s))]
      (apply = 0 (map + cases1 cases2)))))

(defexamples swap-case
  (str/swap-case "fOO" ) "Foo"

  (str/contains-all? "foobar" ["BAR" "Foo"] :ignore-case) "foobar"
  (str/contains-all? "Albert Åberg" ["åberg" "al"] :ignore-case)   "Albert Åberg")

(defspec contains-all-finds-generated-strings? 100
  (prop/for-all [s1 gen/string
                 s2 gen/string
                 s3 gen/string]
