##// END OF EJS Templates
Merge pull request #3377 from minrk/nonemod...
Min RK -
r10810:1fc84b32 merge
parent child Browse files
Show More
@@ -638,10 +638,10 def _re_pattern_pprint(obj, p, cycle):
638
638
639 def _type_pprint(obj, p, cycle):
639 def _type_pprint(obj, p, cycle):
640 """The pprint for classes and types."""
640 """The pprint for classes and types."""
641 try:
641 mod = getattr(obj, '__module__', None)
642 mod = obj.__module__
642 if mod is None:
643 except AttributeError:
643 # Heap allocated types might not have the module attribute,
644 # Heap allocated types might not have the module attribute.
644 # and others may set it to None.
645 return p.text(obj.__name__)
645 return p.text(obj.__name__)
646
646
647 if mod in ('__builtin__', 'exceptions'):
647 if mod in ('__builtin__', 'exceptions'):
@@ -53,6 +53,11 class Dummy1(object):
53 class Dummy2(Dummy1):
53 class Dummy2(Dummy1):
54 _repr_pretty_ = None
54 _repr_pretty_ = None
55
55
56 class NoModule(object):
57 pass
58
59 NoModule.__module__ = None
60
56
61
57 def test_indentation():
62 def test_indentation():
58 """Test correct indentation in groups"""
63 """Test correct indentation in groups"""
@@ -106,3 +111,10 def test_pprint_heap_allocated_type():
106 import xxlimited
111 import xxlimited
107 output = pretty.pretty(xxlimited.Null)
112 output = pretty.pretty(xxlimited.Null)
108 nt.assert_equal(output, 'xxlimited.Null')
113 nt.assert_equal(output, 'xxlimited.Null')
114
115 def test_pprint_nomod():
116 """
117 Test that pprint works for classes with no __module__.
118 """
119 output = pretty.pretty(NoModule)
120 nt.assert_equal(output, 'NoModule')
General Comments 0
You need to be logged in to leave comments. Login now