Issue #23776: Removed asserts from pprint.PrettyPrinter constructor.

This commit is contained in:
Serhiy Storchaka 2015-03-26 08:43:21 +02:00
parent e6bb7eb27b
commit f3fa308817
2 changed files with 24 additions and 8 deletions

View File

@ -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

View File

@ -1,13 +1,14 @@
# -*- coding: utf-8 -*-
import pprint
import test.support
import unittest
import test.test_set
import random
import collections
import io
import itertools
import pprint
import random
import test.support
import test.test_set
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()