[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