diff --git a/pygal/test/__init__.py b/pygal/test/__init__.py index da94e4a..717464d 100644 --- a/pygal/test/__init__.py +++ b/pygal/test/__init__.py @@ -33,18 +33,6 @@ def get_data(i): [(3, 2), (2, 1), (1, 1)]][i] -def pytest_generate_tests(metafunc): - if "Chart" in metafunc.funcargnames: - metafunc.parametrize("Chart", pygal.CHARTS) - if "datas" in metafunc.funcargnames: - metafunc.parametrize( - "datas", - [ - [("Serie %d" % i, get_data(i)) for i in range(s)] - for s in (5, 1, 0) - ]) - - def adapt(chart, data): if isinstance(chart, pygal.DateY): # Convert to a credible datetime diff --git a/pygal/test/conftest.py b/pygal/test/conftest.py new file mode 100644 index 0000000..b73dab5 --- /dev/null +++ b/pygal/test/conftest.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# This file is part of pygal +# +# A python svg graph plotting library +# Copyright © 2012-2014 Kozea +# +# This library is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# This library is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with pygal. If not, see . + +import pytest +import pygal +from pygal.etree import etree +from . import get_data + + +@pytest.fixture +def etreefx(request): + if request.param == 'etree': + etree.to_etree() + if request.param == 'lxml': + etree.to_lxml() + + +def pytest_generate_tests(metafunc): + if etree._lxml_etree: + metafunc.fixturenames.append('etreefx') + metafunc.parametrize('etreefx', ['lxml', 'etree'], indirect=True) + + if "Chart" in metafunc.funcargnames: + metafunc.parametrize("Chart", pygal.CHARTS) + if "datas" in metafunc.funcargnames: + metafunc.parametrize( + "datas", + [ + [("Serie %d" % i, get_data(i)) for i in range(s)] + for s in (5, 1, 0) + ]) diff --git a/pygal/test/test_config.py b/pygal/test/test_config.py index 00b4285..ed71224 100644 --- a/pygal/test/test_config.py +++ b/pygal/test/test_config.py @@ -24,7 +24,6 @@ from pygal import ( FrenchMap_Regions, FrenchMap_Departments) from pygal._compat import u from pygal.test.utils import texts -from pygal.test import pytest_generate_tests from tempfile import NamedTemporaryFile diff --git a/pygal/test/test_graph.py b/pygal/test/test_graph.py index cdc5ad3..f326f03 100644 --- a/pygal/test/test_graph.py +++ b/pygal/test/test_graph.py @@ -26,7 +26,7 @@ from pygal import i18n from pygal.graph.frenchmap import DEPARTMENTS, REGIONS from pygal.util import cut from pygal._compat import u -from pygal.test import pytest_generate_tests, make_data +from pygal.test import make_data try: import cairosvg diff --git a/pygal/test/test_interpolate.py b/pygal/test/test_interpolate.py index 54b5ac1..b631512 100644 --- a/pygal/test/test_interpolate.py +++ b/pygal/test/test_interpolate.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with pygal. If not, see . -from pygal.test import pytest_generate_tests, make_data +from pygal.test import make_data def test_cubic(Chart, datas): diff --git a/pygal/test/test_serie_config.py b/pygal/test/test_serie_config.py index f2f0969..ad65204 100644 --- a/pygal/test/test_serie_config.py +++ b/pygal/test/test_serie_config.py @@ -17,7 +17,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with pygal. If not, see . -from pygal.test import pytest_generate_tests from pygal import Line diff --git a/pygal/test/test_view.py b/pygal/test/test_view.py index bf49e59..7499b51 100644 --- a/pygal/test/test_view.py +++ b/pygal/test/test_view.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with pygal. If not, see . -from pygal.test import pytest_generate_tests, make_data +from pygal.test import make_data def test_all_logarithmic(Chart): diff --git a/tox.ini b/tox.ini index 665bc2f..7e76b0d 100644 --- a/tox.ini +++ b/tox.ini @@ -6,6 +6,7 @@ sitepackages=True deps = pytest pytest-cov + lxml pyquery cairosvg