16 lines
596 B
Clojure
16 lines
596 B
Clojure
(ns datalog.parser.test.util
|
|
(:require [#?(:clj clojure.test :cljs cljs.test) :as test]))
|
|
|
|
#?(:clj
|
|
(defmethod test/assert-expr 'thrown-msg? [msg form]
|
|
(let [[_ match & body] form]
|
|
`(try ~@body
|
|
(test/do-report {:type :fail, :message ~msg, :expected '~form, :actual nil})
|
|
(catch Throwable e#
|
|
(let [m# (.getMessage e#)]
|
|
(test/do-report
|
|
{:type (if (= ~match m#) :pass :fail)
|
|
:message ~msg
|
|
:expected '~form
|
|
:actual e#}))
|
|
e#)))))
|