[Python-checkins] gh-94808: Improve coverage of _PyBytes_FormatEx (GH-95895)

miss-islington webhook-mailer at python.org
Wed Sep 7 07:52:06 EDT 2022


https://github.com/python/cpython/commit/dde15f5879c3576db42ee4366fb684747c31459f
commit: dde15f5879c3576db42ee4366fb684747c31459f
branch: main
author: Michael Droettboom <mdboom at gmail.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022年09月07日T04:51:50-07:00
summary:
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
files:
M Lib/test/test_bytes.py
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index 521e391b8d5..53ba1ad6f59 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -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


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /