fixed an error reporting bug for undefineds.

--HG--
branch : trunk
diff --git a/jinja2/testsuite/utils.py b/jinja2/testsuite/utils.py
index 25dde8b..a402bbc 100644
--- a/jinja2/testsuite/utils.py
+++ b/jinja2/testsuite/utils.py
@@ -18,7 +18,7 @@
 
 from jinja2 import Environment, Undefined, DebugUndefined, \
      StrictUndefined, UndefinedError, Template, meta
-from jinja2.utils import LRUCache, escape
+from jinja2.utils import LRUCache, escape, object_type_repr
 
 
 class LRUCacheTestCase(JinjaTestCase):
@@ -46,6 +46,19 @@
             assert copy._queue == cache._queue
 
 
+class HelpersTestCase(JinjaTestCase):
+
+    def test_object_type_repr(self):
+        class X(object):
+            pass
+        self.assert_equal(object_type_repr(42), 'int object')
+        self.assert_equal(object_type_repr([]), 'list object')
+        self.assert_equal(object_type_repr(X()),
+                         'jinja2.testsuite.utils.X object')
+        self.assert_equal(object_type_repr(None), 'None')
+        self.assert_equal(object_type_repr(Ellipsis), 'Ellipsis')
+
+
 class MarkupLeakTestCase(JinjaTestCase):
 
     def test_markup_leaks(self):
@@ -63,6 +76,7 @@
 def suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(LRUCacheTestCase))
+    suite.addTest(unittest.makeSuite(HelpersTestCase))
 
     # this test only tests the c extension
     if not hasattr(escape, 'func_code'):
diff --git a/jinja2/utils.py b/jinja2/utils.py
index 0ba86e7..8bf2c7f 100644
--- a/jinja2/utils.py
+++ b/jinja2/utils.py
@@ -237,9 +237,9 @@
     elif obj is Ellipsis:
         return 'Ellipsis'
     if obj.__class__.__module__ == '__builtin__':
-        name = obj.__name__
+        name = obj.__class__.__name__
     else:
-        name = obj.__class__.module__ + '.' + obj.__name__
+        name = obj.__class__.__module__ + '.' + obj.__class__.__name__
     return '%s object' % name