diff --git a/pandas/io/tests/test_html.py b/pandas/io/tests/test_html.py
index 9b0fb1cacfb65..71567fe2e599a 100644
--- a/pandas/io/tests/test_html.py
+++ b/pandas/io/tests/test_html.py
@@ -86,13 +86,14 @@ def test_bs4_version_fails():
class TestReadHtml(unittest.TestCase):
+ @classmethod
+ def setUpClass(cls):
+ _skip_if_none_of(('bs4', 'html5lib'))
+
def read_html(self, *args, **kwargs):
kwargs['flavor'] = kwargs.get('flavor', self.flavor)
return read_html(*args, **kwargs)
- def try_skip(self):
- _skip_if_none_of(('bs4', 'html5lib'))
-
def setup_data(self):
self.spam_data = os.path.join(DATA_PATH, 'spam.html')
self.banklist_data = os.path.join(DATA_PATH, 'banklist.html')
@@ -101,7 +102,6 @@ def setup_flavor(self):
self.flavor = 'bs4'
def setUp(self):
- self.try_skip()
self.setup_data()
self.setup_flavor()
@@ -569,32 +569,29 @@ def test_different_number_of_rows(self):
def test_parse_dates_list(self):
df = DataFrame({'date': date_range('1/1/2001', periods=10)})
expected = df.to_html()
- res = read_html(expected, parse_dates=[0], index_col=0)
+ res = self.read_html(expected, parse_dates=[0], index_col=0)
tm.assert_frame_equal(df, res[0])
def test_parse_dates_combine(self):
raw_dates = Series(date_range('1/1/2001', periods=10))
df = DataFrame({'date': raw_dates.map(lambda x: str(x.date())),
'time': raw_dates.map(lambda x: str(x.time()))})
- res = read_html(df.to_html(), parse_dates={'datetime': [1, 2]},
- index_col=1)
+ res = self.read_html(df.to_html(), parse_dates={'datetime': [1, 2]},
+ index_col=1)
newdf = DataFrame({'datetime': raw_dates})
tm.assert_frame_equal(newdf, res[0])
class TestReadHtmlLxml(unittest.TestCase):
- def setUp(self):
- self.try_skip()
+ @classmethod
+ def setUpClass(cls):
+ _skip_if_no('lxml')
def read_html(self, *args, **kwargs):
self.flavor = ['lxml']
- self.try_skip()
kwargs['flavor'] = kwargs.get('flavor', self.flavor)
return read_html(*args, **kwargs)
- def try_skip(self):
- _skip_if_no('lxml')
-
def test_data_fail(self):
from lxml.etree import XMLSyntaxError
spam_data = os.path.join(DATA_PATH, 'spam.html')
@@ -616,8 +613,22 @@ def test_works_on_valid_markup(self):
def test_fallback_success(self):
_skip_if_none_of(('bs4', 'html5lib'))
banklist_data = os.path.join(DATA_PATH, 'banklist.html')
- self.read_html(banklist_data, '.*Water.*', flavor=['lxml',
- 'html5lib'])
+ self.read_html(banklist_data, '.*Water.*', flavor=['lxml', 'html5lib'])
+
+ def test_parse_dates_list(self):
+ df = DataFrame({'date': date_range('1/1/2001', periods=10)})
+ expected = df.to_html()
+ res = self.read_html(expected, parse_dates=[0], index_col=0)
+ tm.assert_frame_equal(df, res[0])
+
+ def test_parse_dates_combine(self):
+ raw_dates = Series(date_range('1/1/2001', periods=10))
+ df = DataFrame({'date': raw_dates.map(lambda x: str(x.date())),
+ 'time': raw_dates.map(lambda x: str(x.time()))})
+ res = self.read_html(df.to_html(), parse_dates={'datetime': [1, 2]},
+ index_col=1)
+ newdf = DataFrame({'datetime': raw_dates})
+ tm.assert_frame_equal(newdf, res[0])
def test_invalid_flavor():