c_char_p.from_param accepts bytes. Fix test_parameters.

This commit is contained in:
Thomas Heller 2007-07-12 19:33:24 +00:00
parent 7a76e8f67c
commit 3d79dd9edf
2 changed files with 4 additions and 4 deletions

View File

@ -54,11 +54,11 @@ class SimpleTypesTestCase(unittest.TestCase):
# c_char_p.from_param on a Python String packs the string # c_char_p.from_param on a Python String packs the string
# into a cparam object # into a cparam object
s = "123" s = b"123"
self.failUnless(c_char_p.from_param(s)._obj is s) self.failUnless(c_char_p.from_param(s)._obj is s)
# new in 0.9.1: convert (encode) unicode to ascii # new in 0.9.1: convert (encode) unicode to ascii
self.failUnlessEqual(c_char_p.from_param("123")._obj, "123") self.failUnlessEqual(c_char_p.from_param("123")._obj, b"123")
self.assertRaises(UnicodeEncodeError, c_char_p.from_param, "123\377") self.assertRaises(UnicodeEncodeError, c_char_p.from_param, "123\377")
self.assertRaises(TypeError, c_char_p.from_param, 42) self.assertRaises(TypeError, c_char_p.from_param, 42)
@ -82,7 +82,7 @@ class SimpleTypesTestCase(unittest.TestCase):
# new in 0.9.1: convert (decode) ascii to unicode # new in 0.9.1: convert (decode) ascii to unicode
self.failUnlessEqual(c_wchar_p.from_param("123")._obj, "123") self.failUnlessEqual(c_wchar_p.from_param("123")._obj, "123")
self.assertRaises(UnicodeDecodeError, c_wchar_p.from_param, "123\377") self.assertRaises(UnicodeDecodeError, c_wchar_p.from_param, b"123\377")
pa = c_wchar_p.from_param(c_wchar_p("123")) pa = c_wchar_p.from_param(c_wchar_p("123"))
self.failUnlessEqual(type(pa), c_wchar_p) self.failUnlessEqual(type(pa), c_wchar_p)

View File

@ -1183,7 +1183,7 @@ c_char_p_from_param(PyObject *type, PyObject *value)
Py_INCREF(Py_None); Py_INCREF(Py_None);
return Py_None; return Py_None;
} }
if (PyString_Check(value) || PyUnicode_Check(value)) { if (PyBytes_Check(value) || PyUnicode_Check(value)) {
PyCArgObject *parg; PyCArgObject *parg;
struct fielddesc *fd = getentry("z"); struct fielddesc *fd = getentry("z");