Example #1
0
class TestBaseVisitorVisitExprAndPass:
    def setUp(self):
        self.v = BaseVisitor('test.jpx', {}, 2)
        self.v.visit_Str = lambda n: self.v.output(n.s)
        self.v.visit_Module(ast.Module([]))

    def test_expr(self):
        self.v.visit(ast.Expr(ast.Str('foo')))
        assert self.v.stack[-1].body == ['    ', 'foo', ';\n']

    def test_pass(self):
        self.v.visit(ast.Pass())
        assert self.v.stack[-1].body == []

    @raises(NotImplementedError)
    def test_generic_visit(self):
        self.v.visit(ast.Print())
Example #2
0
class TestBaseVisitorVisitExprAndPass:
    def setUp(self):
        self.v = BaseVisitor('test.jpx', {}, 2)
        self.v.visit_Str = lambda n: self.v.output(n.s)
        self.v.visit_Module(ast.Module([]))

    def test_expr(self):
        self.v.visit(ast.Expr(ast.Str('foo')))
        assert self.v.stack[-1].body == ['    ', 'foo', ';\n']

    def test_pass(self):
        self.v.visit(ast.Pass())
        assert self.v.stack[-1].body == []

    @raises(NotImplementedError)
    def test_generic_visit(self):
        self.v.visit(ast.Print())
Example #3
0
class TestBaseVisitorVisitModule:
    def setUp(self):
        self.v = BaseVisitor('test.jpx', {}, 2)
        self.v.visit_Str = lambda n: self.v.output(n.s)
        self.v.visit_Module(ast.Module([ast.Str('foo')]))

    def test_module_attr(self):
        assert isinstance(self.v.module, ModuleContext)

    def test_indent(self):
        assert self.v.module.indent == self.v.default_indent

    def test_stack(self):
        assert self.v.stack == [self.v.module]

    def test_body(self):
        assert self.v.module.body == ['foo']
Example #4
0
class TestBaseVisitorVisitModule:
    def setUp(self):
        self.v = BaseVisitor('test.jpx', {}, 2)
        self.v.visit_Str = lambda n: self.v.output(n.s)
        self.v.visit_Module(ast.Module([ast.Str('foo')]))

    def test_module_attr(self):
        assert isinstance(self.v.module, ModuleContext)

    def test_indent(self):
        assert self.v.module.indent == self.v.default_indent

    def test_stack(self):
        assert self.v.stack == [self.v.module]

    def test_body(self):
        assert self.v.module.body == ['foo']