diff options
| author | Andrey Orst <andreyorst@gmail.com> | 2021-01-19 16:46:00 +0000 |
|---|---|---|
| committer | Andrey Orst <andreyorst@gmail.com> | 2021-01-19 16:46:00 +0000 |
| commit | 92812d03922fd4c3ba85364b59e63236e7cfcd8a (patch) | |
| tree | 6504ecb114419b0dd3055e509abd8b602586f614 /tests/test.fnl | |
| parent | a2b08f721c28b3b56a802031bc35df6a68b219d8 (diff) | |
| parent | 270beed0505ef47159d94fb162ff4840958f3ce5 (diff) | |
fix: Fennel 0.8.0 enhancements
Changelog:
- fixed bug in try
- reworked pretty printing for sets
- handle cycles in sets
- use new fennel.view format
- reorganized library to make requiring it easier
Diffstat (limited to 'tests/test.fnl')
| -rw-r--r-- | tests/test.fnl | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/tests/test.fnl b/tests/test.fnl index f3db701..143b749 100644 --- a/tests/test.fnl +++ b/tests/test.fnl @@ -14,12 +14,12 @@ the tables uses tables as keys." ;; (eq {[1 2 3] {:a [1 2 3]}} {[1 2 3] {:a [1 2 3]}}) ;; we have to do even deeper search (setmetatable right# {:__index (fn [tbl# key#] - (var res# nil) - (each [k# v# (pairs tbl#)] - (when (eq# k# key#) - (set res# v#) - (lua :break))) - res#)}) + (var res# nil) + (each [k# v# (pairs tbl#)] + (when (eq# k# key#) + (set res# v#) + (lua :break))) + res#)}) (var [res# count-a# count-b#] [true 0 0]) (each [k# v# (pairs left#)] (set res# (eq# v# (. right# k#))) @@ -62,26 +62,26 @@ runtime error: equality assertion failed ```" `(let [left# ,expr1 right# ,expr2 - (res# view#) (pcall require :fennelview) eq# ,(eq-fn) - tostr# (if res# view# tostring)] + fennel# (require :fennel)] (assert (eq# left# right#) - (or ,msg (.. "equality assertion failed - Left: " (tostr# left#) " - Right: " (tostr# right#) "\n"))))) + (or ,msg (.. "assertion failed for expression: +(= " ,(view expr1 {:one-line? true}) " " ,(view expr2 {:one-line? true}) " + Left: " (fennel#.view left# {:one-line? true}) " + Right: " (fennel#.view right# {:one-line? true}) "\n"))))) (fn test.assert-ne [expr1 expr2 msg] "Assert for unequality. Same as [`assert-eq`](#assert-eq)." `(let [left# ,expr1 right# ,expr2 - (res# view#) (pcall require :fennelview) eq# ,(eq-fn) - tostr# (if res# view# tostring)] + fennel# (require :fennel)] (assert (not (eq# left# right#)) - (or ,msg (.. "unequality assertion failed - Left: " (tostr# left#) " - Right: " (tostr# right#) "\n"))))) + (or ,msg (.. "assertion failed for expression: +(not= " ,(view expr1 {:one-line? true}) " " ,(view expr2 {:one-line? true}) " + Left: " (fennel#.view left# {:one-line? true}) " + Right: " (fennel#.view right# {:one-line? true}) "\n"))))) (fn test.assert-is [expr msg] @@ -92,13 +92,15 @@ runtime error: equality assertion failed >> (assert-is (= 1 2 3)) runtime error: assertion failed for (= 1 2 3) ```" - `(assert ,expr (.. "assertion failed for " - (or ,msg ,(tostring expr))))) + `(assert ,expr + (.. "assertion failed for " + (or ,msg ,(view expr {:one-line? true}))))) (fn test.assert-not [expr msg] "Assert for not truth. Works the same as [`assert-is`](#assert-is)." - `(assert (not ,expr) (.. "assertion failed for " - (or ,msg ,(tostring expr))))) + `(assert (not ,expr) + (.. "assertion failed for " + (or ,msg ,(view expr {:one-line? true}))))) (fn test.deftest [name ...] @@ -108,7 +110,7 @@ runtime error: assertion failed for (= 1 2 3) (fn test.testing [description ...] "Print test description and run it." - `(do (io.stderr:write (.. "testing: " ,description "\n")) + `(do (io.stdout:write (.. "testing: " ,description "\n")) ,...)) (doto test |