+ match1 (partial re-matches (pattern strs1))
+ match2 (partial re-matches (pattern strs2))]
+ (is (every? match1 strs1))
+
+ (is (every? match2 strs1))
+
+ (is (every? match1 strs2))
+
+ (is (every? match2 strs2))
+
+ (is (not (or (match1 "f")
+ (match1 "b")
+ (match1 "ba")
+ (match1 "fo")))))
+
+ (is (= (string-pattern ["foo" "foot"] nil)
+ (string-pattern ["foo" "" "foot"] nil)))
+
+ (is (= (re-matches
+ #"ba\[[trz]{3}\]"
+ (string-pattern ["bat" "bar" "baz"] nil))))
+
+ (is (= "b(?:i[pt]|at)"
+ (string-pattern ["bat" "bip" "bit"] nil)))