@@ -146,32 +146,41 @@ def readalllines(input, keepends=True, size=None):
146146 self .assertEqual (readalllines (s , True , 10 ), sexpected )
147147 self .assertEqual (readalllines (s , False , 10 ), sexpectednoends )
148148
149+ lineends = ("\n " , "\r \n " , "\r " , "\u2028 " )
149150 # Test long lines (multiple calls to read() in readline())
150151 vw = []
151152 vwo = []
152- for (i , lineend ) in enumerate (" \n \r \n \r \u2028 " . split () ):
153- vw .append ((i * 200 )* "\304 2 " + lineend )
154- vwo .append ((i * 200 )* "\304 2 " )
155- self .assertEqual (readalllines ("" .join (vw ), True ), "" .join (vw ))
156- self .assertEqual (readalllines ("" .join (vw ), False )," " .join (vwo ))
153+ for (i , lineend ) in enumerate (lineends ):
154+ vw .append ((i * 200 + 200 )* "\u3042 " + lineend )
155+ vwo .append ((i * 200 + 200 )* "\u3042 " )
156+ self .assertEqual (readalllines ("" .join (vw ), True ), "| " .join (vw ))
157+ self .assertEqual (readalllines ("" .join (vw ), False ), "| " .join (vwo ))
157158
158159 # Test lines where the first read might end with \r, so the
159160 # reader has to look ahead whether this is a lone \r or a \r\n
160161 for size in range (80 ):
161- for lineend in " \n \r \n \r \u2028 " . split () :
162+ for lineend in lineends :
162163 s = 10 * (size * "a" + lineend + "xxx\n " )
163164 reader = getreader (s )
164165 for i in range (10 ):
165166 self .assertEqual (
166167 reader .readline (keepends = True ),
167168 size * "a" + lineend ,
168169 )
170+ self .assertEqual (
171+ reader .readline (keepends = True ),
172+ "xxx\n " ,
173+ )
169174 reader = getreader (s )
170175 for i in range (10 ):
171176 self .assertEqual (
172177 reader .readline (keepends = False ),
173178 size * "a" ,
174179 )
180+ self .assertEqual (
181+ reader .readline (keepends = False ),
182+ "xxx" ,
183+ )
175184
176185 def test_mixed_readline_and_read (self ):
177186 lines = ["Humpty Dumpty sat on a wall,\n " ,
0 commit comments