mirror of
https://github.com/urbit/shrub.git
synced 2024-12-25 21:12:56 +03:00
36 lines
936 B
Plaintext
36 lines
936 B
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
|
|
:: +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]))
|
|
--
|