mirror of
https://github.com/urbit/shrub.git
synced 2024-12-12 10:29:01 +03:00
b3901ab42f
git-subtree-dir: pkg/arvo git-subtree-mainline:9c8f40bf6c
git-subtree-split:c20e2a185f
46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
:: testing utilities meant to be directly used from files in %/tests
|
|
::
|
|
|%
|
|
:: +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-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]))
|
|
--
|