Fix = should have been ==. Add some tests for vm type asserts.

This commit is contained in:
Calvin Rose 2019-01-08 12:21:11 -05:00
parent d5bab72620
commit 67f26b7d72
3 changed files with 13 additions and 1 deletions

View File

@ -503,7 +503,7 @@ JanetBuffer *janet_pretty(JanetBuffer *buffer, int depth, Janet x) {
static const char *typestr(Janet x) {
JanetType t = janet_type(x);
return (t = JANET_ABSTRACT)
return (t == JANET_ABSTRACT)
? janet_abstract_type(janet_unwrap_abstract(x))->name
: janet_type_names[t];
}

View File

@ -21,6 +21,11 @@
(print e)))
x)
(defmacro assert-error
[msg & forms]
(def errsym (keyword (gensym)))
~(assert (= ,errsym (try (do ,;forms) ([_] ,errsym))) ,msg))
(defn start-suite [x]
(set suite-num x)
(print "\nRunning test suite " x " tests...\n "))

View File

@ -122,4 +122,11 @@
(def spot (make-dog "spot"))
(assert (= "spot says hi!" (:bark spot "hi")) "oo 2")
# Negative tests
(assert-error "+ check types" (+ 1 ()))
(assert-error "- check types" (- 1 ()))
(assert-error "* check types" (* 1 ()))
(assert-error "/ check types" (/ 1 ()))
(end-suite)