[pypy-svn] r45024 - in pypy/dist/pypy/interpreter/pyparser: . test
justas at codespeak.net
justas at codespeak.net
Fri Jul 13 15:36:02 CEST 2007
Author: justas
Date: Fri Jul 13 15:36:01 2007
New Revision: 45024
Modified:
pypy/dist/pypy/interpreter/pyparser/astbuilder.py
pypy/dist/pypy/interpreter/pyparser/test/test_astbuilder_future.py
Log:
Dummy import from __future__ builder functions + tests
Modified: pypy/dist/pypy/interpreter/pyparser/astbuilder.py
==============================================================================
--- pypy/dist/pypy/interpreter/pyparser/astbuilder.py (original)
+++ pypy/dist/pypy/interpreter/pyparser/astbuilder.py Fri Jul 13 15:36:01 2007
@@ -879,6 +879,14 @@
builder.push(ast.From(from_name, names, atoms[0].lineno))
+def build_future_import_feature(builder, nb):
+ """
+ future_import_feature: NAME [('as'|NAME) NAME]
+
+ Enables python language future imports. Called once per feature imported,
+ no matter how you got to this one particular feature.
+ """
+
def build_yield_stmt(builder, nb):
atoms = get_atoms(builder, nb)
builder.push(ast.Yield(atoms[1], atoms[0].lineno))
@@ -1038,7 +1046,8 @@
'while_stmt' : build_while_stmt,
'import_name' : build_import_name,
'import_from' : build_import_from,
- 'future_import_feature': None,
+ 'future_import_feature': build_future_import_feature,
+ 'import_from_future': build_import_from,
'yield_stmt' : build_yield_stmt,
'continue_stmt' : build_continue_stmt,
'del_stmt' : build_del_stmt,
Modified: pypy/dist/pypy/interpreter/pyparser/test/test_astbuilder_future.py
==============================================================================
--- pypy/dist/pypy/interpreter/pyparser/test/test_astbuilder_future.py (original)
+++ pypy/dist/pypy/interpreter/pyparser/test/test_astbuilder_future.py Fri Jul 13 15:36:01 2007
@@ -1,6 +1,7 @@
-from pypy.interpreter.pyparser.astbuilder import AstBuilder
from pypy.interpreter.pyparser.grammar import Parser
from pypy.interpreter.pyparser.pytoken import setup_tokens
+from pypy.interpreter.pyparser import astbuilder
+
from fakes import FakeSpace
@@ -25,13 +26,27 @@
return self.tokens[ tok ]
+class RuleStub:
+ def __init__(self, name, root=False):
+ self.codename = name
+ self.root = root
+ is_root = lambda self: self.root
+
+
class TestBuilderFuture:
def setup_class(self):
self.parser = ParserStub()
setup_tokens(self.parser)
def setup_method(self, method):
- self.builder = AstBuilder(self.parser, space=FakeSpace())
+ self.builder = astbuilder.AstBuilder(self.parser, space=FakeSpace())
def test_future_rules(self):
- assert 'future_import_feature' in self.builder.build_rules
+ assert (self.builder.build_rules['future_import_feature'] is
+ astbuilder.build_future_import_feature)
+ assert (self.builder.build_rules['import_from_future'] is
+ astbuilder.build_import_from)
+
+ def test_future_import(self):
+ #self.builder.push(RuleStub('future_import_feature', root=True))
+ pass
More information about the Pypy-commit
mailing list