mirror of
https://github.com/ilyakooo0/urbit.git
synced 2025-01-06 23:16:29 +03:00
65 lines
1.5 KiB
Plaintext
65 lines
1.5 KiB
Plaintext
:: testing utilities meant to be directly used from files in %/tests
|
|
::
|
|
|%
|
|
++ expect-yes
|
|
|= [message=tape actual=?]
|
|
^- tang
|
|
?: actual ~
|
|
[leaf+message]~
|
|
::
|
|
++ expect-crash
|
|
|* [message=tape go=(trap)]
|
|
^- tang
|
|
=/ res (mule go)
|
|
?- -.res
|
|
%| ~
|
|
%& ~[leaf+"expected crash" leaf+message]
|
|
==
|
|
:: +expect-eq: compares :expected and :actual and pretty-prints the result
|
|
::
|
|
++ expect-eq
|
|
|= [expected=vase actual=vase]
|
|
^- tang
|
|
::
|
|
=| result=tang
|
|
::
|
|
=? result !=(q.expected q.actual)
|
|
%+ weld result
|
|
^- tang
|
|
:~ [%palm [": " ~ ~ ~] [leaf+"expected" (sell expected) ~]]
|
|
[%palm [": " ~ ~ ~] [leaf+"actual" (sell actual) ~]]
|
|
==
|
|
::
|
|
=? result !(~(nest ut p.actual) | p.expected)
|
|
%+ weld result
|
|
^- tang
|
|
:~ :+ %palm [": " ~ ~ ~]
|
|
:~ [%leaf "failed to nest"]
|
|
(~(dunk ut p.actual) %actual)
|
|
(~(dunk ut p.expected) %expected)
|
|
== ==
|
|
result
|
|
:: +expect: compares :actual to %.y and pretty-prints anything else
|
|
::
|
|
++ expect
|
|
|= actual=vase
|
|
(expect-eq !>(%.y) actual)
|
|
:: +expect-fail: kicks a trap, expecting crash. pretty-prints if succeeds
|
|
::
|
|
++ expect-fail
|
|
|= a=(trap)
|
|
^- tang
|
|
=/ b (mule a)
|
|
?- -.b
|
|
%| ~
|
|
%& [leaf+"expected failure - succeeded" ~]
|
|
==
|
|
:: +category: prepends a name to an error result; passes successes unchanged
|
|
::
|
|
++ category
|
|
|= [a=tape b=tang] ^- tang
|
|
?: =(~ b) ~ :: test OK
|
|
:- leaf+"in: '{a}'"
|
|
(turn b |=(c=tank rose+[~ " " ~]^~[c]))
|
|
--
|