[Python-checkins] r54521 - sandbox/trunk/2to3/tests/test_util.py
collin.winter
python-checkins at python.org
Thu Mar 22 00:57:12 CET 2007
Author: collin.winter
Date: Thu Mar 22 00:57:08 2007
New Revision: 54521
Modified:
sandbox/trunk/2to3/tests/test_util.py
Log:
More tests, better infrastructure.
Modified: sandbox/trunk/2to3/tests/test_util.py
==============================================================================
--- sandbox/trunk/2to3/tests/test_util.py (original)
+++ sandbox/trunk/2to3/tests/test_util.py Thu Mar 22 00:57:08 2007
@@ -23,29 +23,69 @@
# The topmost node is file_input, which we don't care about.
# The next-topmost node is a *_stmt node, which we also don't care about
tree = driver.parse_string(support.reformat(code), debug=True)
- return tree.children[0].children[0]
+ node = tree.children[0].children[0]
+ node.parent = None
+ return node
+
+class MacroTestCase(support.TestCase):
+ def assertStr(self, node, string):
+ if isinstance(node, (tuple, list)):
+ node = pytree.Node(util.syms.simple_stmt, node)
+ self.assertEqual(str(node), string)
+
class Test_is_tuple(support.TestCase):
+ def is_tuple(self, string):
+ return util.is_tuple(parse(string))
+
def test_valid(self):
- self.failUnless(util.is_tuple(parse("(a, b)")))
- self.failUnless(util.is_tuple(parse("(a, (b, c))")))
- self.failUnless(util.is_tuple(parse("((a, (b, c)),)")))
- self.failUnless(util.is_tuple(parse("(a,)")))
+ self.failUnless(self.is_tuple("(a, b)"))
+ self.failUnless(self.is_tuple("(a, (b, c))"))
+ self.failUnless(self.is_tuple("((a, (b, c)),)"))
+ self.failUnless(self.is_tuple("(a,)"))
def test_invalid(self):
- self.failIf(util.is_tuple(parse("(a)")))
- self.failIf(util.is_tuple(parse("('foo') % (b, c)")))
+ self.failIf(self.is_tuple("(a)"))
+ self.failIf(self.is_tuple("('foo') % (b, c)"))
+
class Test_is_list(support.TestCase):
+ def is_list(self, string):
+ return util.is_list(parse(string))
+
def test_valid(self):
- self.failUnless(util.is_list(parse("[]")))
- self.failUnless(util.is_list(parse("[a]")))
- self.failUnless(util.is_list(parse("[a, b]")))
- self.failUnless(util.is_list(parse("[a, [b, c]]")))
- self.failUnless(util.is_list(parse("[[a, [b, c]],]")))
+ self.failUnless(self.is_list("[]"))
+ self.failUnless(self.is_list("[a]"))
+ self.failUnless(self.is_list("[a, b]"))
+ self.failUnless(self.is_list("[a, [b, c]]"))
+ self.failUnless(self.is_list("[[a, [b, c]],]"))
def test_invalid(self):
- self.failIf(util.is_list(parse("[]+[]")))
+ self.failIf(self.is_list("[]+[]"))
+
+
+class Test_Attr(MacroTestCase):
+ def test(self):
+ from fixes.util import Attr, Name
+ call = parse("foo()")
+
+ self.assertStr(Attr(Name("a"), Name("b")), "a.b")
+ self.assertStr(Attr(call, Name("b")), "foo().b")
+
+ def test_returns(self):
+ from fixes.util import Attr, Name
+
+ attr = Attr(Name("a"), Name("b"))
+ self.assertEqual(type(attr), tuple)
+
+
+class Test_Name(MacroTestCase):
+ def test(self):
+ from fixes.util import Name
+
+ self.assertStr(Name("a"), "a")
+ self.assertStr(Name("foo.foo().bar"), "foo.foo().bar")
+ self.assertStr(Name("a", prefix="b"), "ba")
if __name__ == "__main__":
More information about the Python-checkins
mailing list