diff options
| author | 2021-11-11 21:53:13 -0600 | |
|---|---|---|
| committer | 2021-11-11 21:53:13 -0600 | |
| commit | 33a5f7076276960c60dc076a8132118bda96f8e4 (patch) | |
| tree | cdd2fb58283998efe2d9e428de073f79a1cea84c /test | |
| parent | Call `middleware` on all server handlers. (diff) | |
Add initial schema module.
The schema module is a very simple yet useful for asserting the shape of
data.
Diffstat (limited to 'test')
| -rw-r--r-- | test/suite0013.janet | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/suite0013.janet b/test/suite0013.janet new file mode 100644 index 0000000..d7d2df6 --- /dev/null +++ b/test/suite0013.janet @@ -0,0 +1,26 @@ +(use ../spork/test) +(import ../spork/schema :as schema) + +(start-suite 13) + +(def c1 (schema/predicate :number)) +(assert (not (c1 :test)) "checker c1 1") +(assert (c1 0) "checker c1 2") +(assert (not (c1 :number)) "checker c1 3") +(assert (c1 math/inf) "checker c1 4") +(assert (c1 math/nan) "checker c1 5") + +(def c2 (schema/predicate (or :number (and (or :array :tuple) (length 1 3) (values :number))))) +(assert (c2 2) "checker c2 1") +(assert (c2 -1) "checker c2 2") +(assert (not (c2 [])) "checker c2 3") +(assert (c2 [2 3]) "checker c2 4") +(assert (not (c2 [3 3 :nope])) "checker c2 5") +(assert (not (c2 [3 3 4 5])) "checker c2 6") + +(def v1 (schema/validator :number)) +(assert-no-error "validator v1 1" (v1 0)) +(assert-no-error "validator v1 2" (v1 math/nan)) +(assert-error "validator v1 3" (v1 :hello)) + +(end-suite) |
