Author: cito
Date: Tue Jan 26 12:50:41 2016
New Revision: 785

Log:
Make all tests run again with Python 3

Modified:
   trunk/pg.py
   trunk/pgmodule.c
   trunk/tests/test_classic_functions.py

Modified: trunk/pg.py
==============================================================================
--- trunk/pg.py Tue Jan 26 12:17:23 2016        (r784)
+++ trunk/pg.py Tue Jan 26 12:50:41 2016        (r785)
@@ -538,10 +538,11 @@
     def _prepare_bytea_array(self, d):
         """Prepare a bytea array parameter."""
         if isinstance(d, list):
-            return '{%s}' % ','.join(self._prepare_bytea_array(v) for v in d)
+            return b'{' + b','.join(
+                self._prepare_bytea_array(v) for v in d) + b'}'
         if d is None:
-            return 'null'
-        return self.escape_bytea(d).replace('\\', '\\\\')
+            return b'null'
+        return self.escape_bytea(d).replace(b'\\', b'\\\\')
 
     def _prepare_json_array(self, d):
         """Prepare a json array parameter."""

Modified: trunk/pgmodule.c
==============================================================================
--- trunk/pgmodule.c    Tue Jan 26 12:17:23 2016        (r784)
+++ trunk/pgmodule.c    Tue Jan 26 12:50:41 2016        (r785)
@@ -779,9 +779,8 @@
                                        element = encoding == pg_encoding_ascii 
? NULL :
                                                get_decoded_string(estr, esize, 
encoding);
                                        if (!element) /* no decoding necessary 
or possible */
-#else
-                                       element = 
PyBytes_FromStringAndSize(estr, esize);
 #endif
+                                       element = 
PyBytes_FromStringAndSize(estr, esize);
                                        if (element && cast)
                                        {
                                                element = 
PyObject_CallFunctionObjArgs(

Modified: trunk/tests/test_classic_functions.py
==============================================================================
--- trunk/tests/test_classic_functions.py       Tue Jan 26 12:17:23 2016        
(r784)
+++ trunk/tests/test_classic_functions.py       Tue Jan 26 12:50:41 2016        
(r785)
@@ -220,9 +220,9 @@
         self.assertRaises(TypeError, f, '{}', None, ',;')
         self.assertEqual(f('{}'), [])
         self.assertEqual(f('{}', None), [])
-        self.assertEqual(f('{}', None, ';'), [])
+        self.assertEqual(f('{}', None, b';'), [])
         self.assertEqual(f('{}', str), [])
-        self.assertEqual(f('{}', str, ';'), [])
+        self.assertEqual(f('{}', str, b';'), [])
 
     def testParserSimple(self):
         r = pg.cast_array('{a,b,c}')
@@ -292,10 +292,10 @@
     def testParserDelim(self):
         f = pg.cast_array
         self.assertEqual(f('{1,2}'), ['1', '2'])
-        self.assertEqual(f('{1,2}', delim=','), ['1', '2'])
+        self.assertEqual(f('{1,2}', delim=b','), ['1', '2'])
         self.assertEqual(f('{1;2}'), ['1;2'])
-        self.assertEqual(f('{1;2}', delim=';'), ['1', '2'])
-        self.assertEqual(f('{1,2}', delim=';'), ['1,2'])
+        self.assertEqual(f('{1;2}', delim=b';'), ['1', '2'])
+        self.assertEqual(f('{1,2}', delim=b';'), ['1,2'])
 
     def testParserWithData(self):
         f = pg.cast_array
@@ -320,7 +320,7 @@
         f = pg.cast_array
 
         def replace_comma(value):
-            if isinstance(value, basestring):
+            if isinstance(value, str):
                 return value.replace(',', ';')
             elif isinstance(value, list):
                 return [replace_comma(v) for v in value]
@@ -333,7 +333,7 @@
                 self.assertRaises(ValueError, f, expression, cast)
             else:
                 expected = replace_comma(expected)
-                self.assertEqual(f(expression, cast, ';'), expected)
+                self.assertEqual(f(expression, cast, b';'), expected)
 
 
 class TestEscapeFunctions(unittest.TestCase):
_______________________________________________
PyGreSQL mailing list
[email protected]
https://mail.vex.net/mailman/listinfo.cgi/pygresql

Reply via email to