annotate Lib/test/test_pprint.py @ 81343:3a7cd8efc19f

#16852: merge with 3.3.
author Ezio Melotti <ezio.melotti@gmail.com>
date Thu, 10 Jan 2013 03:29:45 +0200
parents 79d44f4920d9
children 65943dc15afc 5a2296093645
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
64583
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
6 import collections
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
7 import itertools
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
8
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
9 # 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
10 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
11 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
12
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
13 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
14 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
15 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
16
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
17 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
18 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
19
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
20 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
21 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
22 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
23
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
24 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
25 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
26
31084
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
27 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
28 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
29 return dict.__repr__(self)
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
30
57340
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
31 class Unorderable:
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
32 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
33 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
34
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
35 class QueryTestCase(unittest.TestCase):
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
36
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
37 def setUp(self):
41642
a6eb6acfe04a Merged revisions 55007-55179 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 41575
diff changeset
38 self.a = list(range(100))
a6eb6acfe04a Merged revisions 55007-55179 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 41575
diff changeset
39 self.b = list(range(200))
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
40 self.a[-12] = self.b
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
41
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
42 def test_basic(self):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
43 # 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
44 pp = pprint.PrettyPrinter()
42050
ca693f4fd05d Simplify various spots where: str() is called on something
Walter Dörwald <walter@livinglogic.de>
parents: 41642
diff changeset
45 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
46 self.a, self.b):
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
47 # module-level convenience functions
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
48 self.assertFalse(pprint.isrecursive(safe),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
49 "expected not isrecursive for %r" % (safe,))
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
50 self.assertTrue(pprint.isreadable(safe),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
51 "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
52 # PrettyPrinter methods
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
53 self.assertFalse(pp.isrecursive(safe),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
54 "expected not isrecursive for %r" % (safe,))
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
55 self.assertTrue(pp.isreadable(safe),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
56 "expected isreadable for %r" % (safe,))
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
57
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
58 def test_knotted(self):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
59 # Verify .isrecursive() and .isreadable() w/ recursion
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
60 # Tie a knot.
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
61 self.b[67] = self.a
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
62 # Messy dict.
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
63 self.d = {}
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
64 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
65
26930
32e4c7753416 Make sure PrettyPrinter methods that mirror the module-level
Fred Drake <fdrake@acm.org>
parents: 24957
diff changeset
66 pp = pprint.PrettyPrinter()
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
67
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
68 for icky in self.a, self.b, self.d, (self.d, self.d):
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
69 self.assertTrue(pprint.isrecursive(icky), "expected isrecursive")
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
70 self.assertFalse(pprint.isreadable(icky), "expected not isreadable")
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
71 self.assertTrue(pp.isrecursive(icky), "expected isrecursive")
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
72 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
73
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
74 # Break the cycles.
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
75 self.d.clear()
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
76 del self.a[:]
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
77 del self.b[:]
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
78
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
79 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
80 # module-level convenience functions
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
81 self.assertFalse(pprint.isrecursive(safe),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
82 "expected not isrecursive for %r" % (safe,))
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
83 self.assertTrue(pprint.isreadable(safe),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
84 "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
85 # PrettyPrinter methods
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
86 self.assertFalse(pp.isrecursive(safe),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
87 "expected not isrecursive for %r" % (safe,))
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
88 self.assertTrue(pp.isreadable(safe),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
89 "expected isreadable for %r" % (safe,))
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
90
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
91 def test_unreadable(self):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
92 # 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
93 pp = pprint.PrettyPrinter()
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
94 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
95 # module-level convenience functions
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
96 self.assertFalse(pprint.isrecursive(unreadable),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
97 "expected not isrecursive for %r" % (unreadable,))
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
98 self.assertFalse(pprint.isreadable(unreadable),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
99 "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
100 # PrettyPrinter methods
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
101 self.assertFalse(pp.isrecursive(unreadable),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
102 "expected not isrecursive for %r" % (unreadable,))
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
103 self.assertFalse(pp.isreadable(unreadable),
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
104 "expected not isreadable for %r" % (unreadable,))
17820
4bcf88e4abff SF bug[ #423781: pprint.isrecursive() broken.
Tim Peters <tim.peters@gmail.com>
parents:
diff changeset
105
17828
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
106 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
107 # 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
108 # 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
109 # 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
110 # 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
111 # 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
112 # 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
113 # 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
114 # 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
115 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
116 (), tuple2(), tuple3(),
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
117 [], list2(), list3(),
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
118 {}, dict2(), dict3(),
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
119 self.assertTrue, pprint,
42050
ca693f4fd05d Simplify various spots where: str() is called on something
Walter Dörwald <walter@livinglogic.de>
parents: 41642
diff changeset
120 -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
121 (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
122 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
123 [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
124 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
125 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
126 ):
26745053f840 pprint's workhorse _safe_repr() function took time quadratic in the # of
Tim Peters <tim.peters@gmail.com>
parents: 17827
diff changeset
127 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
128 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
129 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
130 got = f(simple)
58476
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
131 self.assertEqual(native, got,
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
132 "expected %s got %s from pprint.%s" %
c10ace5b76ce Merged revisions 77729 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 57340
diff changeset
133 (native, got, function))
17827
0b3da99824c7 Convert the pprint test to use PyUnit.
Fred Drake <fdrake@acm.org>
parents: 17820
diff changeset
134
21061
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
135 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
136 # 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
137 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
138 'RPM_cal2': 48059,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
139 'Speed_cal': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
140 '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
141 '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
142 '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
143 '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
144 exp = """\
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
145 {'RPM_cal': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
146 'RPM_cal2': 48059,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
147 'Speed_cal': 0,
1802a9edb4ee __format(): Applied SF patch #482003 by Skip to fix multiline dict
Barry Warsaw <barry@python.org>
parents: 20013
diff changeset
148 '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
149 '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
150 '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
151 '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
152 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
153 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
154
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
155 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
156 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
157 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
158 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
159
e3025fe70d8b Patch #750542: pprint now will pretty print subclasses of list, tuple
Walter Dörwald <walter@livinglogic.de>
parents: 26930
diff changeset
160 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
161 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
162 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
163 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
164
31085
a2f6c6a67f24 Add parameters indent, width and depth to pprint.pprint() and pprint.pformat()
Walter Dörwald <walter@livinglogic.de>
parents: 31084
diff changeset
165 # 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
166 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
167 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
168 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
169 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
170
48493
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
171 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
172 o1 = list(range(10))
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
173 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
174 o = [o1, o2]
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
175 expected = """\
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
176 [ [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
177 { 'first': 1,
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
178 'second': 2,
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
179 'third': 3}]"""
9ebd3f385575 Merged revisions 64446,64490,64495,64526,64567 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
180 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
181
38669
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
182 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
183 # 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
184 # 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
185 # 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
186 # '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
187 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
188 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
189 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
190 "[{'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
191
19fd6141940d Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn
Thomas Wouters <thomas@python.org>
parents: 31515
diff changeset
192 # 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
193 # 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
194 # 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
195 # 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
196 # 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
197 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
198 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
199
64583
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
200 def test_ordered_dict(self):
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
201 words = 'the quick brown fox jumped over a lazy dog'.split()
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
202 d = collections.OrderedDict(zip(words, itertools.count()))
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
203 self.assertEqual(pprint.pformat(d),
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
204 """\
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
205 {'the': 0,
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
206 'quick': 1,
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
207 'brown': 2,
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
208 'fox': 3,
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
209 'jumped': 4,
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
210 'over': 5,
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
211 'a': 6,
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
212 'lazy': 7,
9659e8c40079 Have pprint() respect the order in an OrderedDict.
Raymond Hettinger <python@rcn.com>
parents: 58476
diff changeset
213 'dog': 8}""")
22766
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
214 def test_subclassing(self):
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
215 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
216 '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
217 exp = """\
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
218 {'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
219 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
220 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
221
76485
6e5855854a2e Implement PEP 412: Key-sharing dictionaries (closes #13903)
Benjamin Peterson <benjamin@python.org>
parents: 64891
diff changeset
222 @unittest.expectedFailure
6e5855854a2e Implement PEP 412: Key-sharing dictionaries (closes #13903)
Benjamin Peterson <benjamin@python.org>
parents: 64891
diff changeset
223 #See http://bugs.python.org/issue13907
64891
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
224 @test.support.cpython_only
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
225 def test_set_reprs(self):
64891
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
226 # This test creates a complex arrangement of frozensets and
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
227 # compares the pretty-printed repr against a string hard-coded in
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
228 # the test. The hard-coded repr depends on the sort order of
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
229 # frozensets.
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
230 #
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
231 # However, as the docs point out: "Since sets only define
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
232 # partial ordering (subset relationships), the output of the
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
233 # list.sort() method is undefined for lists of sets."
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
234 #
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
235 # In a nutshell, the test assumes frozenset({0}) will always
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
236 # sort before frozenset({1}), but:
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
237 #
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
238 # >>> frozenset({0}) < frozenset({1})
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
239 # False
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
240 # >>> frozenset({1}) < frozenset({0})
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
241 # False
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
242 #
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
243 # Consequently, this test is fragile and
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
244 # implementation-dependent. Small changes to Python's sort
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
245 # algorithm cause the test to fail when it should pass.
76485
6e5855854a2e Implement PEP 412: Key-sharing dictionaries (closes #13903)
Benjamin Peterson <benjamin@python.org>
parents: 64891
diff changeset
246 # XXX Or changes to the dictionary implmentation...
64891
b3d0deaf50e5 Issue9131: Mark fragile test as CPython-specific
Daniel Stutzbach <daniel@stutzbachenterprises.com>
parents: 64583
diff changeset
247
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
248 self.assertEqual(pprint.pformat(set()), 'set()')
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
249 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
250 self.assertEqual(pprint.pformat(frozenset()), 'frozenset()')
76485
6e5855854a2e Implement PEP 412: Key-sharing dictionaries (closes #13903)
Benjamin Peterson <benjamin@python.org>
parents: 64891
diff changeset
251
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
252 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
253 cube_repr_tgt = """\
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
254 {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
255 frozenset({0}): frozenset({frozenset(),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
256 frozenset({0, 2}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
257 frozenset({0, 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
258 frozenset({1}): frozenset({frozenset(),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
259 frozenset({1, 2}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
260 frozenset({0, 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
261 frozenset({2}): frozenset({frozenset(),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
262 frozenset({1, 2}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
263 frozenset({0, 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
264 frozenset({1, 2}): frozenset({frozenset({2}),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
265 frozenset({1}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
266 frozenset({0, 1, 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
267 frozenset({0, 2}): frozenset({frozenset({2}),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
268 frozenset({0}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
269 frozenset({0, 1, 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
270 frozenset({0, 1}): frozenset({frozenset({0}),
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
271 frozenset({1}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
272 frozenset({0, 1, 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
273 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
274 frozenset({0, 2}),
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
275 frozenset({0, 1})})}"""
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
276 cube = test.test_set.cube(3)
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
277 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
278 cubo_repr_tgt = """\
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
279 {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
280 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
281 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
282 1,
45067
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({0}),
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 1})}),
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({0})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
289 frozenset({frozenset({2}),
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 2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
292 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
293 1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
294 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
295 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
296 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
297 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
298 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
299 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
300 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
301 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
302 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
303 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
304 frozenset({1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
305 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
306 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
307 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
308 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
309 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
310 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
311 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
312 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
313 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
314 frozenset({1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
315 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
316 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
317 1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
318 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
319 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
320 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
321 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
322 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
323 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
324 frozenset({1,
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({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
327 frozenset({0,
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(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
330 frozenset({2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
331 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
332 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
333 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
334 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
335 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
336 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
337 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
338 frozenset({1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
339 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
340 frozenset({2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
341 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
342 frozenset({0})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
343 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
344 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
345 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
346 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
347 frozenset({2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
348 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
349 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
350 1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
351 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
352 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
353 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
354 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
355 frozenset({0})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
356 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
357 frozenset({1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
358 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
359 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
360 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, 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
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 2}),
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 1})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
374 frozenset({frozenset({1}),
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 1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
377 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
378 frozenset({0})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
379 frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
380 1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
381 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
382 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
383 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
384 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
385 frozenset({0,
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({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
388 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
389 1})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
390 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
391 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
392 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
393 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
394 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
395 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
396 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
397 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
398 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
399 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
400 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
401 frozenset({frozenset(),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
402 frozenset({2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
403 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
404 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
405 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
406 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
407 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
408 frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
409 1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
410 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
411 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
412 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
413 frozenset({frozenset({0}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
414 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
415 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
416 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
417 frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
418 2})})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
419 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
420 2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
421 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
422 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
423 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
424 frozenset({frozenset({0,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
425 1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
426 frozenset({0,
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
427 1,
45067
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
428 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
429 frozenset({frozenset({2}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
430 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
431 2})}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
432 frozenset({frozenset({1}),
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
433 frozenset({1,
8930ff230ee9 Update pprint() to match the new repr style for frozensets
Raymond Hettinger <python@rcn.com>
parents: 44943
diff changeset
434 2})})})}"""
44943
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
435
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
436 cubo = test.test_set.linegraph(cube)
6547be11f443 Merged revisions 60245-60277 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42050
diff changeset
437 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
438
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
439 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
440 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
441 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
442 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
443 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
444 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
445 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
446
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
447 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
448 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
449 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
450 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
451 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
452 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
453
57340
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
454 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
455 # 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
456 n = 20
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
457 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
458 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
459 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
460 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
461
b31a33c36f08 Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types.
Raymond Hettinger <python@rcn.com>
parents: 55593
diff changeset
462 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
463 '{' + ','.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
464 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
465 '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
466 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
467 '{' + ','.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
468
78212
03cda5360dc6 Issues #10017 and #14998: Fix TypeError using pprint on dictionaries with unorderable key.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 64891
diff changeset
469 # Issue 10017: TypeError on user-defined types as dict keys.
03cda5360dc6 Issues #10017 and #14998: Fix TypeError using pprint on dictionaries with unorderable key.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 64891
diff changeset
470 self.assertEqual(pprint.pformat({Unorderable: 0, 1: 0}),
03cda5360dc6 Issues #10017 and #14998: Fix TypeError using pprint on dictionaries with unorderable key.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 64891
diff changeset
471 '{1: 0, ' + repr(Unorderable) +': 0}')
03cda5360dc6 Issues #10017 and #14998: Fix TypeError using pprint on dictionaries with unorderable key.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 64891
diff changeset
472
03cda5360dc6 Issues #10017 and #14998: Fix TypeError using pprint on dictionaries with unorderable key.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 64891
diff changeset
473 # Issue 14998: TypeError on tuples with NoneTypes as dict keys.
78214
29642f82bbcc Fix test_pprint random dict ordering.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 78212
diff changeset
474 keys = [(1,), (None,)]
29642f82bbcc Fix test_pprint random dict ordering.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 78212
diff changeset
475 self.assertEqual(pprint.pformat(dict.fromkeys(keys, 0)),
29642f82bbcc Fix test_pprint random dict ordering.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 78212
diff changeset
476 '{%r: 0, %r: 0}' % tuple(sorted(keys, key=id)))
78212
03cda5360dc6 Issues #10017 and #14998: Fix TypeError using pprint on dictionaries with unorderable key.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 64891
diff changeset
477
03cda5360dc6 Issues #10017 and #14998: Fix TypeError using pprint on dictionaries with unorderable key.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 64891
diff changeset
478
22766
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
479 class DottedPrettyPrinter(pprint.PrettyPrinter):
24957
dc66eb4cd17a Standardize behavior: no docstrings in test functions.
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
480
22766
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
481 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
482 if isinstance(object, str):
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
483 if ' ' in object:
31515
71a294bd7950 Replace backticks with repr() or "%r"
Walter Dörwald <walter@livinglogic.de>
parents: 31085
diff changeset
484 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
485 else:
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
486 return object, 0, 0
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
487 else:
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
488 return pprint.PrettyPrinter.format(
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
489 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
490
d26d8575ac62 Add an experimental mechanism to support extending the pprint formatting.
Fred Drake <fdrake@acm.org>
parents: 21061
diff changeset
491
20013
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19343
diff changeset
492 def test_main():
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 47080
diff changeset
493 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
494
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19343
diff changeset
495
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19343
diff changeset
496 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
497 test_main()