From 59682715c51628b102df9f172faa3ed23e2f7534 Mon Sep 17 00:00:00 2001 From: Andrey Orst Date: Mon, 23 Nov 2020 03:23:58 +0300 Subject: fix(docs): order items in cljlib.md, and add test.md --- tests/test.fnl | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'tests/test.fnl') 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])) -- cgit v1.2.3