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"
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"
def test_textexpr():
	with xsc.build():
		with xsc.Frag() as e:
			with defblock(func="gurk()"):
				+detox.code("""s = '"a" < "b" & "b" > "a"'""")
				+detox.textexpr("s")

	assert makeoutput(e, "gurk") == '&quot;a&quot; &lt; &quot;b&quot; &amp; &quot;b&quot; &gt; &quot;a&quot;'
def test_textexpr():
	with xsc.build():
		with xsc.Frag() as e:
			with defblock(func="gurk()"):
				+detox.code("""s = '"a" < "b" & "b" > "a"'""")
				+detox.textexpr("s")

	assert makeoutput(e, "gurk") == '&quot;a&quot; &lt; &quot;b&quot; &amp; &quot;b&quot; &gt; &quot;a&quot;'
def test_modulecode():
	assert makemod(detox.code("x = 42")).x == 42
def test_modulecode():
	assert makemod(detox.code("x = 42")).x == 42