Пример #1
0
def test_compiler_foreach_block(patch, compiler, lines, tree):
    patch.init(Tree)
    patch.many(JSONCompiler, ['subtree', 'output', 'fake_base_expression'])
    compiler.foreach_block(tree, '1')
    compiler.output.assert_called_with(tree.foreach_statement.output)
    args = [compiler.fake_base_expression()]
    lines.set_scope.assert_called_with(tree.line(), '1', JSONCompiler.output())
    lines.finish_scope.assert_called_with(tree.line())
    lines.append.assert_called_with('for', tree.line(), args=args,
                                    enter=tree.nested_block.line(),
                                    output=JSONCompiler.output(), parent='1')
    compiler.subtree.assert_called_with(tree.nested_block, parent=tree.line())
Пример #2
0
def test_compiler_foreach_block(patch, compiler, lines, tree):
    patch.init(Tree)
    patch.many(
        JSONCompiler,
        ["subtree", "output", "fake_base_expression", "create_scope"],
    )
    compiler.foreach_block(tree, "1")
    compiler.output.assert_called_with(tree.foreach_statement.output)
    args = [compiler.fake_base_expression()]
    compiler.create_scope.assert_called_with(
        tree.position(), "1", compiler.output()
    )
    lines.append.assert_called_with(
        "for",
        tree.position(),
        args=args,
        enter=tree.nested_block.line(),
        output=JSONCompiler.output(),
        parent="1",
    )
    compiler.subtree.assert_called_with(
        tree.nested_block, parent=tree.position().line
    )
Пример #3
0
def test_compiler_output_none():
    assert JSONCompiler.output(None) == []
Пример #4
0
def test_compiler_output(tree):
    tree.children = [Token('token', 'output')]
    result = JSONCompiler.output(tree)
    assert result == ['output']
Пример #5
0
def test_compiler_output(tree):
    tree.children = [Token("token", "output")]
    result = JSONCompiler.output(tree)
    assert result == ["output"]