Files
hawk/t/h-022.hawk

59 lines
881 B
Plaintext

@pragma implicit off
@pragma pedantic on
@pragma entry main
@pragma xcall on
@include "tap.inc";
@global G = func(a, b) {
return a + b
}
@global seq;
function mark(v)
{
seq = seq sprintf("%d", v);
return v;
}
function pair(a, b)
{
return a * 10 + b;
}
function zero()
{
return 7;
}
function bump(&x)
{
x += 1;
return x;
}
function main()
{
@local v, s, f;
seq = "";
tap_ensure(pair(mark(1), mark(2)), 12, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(seq, "12", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(zero(), 7, @SCRIPTNAME, @SCRIPTLINE);
s = sprintf("%d/%d", pair(3, 4), zero());
tap_ensure(s, "34/7", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(G(5, 6), 11, @SCRIPTNAME, @SCRIPTLINE);
f = G;
tap_ensure(f(7, 8), 15, @SCRIPTNAME, @SCRIPTLINE);
v = 9;
tap_ensure(bump(v), 10, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(v, 10, @SCRIPTNAME, @SCRIPTLINE);
tap_end();
}