mirror of
https://github.com/python/cpython.git
synced 2025-08-09 11:29:45 +00:00
[3.12] gh-114014: Update fractions.Fraction()
's rational parsing regex (GH-114015) (#114023)
Fix a bug in the regex used for parsing a string input to the `fractions.Fraction` constructor. That bug led to an inconsistent exception message being given for some inputs.
---------
(cherry picked from commit dd56b57483
)
Co-authored-by: Crowthebird <78076854+thatbirdguythatuknownot@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
parent
94b1d1fa38
commit
e08179216b
3 changed files with 35 additions and 10 deletions
|
@ -261,6 +261,30 @@ class FractionTest(unittest.TestCase):
|
|||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: '1.1e+1__1'",
|
||||
F, "1.1e+1__1")
|
||||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: '123.dd'",
|
||||
F, "123.dd")
|
||||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: '123.5_dd'",
|
||||
F, "123.5_dd")
|
||||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: 'dd.5'",
|
||||
F, "dd.5")
|
||||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: '7_dd'",
|
||||
F, "7_dd")
|
||||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: '1/dd'",
|
||||
F, "1/dd")
|
||||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: '1/123_dd'",
|
||||
F, "1/123_dd")
|
||||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: '789edd'",
|
||||
F, "789edd")
|
||||
self.assertRaisesMessage(
|
||||
ValueError, "Invalid literal for Fraction: '789e2_dd'",
|
||||
F, "789e2_dd")
|
||||
# Test catastrophic backtracking.
|
||||
val = "9"*50 + "_"
|
||||
self.assertRaisesMessage(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue