From a280b7c47586bebf4e1baff6ec604c4713ef1097 Mon Sep 17 00:00:00 2001 From: Allan Haldane Date: Sat, 21 Apr 2018 15:09:30 -0400 Subject: BUG: 'style' arg to array2string broken in legacy mode Fixes #10934 --- numpy/core/arrayprint.py | 3 +++ numpy/core/tests/test_arrayprint.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/numpy/core/arrayprint.py b/numpy/core/arrayprint.py index ad0d05c42..4f29d7565 100644 --- a/numpy/core/arrayprint.py +++ b/numpy/core/arrayprint.py @@ -612,6 +612,9 @@ def array2string(a, max_line_width=None, precision=None, options.update(overrides) if options['legacy'] == '1.13': + if style is np._NoValue: + style = repr + if a.shape == () and not a.dtype.names: return style(a.item()) elif style is not np._NoValue: diff --git a/numpy/core/tests/test_arrayprint.py b/numpy/core/tests/test_arrayprint.py index 050e6f296..40a99e169 100644 --- a/numpy/core/tests/test_arrayprint.py +++ b/numpy/core/tests/test_arrayprint.py @@ -488,6 +488,8 @@ class TestPrintOptions(object): np.array(1.), style=repr) # but not in legacy mode np.array2string(np.array(1.), style=repr, legacy='1.13') + # gh-10934 style was broken in legacy mode, check it works + np.array2string(np.array(1.), legacy='1.13') def test_float_spacing(self): x = np.array([1., 2., 3.]) -- cgit v1.2.1