[pypy-svn] rev 2396 - in pypy/trunk/src/pypy/module: . test

jacob at codespeak.net jacob at codespeak.net
Tue Dec 16 17:29:19 CET 2003


Author: jacob
Date: Tue Dec 16 17:29:19 2003
New Revision: 2396

Modified:
   pypy/trunk/src/pypy/module/builtin.py
   pypy/trunk/src/pypy/module/test/test_builtin.py
Log:
Added tests for vars(). Made vars() work.

Modified: pypy/trunk/src/pypy/module/builtin.py
==============================================================================
--- pypy/trunk/src/pypy/module/builtin.py	(original)
+++ pypy/trunk/src/pypy/module/builtin.py	Tue Dec 16 17:29:19 2003
@@ -535,7 +535,7 @@
         called with no argument, return the variables bound in local scope."""
 
         if len(obj) == 0:
-            return locals()
+            return caller_locals()
         elif len(obj) != 1:
             raise TypeError, "vars() takes at most 1 argument."
         else:

Modified: pypy/trunk/src/pypy/module/test/test_builtin.py
==============================================================================
--- pypy/trunk/src/pypy/module/test/test_builtin.py	(original)
+++ pypy/trunk/src/pypy/module/test/test_builtin.py	Tue Dec 16 17:29:19 2003
@@ -31,7 +31,14 @@
         def g(c=0, b=0, a=0):
             return dir()
         self.assertEquals(g(), ['a', 'b', 'c'])
-        
+
+    def test_vars(self):
+        def f():
+            return vars()
+        self.assertEquals(f(), {})
+        def g(c=0, b=0, a=0):
+            return vars()
+        self.assertEquals(g(), {'a':0, 'b':0, 'c':0})
         
     def test_getattr(self):
         class a: 


More information about the Pypy-commit mailing list