@@ -1122,19 +1122,22 @@ class mydialect(csv.Dialect):
11221122 with self .assertRaises (csv .Error ) as cm :
11231123 mydialect ()
11241124 self .assertEqual (str (cm .exception ),
1125- '"quotechar" must be a 1-character string' )
1125+ '"quotechar" must be a unicode character or None, '
1126+ 'not a string of length 0' )
11261127
11271128 mydialect .quotechar = "''"
11281129 with self .assertRaises (csv .Error ) as cm :
11291130 mydialect ()
11301131 self .assertEqual (str (cm .exception ),
1131- '"quotechar" must be a 1-character string' )
1132+ '"quotechar" must be a unicode character or None, '
1133+ 'not a string of length 2' )
11321134
11331135 mydialect .quotechar = 4
11341136 with self .assertRaises (csv .Error ) as cm :
11351137 mydialect ()
11361138 self .assertEqual (str (cm .exception ),
1137- '"quotechar" must be string or None, not int' )
1139+ '"quotechar" must be a unicode character or None, '
1140+ 'not int' )
11381141
11391142 def test_delimiter (self ):
11401143 class mydialect (csv .Dialect ):
@@ -1151,31 +1154,32 @@ class mydialect(csv.Dialect):
11511154 with self .assertRaises (csv .Error ) as cm :
11521155 mydialect ()
11531156 self .assertEqual (str (cm .exception ),
1154- '"delimiter" must be a 1-character string' )
1157+ '"delimiter" must be a unicode character, '
1158+ 'not a string of length 3' )
11551159
11561160 mydialect .delimiter = ""
11571161 with self .assertRaises (csv .Error ) as cm :
11581162 mydialect ()
11591163 self .assertEqual (str (cm .exception ),
1160- '"delimiter" must be a 1- character string' )
1164+ '"delimiter" must be a unicode character, not a string of length 0 ' )
11611165
11621166 mydialect .delimiter = b","
11631167 with self .assertRaises (csv .Error ) as cm :
11641168 mydialect ()
11651169 self .assertEqual (str (cm .exception ),
1166- '"delimiter" must be string , not bytes' )
1170+ '"delimiter" must be a unicode character , not bytes' )
11671171
11681172 mydialect .delimiter = 4
11691173 with self .assertRaises (csv .Error ) as cm :
11701174 mydialect ()
11711175 self .assertEqual (str (cm .exception ),
1172- '"delimiter" must be string , not int' )
1176+ '"delimiter" must be a unicode character , not int' )
11731177
11741178 mydialect .delimiter = None
11751179 with self .assertRaises (csv .Error ) as cm :
11761180 mydialect ()
11771181 self .assertEqual (str (cm .exception ),
1178- '"delimiter" must be string , not NoneType' )
1182+ '"delimiter" must be a unicode character , not NoneType' )
11791183
11801184 def test_escapechar (self ):
11811185 class mydialect (csv .Dialect ):
@@ -1189,20 +1193,32 @@ class mydialect(csv.Dialect):
11891193 self .assertEqual (d .escapechar , "\\ " )
11901194
11911195 mydialect .escapechar = ""
1192- with self .assertRaisesRegex (csv .Error , '"escapechar" must be a 1-character string' ) :
1196+ with self .assertRaises (csv .Error ) as cm :
11931197 mydialect ()
1198+ self .assertEqual (str (cm .exception ),
1199+ '"escapechar" must be a unicode character or None, '
1200+ 'not a string of length 0' )
11941201
11951202 mydialect .escapechar = "**"
1196- with self .assertRaisesRegex (csv .Error , '"escapechar" must be a 1-character string' ) :
1203+ with self .assertRaises (csv .Error ) as cm :
11971204 mydialect ()
1205+ self .assertEqual (str (cm .exception ),
1206+ '"escapechar" must be a unicode character or None, '
1207+ 'not a string of length 2' )
11981208
11991209 mydialect .escapechar = b"*"
1200- with self .assertRaisesRegex (csv .Error , '"escapechar" must be string or None, not bytes' ) :
1210+ with self .assertRaises (csv .Error ) as cm :
12011211 mydialect ()
1212+ self .assertEqual (str (cm .exception ),
1213+ '"escapechar" must be a unicode character or None, '
1214+ 'not bytes' )
12021215
12031216 mydialect .escapechar = 4
1204- with self .assertRaisesRegex (csv .Error , '"escapechar" must be string or None, not int' ) :
1217+ with self .assertRaises (csv .Error ) as cm :
12051218 mydialect ()
1219+ self .assertEqual (str (cm .exception ),
1220+ '"escapechar" must be a unicode character or None, '
1221+ 'not int' )
12061222
12071223 def test_lineterminator (self ):
12081224 class mydialect (csv .Dialect ):
@@ -1223,7 +1239,13 @@ class mydialect(csv.Dialect):
12231239 with self .assertRaises (csv .Error ) as cm :
12241240 mydialect ()
12251241 self .assertEqual (str (cm .exception ),
1226- '"lineterminator" must be a string' )
1242+ '"lineterminator" must be a string, not int' )
1243+
1244+ mydialect .lineterminator = None
1245+ with self .assertRaises (csv .Error ) as cm :
1246+ mydialect ()
1247+ self .assertEqual (str (cm .exception ),
1248+ '"lineterminator" must be a string, not NoneType' )
12271249
12281250 def test_invalid_chars (self ):
12291251 def create_invalid (field_name , value , ** kwargs ):
0 commit comments