Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5b4fab1

Browse files
Issue #20520: Fixed readline test in test_codecs.
1 parent 22d415c commit 5b4fab1

1 file changed

Lines changed: 15 additions & 6 deletions

File tree

Lib/test/test_codecs.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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)*"\3042" + lineend)
154-
vwo.append((i*200)*"\3042")
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

Comments
 (0)