summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-03-26 06:43:21 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2015-03-26 06:43:21 (GMT)
commitf3fa308817a578c8809c70f6b24b1c489eeef803 (patch)
tree69098314e0b7896b62666b1a6e5fc81bb153846b /Lib
parente6bb7eb27b8b81ed74e5132628ca8e6415baf57e (diff)
downloadcpython-f3fa308817a578c8809c70f6b24b1c489eeef803.zip
cpython-f3fa308817a578c8809c70f6b24b1c489eeef803.tar.gz
cpython-f3fa308817a578c8809c70f6b24b1c489eeef803.tar.bz2
Issue #23776: Removed asserts from pprint.PrettyPrinter constructor.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/pprint.py9
-rw-r--r--Lib/test/test_pprint.py21
2 files changed, 23 insertions, 7 deletions
diff --git a/Lib/pprint.py b/Lib/pprint.py
index 9031a0b..fc5395e 100644
--- a/Lib/pprint.py
+++ b/Lib/pprint.py
@@ -124,9 +124,12 @@ class PrettyPrinter:
"""
indent = int(indent)
width = int(width)
- assert indent >= 0, "indent must be >= 0"
- assert depth is None or depth > 0, "depth must be > 0"
- assert width, "width must be != 0"
+ if indent < 0:
+ raise ValueError('indent must be >= 0')
+ if depth is not None and depth <= 0:
+ raise ValueError('depth must be > 0')
+ if not width:
+ raise ValueError('width must be != 0')
self._depth = depth
self._indent_per_level = indent
self._width = width
diff --git a/Lib/test/test_pprint.py b/Lib/test/test_pprint.py
index 3a798d9..01e19fe 100644
--- a/Lib/test/test_pprint.py
+++ b/Lib/test/test_pprint.py
@@ -1,13 +1,14 @@
# -*- coding: utf-8 -*-
+import collections
+import io
+import itertools
import pprint
+import random
import test.support
-import unittest
import test.test_set
-import random
-import collections
-import itertools
import types
+import unittest
# list, tuple and dict subclasses that do or don't overwrite __repr__
class list2(list):
@@ -56,6 +57,18 @@ class QueryTestCase(unittest.TestCase):
self.b = list(range(200))
self.a[-12] = self.b
+ def test_init(self):
+ pp = pprint.PrettyPrinter()
+ pp = pprint.PrettyPrinter(indent=4, width=40, depth=5,
+ stream=io.StringIO(), compact=True)
+ pp = pprint.PrettyPrinter(4, 40, 5, io.StringIO())
+ with self.assertRaises(TypeError):
+ pp = pprint.PrettyPrinter(4, 40, 5, io.StringIO(), True)
+ self.assertRaises(ValueError, pprint.PrettyPrinter, indent=-1)
+ self.assertRaises(ValueError, pprint.PrettyPrinter, depth=0)
+ self.assertRaises(ValueError, pprint.PrettyPrinter, depth=-1)
+ self.assertRaises(ValueError, pprint.PrettyPrinter, width=0)
+
def test_basic(self):
# Verify .isrecursive() and .isreadable() w/o recursion
pp = pprint.PrettyPrinter()