| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import pytest
- from mako.ext.beaker_cache import has_beaker
- from mako.util import update_wrapper
- try:
- import babel.messages.extract as babel
- except ImportError:
- babel = None
- try:
- import lingua
- except ImportError:
- lingua = None
- try:
- import dogpile.cache # noqa
- except ImportError:
- has_dogpile_cache = False
- else:
- has_dogpile_cache = True
- requires_beaker = pytest.mark.skipif(
- not has_beaker, reason="Beaker is required for these tests."
- )
- requires_babel = pytest.mark.skipif(
- babel is None, reason="babel not installed: skipping babelplugin test"
- )
- requires_lingua = pytest.mark.skipif(
- lingua is None, reason="lingua not installed: skipping linguaplugin test"
- )
- requires_dogpile_cache = pytest.mark.skipif(
- not has_dogpile_cache,
- reason="dogpile.cache is required to run these tests",
- )
- def _pygments_version():
- try:
- import pygments
- version = pygments.__version__
- except:
- version = "0"
- return version
- requires_pygments_14 = pytest.mark.skipif(
- _pygments_version() < "1.4", reason="Requires pygments 1.4 or greater"
- )
- # def requires_pygments_14(fn):
- # return skip_if(
- # lambda: version < "1.4", "Requires pygments 1.4 or greater"
- # )(fn)
- def requires_no_pygments_exceptions(fn):
- def go(*arg, **kw):
- from mako import exceptions
- exceptions._install_fallback()
- try:
- return fn(*arg, **kw)
- finally:
- exceptions._install_highlighting()
- return update_wrapper(go, fn)
|