Commit 3d79dd9e authored by Thomas Heller's avatar Thomas Heller

c_char_p.from_param accepts bytes. Fix test_parameters.

parent 7a76e8f6
...@@ -54,11 +54,11 @@ class SimpleTypesTestCase(unittest.TestCase): ...@@ -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): ...@@ -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)
......
...@@ -1183,7 +1183,7 @@ c_char_p_from_param(PyObject *type, PyObject *value) ...@@ -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");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment