def test_if(): with xsc.build(): with xsc.Frag() as e: with defblock(func="gurk(arg)"): +detox.if_("arg>2") +detox.expr("str(2*arg)") +detox.else_() +detox.expr("str(3*arg)") +detox.end("if") assert makeoutput(e, "gurk", 0) == "0" assert makeoutput(e, "gurk", 1) == "3" assert makeoutput(e, "gurk", 2) == "6" assert makeoutput(e, "gurk", 3) == "6" assert makeoutput(e, "gurk", 4) == "8"
def test_expr(): with xsc.build(): with xsc.Frag() as e: with defblock(func="gurk(arg)"): +detox.expr("arg") assert makeoutput(e, "gurk", "hurz") == "hurz"
def test_for(): with xsc.build(): with xsc.Frag() as e: with defblock(func="gurk(arg)"): with forblock(loop="i in range(arg)"): +detox.expr("str(i)") assert makeoutput(e, "gurk", 3) == "012"
def test_while(): with xsc.build(): with xsc.Frag() as e: with defblock(func="gurk(arg)"): +detox.code("i = 0") with whileblock(loop="i < arg"): +detox.expr("str(i)") +detox.code("i += 1") assert makeoutput(e, "gurk", 3) == "012"