mirror of https://github.com/python/cpython
GH-124321: Fix argparse negative number parsing to capture -.5(GH-124322)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
parent
2f6d4109b8
commit
dc48312717
|
@ -1360,7 +1360,7 @@ class _ActionsContainer(object):
|
|||
self._defaults = {}
|
||||
|
||||
# determines whether an "option" looks like a negative number
|
||||
self._negative_number_matcher = _re.compile(r'^-\d[\d_]*(\.\d[\d_]*)?$')
|
||||
self._negative_number_matcher = _re.compile(r'^-(?:\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)$')
|
||||
|
||||
# whether or not there are any optionals that look like negative
|
||||
# numbers -- uses a list so it can be shared and edited
|
||||
|
|
|
@ -2111,6 +2111,8 @@ class TestNegativeNumber(ParserTestCase):
|
|||
('--int -1_000_000 --float -1_000_000.0', NS(int=-1000000, float=-1000000.0)),
|
||||
('--float -1_000.0', NS(int=None, float=-1000.0)),
|
||||
('--float -1_000_000.0_0', NS(int=None, float=-1000000.0)),
|
||||
('--float -.5', NS(int=None, float=-0.5)),
|
||||
('--float -.5_000', NS(int=None, float=-0.5)),
|
||||
]
|
||||
|
||||
class TestInvalidAction(TestCase):
|
||||
|
|
Loading…
Reference in New Issue