Skip to content

Commit f189263

Browse files
committed
Merge pull request #5151 from cpcloud/read-html-lxml-skips
TST/CI/BUG: fix borked call to read_html testing code
2 parents 265d4cf + c1831e7 commit f189263

File tree

1 file changed

+26
-15
lines changed

1 file changed

+26
-15
lines changed

pandas/io/tests/test_html.py

+26-15
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,14 @@ def test_bs4_version_fails():
8686

8787

8888
class TestReadHtml(unittest.TestCase):
89+
@classmethod
90+
def setUpClass(cls):
91+
_skip_if_none_of(('bs4', 'html5lib'))
92+
8993
def read_html(self, *args, **kwargs):
9094
kwargs['flavor'] = kwargs.get('flavor', self.flavor)
9195
return read_html(*args, **kwargs)
9296

93-
def try_skip(self):
94-
_skip_if_none_of(('bs4', 'html5lib'))
95-
9697
def setup_data(self):
9798
self.spam_data = os.path.join(DATA_PATH, 'spam.html')
9899
self.banklist_data = os.path.join(DATA_PATH, 'banklist.html')
@@ -101,7 +102,6 @@ def setup_flavor(self):
101102
self.flavor = 'bs4'
102103

103104
def setUp(self):
104-
self.try_skip()
105105
self.setup_data()
106106
self.setup_flavor()
107107

@@ -569,32 +569,29 @@ def test_different_number_of_rows(self):
569569
def test_parse_dates_list(self):
570570
df = DataFrame({'date': date_range('1/1/2001', periods=10)})
571571
expected = df.to_html()
572-
res = read_html(expected, parse_dates=[0], index_col=0)
572+
res = self.read_html(expected, parse_dates=[0], index_col=0)
573573
tm.assert_frame_equal(df, res[0])
574574

575575
def test_parse_dates_combine(self):
576576
raw_dates = Series(date_range('1/1/2001', periods=10))
577577
df = DataFrame({'date': raw_dates.map(lambda x: str(x.date())),
578578
'time': raw_dates.map(lambda x: str(x.time()))})
579-
res = read_html(df.to_html(), parse_dates={'datetime': [1, 2]},
580-
index_col=1)
579+
res = self.read_html(df.to_html(), parse_dates={'datetime': [1, 2]},
580+
index_col=1)
581581
newdf = DataFrame({'datetime': raw_dates})
582582
tm.assert_frame_equal(newdf, res[0])
583583

584584

585585
class TestReadHtmlLxml(unittest.TestCase):
586-
def setUp(self):
587-
self.try_skip()
586+
@classmethod
587+
def setUpClass(cls):
588+
_skip_if_no('lxml')
588589

589590
def read_html(self, *args, **kwargs):
590591
self.flavor = ['lxml']
591-
self.try_skip()
592592
kwargs['flavor'] = kwargs.get('flavor', self.flavor)
593593
return read_html(*args, **kwargs)
594594

595-
def try_skip(self):
596-
_skip_if_no('lxml')
597-
598595
def test_data_fail(self):
599596
from lxml.etree import XMLSyntaxError
600597
spam_data = os.path.join(DATA_PATH, 'spam.html')
@@ -616,8 +613,22 @@ def test_works_on_valid_markup(self):
616613
def test_fallback_success(self):
617614
_skip_if_none_of(('bs4', 'html5lib'))
618615
banklist_data = os.path.join(DATA_PATH, 'banklist.html')
619-
self.read_html(banklist_data, '.*Water.*', flavor=['lxml',
620-
'html5lib'])
616+
self.read_html(banklist_data, '.*Water.*', flavor=['lxml', 'html5lib'])
617+
618+
def test_parse_dates_list(self):
619+
df = DataFrame({'date': date_range('1/1/2001', periods=10)})
620+
expected = df.to_html()
621+
res = self.read_html(expected, parse_dates=[0], index_col=0)
622+
tm.assert_frame_equal(df, res[0])
623+
624+
def test_parse_dates_combine(self):
625+
raw_dates = Series(date_range('1/1/2001', periods=10))
626+
df = DataFrame({'date': raw_dates.map(lambda x: str(x.date())),
627+
'time': raw_dates.map(lambda x: str(x.time()))})
628+
res = self.read_html(df.to_html(), parse_dates={'datetime': [1, 2]},
629+
index_col=1)
630+
newdf = DataFrame({'datetime': raw_dates})
631+
tm.assert_frame_equal(newdf, res[0])
621632

622633

623634
def test_invalid_flavor():

0 commit comments

Comments
 (0)