Exemple #1
0
    def unparse(self, ast: AST) -> Optional[str]:
        unparser = transpyle.python.unparser.NativePythonUnparser()

        try:
            return cast(str, unparser.unparse(to_python_ast(ast)))
        except:  # noqa
            return None
 def test_node(self):
     node = python_ast.Expr()
     name = python_ast.Name()
     setattr(name, "id", None)
     setattr(name, "ctx", None)
     setattr(node, "value", name)
     node2 = to_python_ast(to_ast(node, lambda x: [x]))
     assert python_ast.dump(node) == python_ast.dump(node2)
 def test_variadic_args(self):
     node = python_ast.List()
     n = python_ast.Constant()
     s = python_ast.Constant()
     setattr(n, "n", 10)
     setattr(n, "kind", None)
     setattr(s, "s", "foo")
     setattr(s, "kind", None)
     setattr(node, "elts", [n, s])
     setattr(node, "ctx", None)
     assert python_ast.dump(node) == \
         python_ast.dump(to_python_ast(to_ast(node, lambda x: [x])))
    def test_builtin_type(self):
        def split_value(x):
            return list(x)

        node = python_ast.List()
        ten = python_ast.Constant()
        setattr(ten, "value", 10)
        setattr(ten, "kind", None)
        setattr(node, "elts", [ten])
        setattr(node, "ctx", None)
        assert python_ast.dump(node) == \
            python_ast.dump(to_python_ast(
                to_ast(node,
                       split_value=split_value)))
 def test_token_list(self):
     node = python_ast.Global()
     setattr(node, "names", ["v1", "v2"])
     assert python_ast.dump(node) == \
         python_ast.dump(to_python_ast(to_ast(node, lambda x: [x])))
 def test_empty_list(self):
     node = python_ast.List()
     setattr(node, "ctx", None)
     setattr(node, "elts", [])
     assert python_ast.dump(node) == \
         python_ast.dump(to_python_ast(to_ast(node, lambda x: [x])))
 def test_optional_arg(self):
     node = python_ast.Yield()
     setattr(node, "value", None)
     assert python_ast.dump(node) == \
         python_ast.dump(to_python_ast(to_ast(node,
                                              lambda x: [x])))