diff options
| author | Andrey Orst <andreyorst@gmail.com> | 2020-11-23 03:23:58 +0300 |
|---|---|---|
| committer | Andrey Orst <andreyorst@gmail.com> | 2020-11-23 03:23:58 +0300 |
| commit | 59682715c51628b102df9f172faa3ed23e2f7534 (patch) | |
| tree | 6243be0d7f6c543d9ffa280221d104ff92e5dc87 /tests | |
| parent | 86658201582859775eaacd23e93a90c9212de425 (diff) | |
fix(docs): order items in cljlib.md, and add test.md
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test.fnl | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/tests/test.fnl b/tests/test.fnl index 0fcd750..f3db701 100644 --- a/tests/test.fnl +++ b/tests/test.fnl @@ -35,6 +35,31 @@ the tables uses tables as keys." (fn test.assert-eq [expr1 expr2 msg] + "Like `assert`, except compares results of two expressions on equality. +Generates formatted message if `msg` is not set to other message. + +# Example +Compare two expressions: + +``` fennel +>> (assert-eq 1 (+1 1)) +runtime error: equality assertion failed + Left: 1 + Right: 3 +``` + +Deep compare values: + +``` fennel +>> (assert-eq [1 {[2 3] [4 5 6]}] [1 {[2 3] [4 5]}]) +runtime error: equality assertion failed + Left: [1 { + [2 3] [4 5 6] + }] + Right: [1 { + [2 3] [4 5] + }] +```" `(let [left# ,expr1 right# ,expr2 (res# view#) (pcall require :fennelview) @@ -47,6 +72,7 @@ the tables uses tables as keys." (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) @@ -59,16 +85,24 @@ the tables uses tables as keys." (fn test.assert-is [expr msg] + "Assert for truth. Same as inbuilt `assert`, except generates more + verbose message if `msg` is not set. + +``` fennel +>> (assert-is (= 1 2 3)) +runtime error: assertion failed for (= 1 2 3) +```" `(assert ,expr (.. "assertion failed for " (or ,msg ,(tostring expr))))) (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))))) (fn test.deftest [name ...] - "Simple way of grouping tests" + "Simple way of grouping tests." `(do ,...)) (fn test.testing @@ -77,4 +111,7 @@ the tables uses tables as keys." `(do (io.stderr:write (.. "testing: " ,description "\n")) ,...)) -test +(doto test + (tset :_DOC_ORDER #[:deftest :testing + :assert-eq :assert-ne + :assert-is :assert-not])) |