blob: 2a9cf8254340d7bba29946ddac96e85e15ac533e [file]
import unittest
from mypy.nodes import Var
from mypyc.emit import Emitter, EmitterContext
from mypyc.ops import BasicBlock, Environment, int_rprimitive
class TestEmitter(unittest.TestCase):
def setUp(self) -> None:
self.env = Environment()
self.n = self.env.add_local(Var('n'), int_rprimitive)
self.context = EmitterContext(['mod'])
self.emitter = Emitter(self.context, self.env)
def test_label(self) -> None:
assert self.emitter.label(BasicBlock(4)) == 'CPyL4'
def test_reg(self) -> None:
assert self.emitter.reg(self.n) == 'cpy_r_n'
def test_emit_line(self) -> None:
self.emitter.emit_line('line;')
self.emitter.emit_line('a {')
self.emitter.emit_line('f();')
self.emitter.emit_line('}')
assert self.emitter.fragments == ['line;\n',
'a {\n',
' f();\n',
'}\n']