@@ -98,16 +98,14 @@ def CheckCustomFactory(self):
9898
9999 def CheckSqliteRowIndex (self ):
100100 self .con .row_factory = sqlite .Row
101- row = self .con .execute ("select 1 as a , 2 as b" ).fetchone ()
101+ row = self .con .execute ("select 1 as a_1 , 2 as b" ).fetchone ()
102102 self .assertIsInstance (row , sqlite .Row )
103103
104- col1 , col2 = row ["a" ], row ["b" ]
105- self .assertEqual (col1 , 1 , "by name: wrong result for column 'a'" )
106- self .assertEqual (col2 , 2 , "by name: wrong result for column 'a'" )
104+ self .assertEqual (row ["a_1" ], 1 , "by name: wrong result for column 'a_1'" )
105+ self .assertEqual (row ["b" ], 2 , "by name: wrong result for column 'b'" )
107106
108- col1 , col2 = row ["A" ], row ["B" ]
109- self .assertEqual (col1 , 1 , "by name: wrong result for column 'A'" )
110- self .assertEqual (col2 , 2 , "by name: wrong result for column 'B'" )
107+ self .assertEqual (row ["A_1" ], 1 , "by name: wrong result for column 'A_1'" )
108+ self .assertEqual (row ["B" ], 2 , "by name: wrong result for column 'B'" )
111109
112110 self .assertEqual (row [0 ], 1 , "by index: wrong result for column 0" )
113111 self .assertEqual (row [1 ], 2 , "by index: wrong result for column 1" )
@@ -116,13 +114,26 @@ def CheckSqliteRowIndex(self):
116114
117115 with self .assertRaises (IndexError ):
118116 row ['c' ]
117+ with self .assertRaises (IndexError ):
118+ row ['a_\x11 ' ]
119+ with self .assertRaises (IndexError ):
120+ row ['a\x7f 1' ]
119121 with self .assertRaises (IndexError ):
120122 row [2 ]
121123 with self .assertRaises (IndexError ):
122124 row [- 3 ]
123125 with self .assertRaises (IndexError ):
124126 row [2 ** 1000 ]
125127
128+ def CheckSqliteRowIndexUnicode (self ):
129+ self .con .row_factory = sqlite .Row
130+ row = self .con .execute ("select 1 as \xff " ).fetchone ()
131+ self .assertEqual (row ["\xff " ], 1 )
132+ with self .assertRaises (IndexError ):
133+ row ['\u0178 ' ]
134+ with self .assertRaises (IndexError ):
135+ row ['\xdf ' ]
136+
126137 def CheckSqliteRowSlice (self ):
127138 # A sqlite.Row can be sliced like a list.
128139 self .con .row_factory = sqlite .Row
0 commit comments