annotate Lib/test/test_pprint.py @ 64166:d0e9febfa00a 3.1

Merged revisions 84172 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r84172 | martin.v.loewis | 2010-08-18 18:12:23 +0200 (Mi, 18 Aug 2010) | 2 lines Restore GIL in nis_cat in case of error. ........
author Martin v. Löwis <martin@v.loewis.de>
date Thu, 19 Aug 2010 09:03:03 +0000
parents ffb94920eff3
children 9659e8c40079
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
1 import pprint
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 47080
diff changeset
2 import test.support
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
3 import unittest
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
4 import test.test_set
57340
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
5 import random
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
6
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
7 # list, tuple and dict subclasses that do or don't overwrite __repr__
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
8 class list2(list):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
9 pass
38669
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
10
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
11 class list3(list):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
12 def __repr__(self):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
13 return list.__repr__(self)
38669
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
14
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
15 class tuple2(tuple):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
16 pass
38669
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
17
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
18 class tuple3(tuple):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
19 def __repr__(self):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
20 return tuple.__repr__(self)
38669
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
21
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
22 class dict2(dict):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
23 pass
38669
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
24
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
25 class dict3(dict):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
26 def __repr__(self):
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
27 return dict.__repr__(self)
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
28
57340
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
29 class Unorderable:
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
30 def __repr__(self):
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
31 return str(id(self))
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
32
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
33 class QueryTestCase(unittest.TestCase):
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
34
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
35 def setUp(self):
41642
a6eb6acfe04a Merged revisions 55007-55179 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 41575
diff changeset
36 self.a = list(range(100))
a6eb6acfe04a Merged revisions 55007-55179 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 41575
diff changeset
37 self.b = list(range(200))
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
38 self.a[-12] = self.b
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
39
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
40 def test_basic(self):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
41 # Verify .isrecursive() and .isreadable() w/o recursion
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
42 pp = pprint.PrettyPrinter()
42050
ca693f4fd05d Simplify various spots where: str() is called on something
Walter Dörwald <walter@livinglogic.de>
parents: 41642
diff changeset
43 for safe in (2, 2.0, 2j, "abc", [3], (2,2), {3: 3}, "yaddayadda",
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
44 self.a, self.b):
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
45 # module-level convenience functions
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
46 self.assertFalse(pprint.isrecursive(safe),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
47 "expected not isrecursive for %r" % (safe,))
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
48 self.assertTrue(pprint.isreadable(safe),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
49 "expected isreadable for %r" % (safe,))
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
50 # PrettyPrinter methods
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
51 self.assertFalse(pp.isrecursive(safe),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
52 "expected not isrecursive for %r" % (safe,))
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
53 self.assertTrue(pp.isreadable(safe),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
54 "expected isreadable for %r" % (safe,))
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
55
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
56 def test_knotted(self):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
57 # Verify .isrecursive() and .isreadable() w/ recursion
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
58 # Tie a knot.
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
59 self.b[67] = self.a
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
60 # Messy dict.
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
61 self.d = {}
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
62 self.d[0] = self.d[1] = self.d[2] = self.d
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
63
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
64 pp = pprint.PrettyPrinter()
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
65
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
66 for icky in self.a, self.b, self.d, (self.d, self.d):
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
67 self.assertTrue(pprint.isrecursive(icky), "expected isrecursive")
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
68 self.assertFalse(pprint.isreadable(icky), "expected not isreadable")
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
69 self.assertTrue(pp.isrecursive(icky), "expected isrecursive")
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
70 self.assertFalse(pp.isreadable(icky), "expected not isreadable")
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
71
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
72 # Break the cycles.
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
73 self.d.clear()
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
74 del self.a[:]
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
75 del self.b[:]
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
76
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
77 for safe in self.a, self.b, self.d, (self.d, self.d):
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
78 # module-level convenience functions
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
79 self.assertFalse(pprint.isrecursive(safe),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
80 "expected not isrecursive for %r" % (safe,))
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
81 self.assertTrue(pprint.isreadable(safe),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
82 "expected isreadable for %r" % (safe,))
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
83 # PrettyPrinter methods
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
84 self.assertFalse(pp.isrecursive(safe),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
85 "expected not isrecursive for %r" % (safe,))
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
86 self.assertTrue(pp.isreadable(safe),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
87 "expected isreadable for %r" % (safe,))
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
88
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
89 def test_unreadable(self):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
90 # Not recursive but not readable anyway
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
91 pp = pprint.PrettyPrinter()
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
92 for unreadable in type(3), pprint, pprint.isrecursive:
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
93 # module-level convenience functions
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
94 self.assertFalse(pprint.isrecursive(unreadable),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
95 "expected not isrecursive for %r" % (unreadable,))
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
96 self.assertFalse(pprint.isreadable(unreadable),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
97 "expected not isreadable for %r" % (unreadable,))
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
98 # PrettyPrinter methods
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
99 self.assertFalse(pp.isrecursive(unreadable),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
100 "expected not isrecursive for %r" % (unreadable,))
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
101 self.assertFalse(pp.isreadable(unreadable),
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
102 "expected not isreadable for %r" % (unreadable,))
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
103
17828
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
104 def test_same_as_repr(self):
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
105 # Simple objects, small containers and classes that overwrite __repr__
38669
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
106 # For those the result should be the same as repr().
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
107 # Ahem. The docs don't say anything about that -- this appears to
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
108 # be testing an implementation quirk. Starting in Python 2.5, it's
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
109 # not true for dicts: pprint always sorts dicts by key now; before,
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
110 # it sorted a dict display if and only if the display required
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
111 # multiple lines. For that reason, dicts with more than one element
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
112 # aren't tested here.
42050
ca693f4fd05d Simplify various spots where: str() is called on something
Walter Dörwald <walter@livinglogic.de>
parents: 41642
diff changeset
113 for simple in (0, 0, 0+0j, 0.0, "", b"",
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
114 (), tuple2(), tuple3(),
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
115 [], list2(), list3(),
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
116 {}, dict2(), dict3(),
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
117 self.assertTrue, pprint,
42050
ca693f4fd05d Simplify various spots where: str() is called on something
Walter Dörwald <walter@livinglogic.de>
parents: 41642
diff changeset
118 -6, -6, -6-6j, -1.5, "x", b"x", (3,), [3], {3: 6},
52892
792bb885029f Merged revisions 70712,70714,70764-70765,70769-70771,70773,70776-70777,70788-70789,70824,70828,70832,70836,70842,70851,70855,70857,70866-70872,70883,70885,70893-70894,70896-70897,70903,70905-70907,70915,70927,70933,70951,70960,70962-70964,70998,71001,71006,71008,71010-71011,71019,71037,71056,71094,71101-71103,71106,71119,71123,71149-71150,71203,71212,71214-71217,71221,71240 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48493
diff changeset
119 (1,2), [3,4], {5: 6},
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
120 tuple2((1,2)), tuple3((1,2)), tuple3(range(100)),
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
121 [3,4], list2([3,4]), list3([3,4]), list3(range(100)),
52892
792bb885029f Merged revisions 70712,70714,70764-70765,70769-70771,70773,70776-70777,70788-70789,70824,70828,70832,70836,70842,70851,70855,70857,70866-70872,70883,70885,70893-70894,70896-70897,70903,70905-70907,70915,70927,70933,70951,70960,70962-70964,70998,71001,71006,71008,71010-71011,71019,71037,71056,71094,71101-71103,71106,71119,71123,71149-71150,71203,71212,71214-71217,71221,71240 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48493
diff changeset
122 dict2({5: 6}), dict3({5: 6}),
17828
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
123 range(10, -11, -1)
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
124 ):
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
125 native = repr(simple)
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
126 for function in "pformat", "saferepr":
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
127 f = getattr(pprint, function)
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
128 got = f(simple)
58477
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
129 self.assertEqual(native, got,
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
130 "expected %s got %s from pprint.%s" %
ffb94920eff3 Merged revisions 77731 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
131 (native, got, function))
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
132
21061
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
133 def test_basic_line_wrap(self):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
134 # verify basic line-wrapping operation
21061
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
135 o = {'RPM_cal': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
136 'RPM_cal2': 48059,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
137 'Speed_cal': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
138 'controldesk_runtime_us': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
139 'main_code_runtime_us': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
140 'read_io_runtime_us': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
141 'write_io_runtime_us': 43690}
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
142 exp = """\
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
143 {'RPM_cal': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
144 'RPM_cal2': 48059,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
145 'Speed_cal': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
146 'controldesk_runtime_us': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
147 'main_code_runtime_us': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
148 'read_io_runtime_us': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
149 'write_io_runtime_us': 43690}"""
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
150 for type in [dict, dict2]:
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
151 self.assertEqual(pprint.pformat(type(o)), exp)
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
152
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
153 o = range(100)
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
154 exp = '[%s]' % ',\n '.join(map(str, o))
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
155 for type in [list, list2]:
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
156 self.assertEqual(pprint.pformat(type(o)), exp)
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
157
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
158 o = tuple(range(100))
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
159 exp = '(%s)' % ',\n '.join(map(str, o))
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
160 for type in [tuple, tuple2]:
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
161 self.assertEqual(pprint.pformat(type(o)), exp)
21061
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
162
31085
a2f6c6a67f24 Add parameters indent, width and depth to pprint.pprint() and pprint.pformat()
Walter Dörwald <walter@livinglogic.de>
parents: 31084
diff changeset
163 # indent parameter
a2f6c6a67f24 Add parameters indent, width and depth to pprint.pprint() and pprint.pformat()
Walter Dörwald <walter@livinglogic.de>
parents: 31084
diff changeset
164 o = range(100)
a2f6c6a67f24 Add parameters indent, width and depth to pprint.pprint() and pprint.pformat()
Walter Dörwald <walter@livinglogic.de>
parents: 31084
diff changeset
165 exp = '[ %s]' % ',\n '.join(map(str, o))
a2f6c6a67f24 Add parameters indent, width and depth to pprint.pprint() and pprint.pformat()
Walter Dörwald <walter@livinglogic.de>
parents: 31084
diff changeset
166 for type in [list, list2]:
a2f6c6a67f24 Add parameters indent, width and depth to pprint.pprint() and pprint.pformat()
Walter Dörwald <walter@livinglogic.de>
parents: 31084
diff changeset
167 self.assertEqual(pprint.pformat(type(o), indent=4), exp)
a2f6c6a67f24 Add parameters indent, width and depth to pprint.pprint() and pprint.pformat()
Walter Dörwald <walter@livinglogic.de>
parents: 31084
diff changeset
168
48493
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
169 def test_nested_indentations(self):
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
170 o1 = list(range(10))
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
171 o2 = dict(first=1, second=2, third=3)
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
172 o = [o1, o2]
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
173 expected = """\
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
174 [ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
175 { 'first': 1,
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
176 'second': 2,
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
177 'third': 3}]"""
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
178 self.assertEqual(pprint.pformat(o, indent=4, width=42), expected)
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
179
38669
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
180 def test_sorted_dict(self):
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
181 # Starting in Python 2.5, pprint sorts dict displays by key regardless
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
182 # of how small the dictionary may be.
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
183 # Before the change, on 32-bit Windows pformat() gave order
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
184 # 'a', 'c', 'b' here, so this test failed.
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
185 d = {'a': 1, 'b': 1, 'c': 1}
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
186 self.assertEqual(pprint.pformat(d), "{'a': 1, 'b': 1, 'c': 1}")
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
187 self.assertEqual(pprint.pformat([d, d]),
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
188 "[{'a': 1, 'b': 1, 'c': 1}, {'a': 1, 'b': 1, 'c': 1}]")
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
189
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
190 # The next one is kind of goofy. The sorted order depends on the
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
191 # alphabetic order of type names: "int" < "str" < "tuple". Before
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
192 # Python 2.5, this was in the test_same_as_repr() test. It's worth
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
193 # keeping around for now because it's one of few tests of pprint
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
194 # against a crazy mix of types.
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
195 self.assertEqual(pprint.pformat({"xy\tab\n": (3,), 5: [[]], (): {}}),
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
196 r"{5: [[]], 'xy\tab\n': (3,), (): {}}")
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
197
22766
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
198 def test_subclassing(self):
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
199 o = {'names with spaces': 'should be presented using repr()',
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
200 'others.should.not.be': 'like.this'}
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
201 exp = """\
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
202 {'names with spaces': 'should be presented using repr()',
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
203 others.should.not.be: like.this}"""
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
204 self.assertEqual(DottedPrettyPrinter().pformat(o), exp)
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
205
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
206 def test_set_reprs(self):
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
207 self.assertEqual(pprint.pformat(set()), 'set()')
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
208 self.assertEqual(pprint.pformat(set(range(3))), '{0, 1, 2}')
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
209 self.assertEqual(pprint.pformat(frozenset()), 'frozenset()')
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
210 self.assertEqual(pprint.pformat(frozenset(range(3))), 'frozenset({0, 1, 2})')
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
211 cube_repr_tgt = """\
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
212 {frozenset(): frozenset({frozenset({2}), frozenset({0}), frozenset({1})}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
213 frozenset({0}): frozenset({frozenset(),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
214 frozenset({0, 2}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
215 frozenset({0, 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
216 frozenset({1}): frozenset({frozenset(),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
217 frozenset({1, 2}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
218 frozenset({0, 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
219 frozenset({2}): frozenset({frozenset(),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
220 frozenset({1, 2}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
221 frozenset({0, 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
222 frozenset({1, 2}): frozenset({frozenset({2}),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
223 frozenset({1}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
224 frozenset({0, 1, 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
225 frozenset({0, 2}): frozenset({frozenset({2}),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
226 frozenset({0}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
227 frozenset({0, 1, 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
228 frozenset({0, 1}): frozenset({frozenset({0}),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
229 frozenset({1}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
230 frozenset({0, 1, 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
231 frozenset({0, 1, 2}): frozenset({frozenset({1, 2}),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
232 frozenset({0, 2}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
233 frozenset({0, 1})})}"""
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
234 cube = test.test_set.cube(3)
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
235 self.assertEqual(pprint.pformat(cube), cube_repr_tgt)
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
236 cubo_repr_tgt = """\
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
237 {frozenset({frozenset({0, 2}), frozenset({0})}): frozenset({frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
238 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
239 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
240 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
241 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
242 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
243 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
244 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
245 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
246 frozenset({0})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
247 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
248 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
249 2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
250 frozenset({frozenset({0, 1}), frozenset({1})}): frozenset({frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
251 1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
252 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
253 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
254 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
255 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
256 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
257 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
258 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
259 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
260 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
261 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
262 frozenset({1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
263 frozenset({frozenset({1, 2}), frozenset({1})}): frozenset({frozenset({frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
264 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
265 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
266 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
267 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
268 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
269 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
270 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
271 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
272 frozenset({1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
273 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
274 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
275 1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
276 frozenset({frozenset({1, 2}), frozenset({2})}): frozenset({frozenset({frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
277 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
278 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
279 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
280 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
281 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
282 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
283 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
284 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
285 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
286 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
287 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
288 frozenset({2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
289 frozenset({frozenset(), frozenset({0})}): frozenset({frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
290 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
291 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
292 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
293 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
294 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
295 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
296 frozenset({1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
297 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
298 frozenset({2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
299 frozenset({frozenset(), frozenset({1})}): frozenset({frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
300 frozenset({0})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
301 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
302 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
303 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
304 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
305 frozenset({2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
306 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
307 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
308 1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
309 frozenset({frozenset({2}), frozenset()}): frozenset({frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
310 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
311 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
312 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
313 frozenset({0})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
314 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
315 frozenset({1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
316 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
317 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
318 2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
319 frozenset({frozenset({0, 1, 2}), frozenset({0, 1})}): frozenset({frozenset({frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
320 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
321 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
322 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
323 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
324 frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
325 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
326 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
327 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
328 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
329 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
330 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
331 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
332 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
333 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
334 1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
335 frozenset({frozenset({0}), frozenset({0, 1})}): frozenset({frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
336 frozenset({0})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
337 frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
338 1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
339 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
340 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
341 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
342 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
343 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
344 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
345 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
346 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
347 1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
348 frozenset({frozenset({2}), frozenset({0, 2})}): frozenset({frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
349 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
350 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
351 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
352 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
353 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
354 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
355 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
356 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
357 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
358 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
359 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
360 frozenset({2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
361 frozenset({frozenset({0, 1, 2}), frozenset({0, 2})}): frozenset({frozenset({frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
362 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
363 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
364 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
365 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
366 frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
367 1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
368 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
369 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
370 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
371 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
372 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
373 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
374 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
375 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
376 2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
377 frozenset({frozenset({1, 2}), frozenset({0, 1, 2})}): frozenset({frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
378 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
379 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
380 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
381 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
382 frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
383 1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
384 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
385 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
386 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
387 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
388 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
389 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
390 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
391 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
392 2})})})}"""
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
393
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
394 cubo = test.test_set.linegraph(cube)
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
395 self.assertEqual(pprint.pformat(cubo), cubo_repr_tgt)
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
396
47080
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
397 def test_depth(self):
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
398 nested_tuple = (1, (2, (3, (4, (5, 6)))))
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
399 nested_dict = {1: {2: {3: {4: {5: {6: 6}}}}}}
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
400 nested_list = [1, [2, [3, [4, [5, [6, []]]]]]]
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
401 self.assertEqual(pprint.pformat(nested_tuple), repr(nested_tuple))
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
402 self.assertEqual(pprint.pformat(nested_dict), repr(nested_dict))
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
403 self.assertEqual(pprint.pformat(nested_list), repr(nested_list))
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
404
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
405 lv1_tuple = '(1, (...))'
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
406 lv1_dict = '{1: {...}}'
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
407 lv1_list = '[1, [...]]'
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
408 self.assertEqual(pprint.pformat(nested_tuple, depth=1), lv1_tuple)
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
409 self.assertEqual(pprint.pformat(nested_dict, depth=1), lv1_dict)
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
410 self.assertEqual(pprint.pformat(nested_list, depth=1), lv1_list)
58a0d5524f9a Merged revisions 63119-63128,63130-63131,63133,63135-63144,63146-63148,63151-63152,63155-63165,63167-63176,63181-63186,63188-63189 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents: 45067
diff changeset
411
57340
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
412 def test_sort_unorderable_values(self):
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
413 # Issue 3976: sorted pprints fail for unorderable values.
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
414 n = 20
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
415 keys = [Unorderable() for i in range(n)]
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
416 random.shuffle(keys)
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
417 skeys = sorted(keys, key=id)
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
418 clean = lambda s: s.replace(' ', '').replace('\n','')
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
419
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
420 self.assertEqual(clean(pprint.pformat(set(keys))),
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
421 '{' + ','.join(map(repr, skeys)) + '}')
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
422 self.assertEqual(clean(pprint.pformat(frozenset(keys))),
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
423 'frozenset({' + ','.join(map(repr, skeys)) + '})')
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
424 self.assertEqual(clean(pprint.pformat(dict.fromkeys(keys))),
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
425 '{' + ','.join('%r:None' % k for k in skeys) + '}')
22766
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
426
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
427 class DottedPrettyPrinter(pprint.PrettyPrinter):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
428
22766
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
429 def format(self, object, context, maxlevels, level):
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
430 if isinstance(object, str):
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
431 if ' ' in object:
31515
71a294bd7950 Replace backticks with repr() or "%r"
Walter Dörwald <walter@livinglogic.de>
parents: 31085
diff changeset
432 return repr(object), 1, 0
22766
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
433 else:
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
434 return object, 0, 0
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
435 else:
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
436 return pprint.PrettyPrinter.format(
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
437 self, object, context, maxlevels, level)
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
438
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
439
20013
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19343
diff changeset
440 def test_main():
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 47080
diff changeset
441 test.support.run_unittest(QueryTestCase)
20013
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19343
diff changeset
442
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19343
diff changeset
443
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19343
diff changeset
444 if __name__ == "__main__":
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19343
diff changeset
445 test_main()