mirror of https://github.com/python/cpython.git
gh-94808: Improve coverage of _PyBytes_FormatEx (GH-95895)
There were two specific areas not covered:
- %(name) syntax
- %*s syntax
Automerge-Triggered-By: GH:iritkatriel
(cherry picked from commit dde15f5879
)
Co-authored-by: Michael Droettboom <mdboom@gmail.com>
This commit is contained in:
parent
82284337a4
commit
295f510f5a
|
@ -715,6 +715,24 @@ def test_mod(self):
|
|||
self.assertEqual(b, b'hello,\x00world!')
|
||||
self.assertIs(type(b), self.type2test)
|
||||
|
||||
def check(fmt, vals, result):
|
||||
b = self.type2test(fmt)
|
||||
b = b % vals
|
||||
self.assertEqual(b, result)
|
||||
self.assertIs(type(b), self.type2test)
|
||||
|
||||
# A set of tests adapted from test_unicode:UnicodeTest.test_formatting
|
||||
check(b'...%(foo)b...', {b'foo':b"abc"}, b'...abc...')
|
||||
check(b'...%(f(o)o)b...', {b'f(o)o':b"abc", b'foo':b'bar'}, b'...abc...')
|
||||
check(b'...%(foo)b...', {b'foo':b"abc",b'def':123}, b'...abc...')
|
||||
check(b'%*b', (5, b'abc',), b' abc')
|
||||
check(b'%*b', (-5, b'abc',), b'abc ')
|
||||
check(b'%*.*b', (5, 2, b'abc',), b' ab')
|
||||
check(b'%*.*b', (5, 3, b'abc',), b' abc')
|
||||
check(b'%i %*.*b', (10, 5, 3, b'abc',), b'10 abc')
|
||||
check(b'%i%b %*.*b', (10, b'3', 5, 3, b'abc',), b'103 abc')
|
||||
check(b'%c', b'a', b'a')
|
||||
|
||||
def test_imod(self):
|
||||
b = self.type2test(b'hello, %b!')
|
||||
orig = b
|
||||
|
|
Loading…
Reference in New Issue