From: Victor Stinner Date: Wed, 5 Jan 2011 03:33:28 +0000 (+0000) Subject: test_bytes: test PyBytes_FromFormat() using ctypes X-Git-Tag: v3.2rc1~184 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=29e762c94172a4e0b2855f188399f8f05487920e;p=thirdparty%2FPython%2Fcpython.git test_bytes: test PyBytes_FromFormat() using ctypes --- diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py index 24ee487019c3..e5c7ccd4ff0a 100644 --- a/Lib/test/test_bytes.py +++ b/Lib/test/test_bytes.py @@ -497,6 +497,27 @@ class BytesTest(BaseBytesTest): return None self.assertRaises(TypeError, bytes, A()) + # Test PyBytes_FromFormat() + def test_from_format(self): + test.support.import_module('ctypes') + from ctypes import pythonapi, py_object, c_int, c_char_p + PyBytes_FromFormat = pythonapi.PyBytes_FromFormat + PyBytes_FromFormat.restype = py_object + + self.assertEqual(PyBytes_FromFormat(b'format'), + b'format') + + self.assertEqual(PyBytes_FromFormat(b'%'), b'%') + self.assertEqual(PyBytes_FromFormat(b'%%'), b'%') + self.assertEqual(PyBytes_FromFormat(b'%%s'), b'%s') + self.assertEqual(PyBytes_FromFormat(b'[%%]'), b'[%]') + self.assertEqual(PyBytes_FromFormat(b'%%%c', c_int(ord('_'))), b'%_') + + self.assertEqual(PyBytes_FromFormat(b'c:%c', c_int(255)), + b'c:\xff') + self.assertEqual(PyBytes_FromFormat(b's:%s', c_char_p(b'cstr')), + b's:cstr') + class ByteArrayTest(BaseBytesTest): type2test = bytearray