We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 12a48cf commit eb9d525Copy full SHA for eb9d525
pandas/tests/io/test_html.py
@@ -991,3 +991,29 @@ def seekable(self):
991
match='passed a non-rewindable file object'):
992
read_html(bad)
993
994
+
995
+def test_parse_failure_rewinds():
996
+ # Issue #17975
997
+ _skip_if_no('lxml')
998
999
+ class MockFile(object):
1000
+ def __init__(self, data):
1001
+ self.data = data
1002
+ self.at_end = False
1003
1004
+ def read(self, size=None):
1005
+ data = '' if self.at_end else self.data
1006
+ self.at_end = True
1007
+ return data
1008
1009
+ def seek(self, offset):
1010
1011
1012
+ def seekable(self):
1013
+ return True
1014
1015
+ good = MockFile('<table><tr><td>spam<br />eggs</td></tr></table>')
1016
+ bad = MockFile('<table><tr><td>spam<foobr />eggs</td></tr></table>')
1017
1018
+ assert read_html(good)
1019
+ assert read_html(bad)
0 commit comments