33 lines
938 B
Python
33 lines
938 B
Python
import os
|
|
import sys
|
|
import pytest
|
|
|
|
import matplotlib.backends.backend_webagg_core
|
|
from matplotlib.testing import subprocess_run_for_testing
|
|
|
|
|
|
@pytest.mark.parametrize("backend", ["webagg", "nbagg"])
|
|
def test_webagg_fallback(backend):
|
|
pytest.importorskip("tornado")
|
|
if backend == "nbagg":
|
|
pytest.importorskip("IPython")
|
|
env = dict(os.environ)
|
|
if sys.platform != "win32":
|
|
env["DISPLAY"] = ""
|
|
|
|
env["MPLBACKEND"] = backend
|
|
|
|
test_code = (
|
|
"import os;"
|
|
+ f"assert os.environ['MPLBACKEND'] == '{backend}';"
|
|
+ "import matplotlib.pyplot as plt; "
|
|
+ "print(plt.get_backend());"
|
|
f"assert '{backend}' == plt.get_backend().lower();"
|
|
)
|
|
subprocess_run_for_testing([sys.executable, "-c", test_code], env=env, check=True)
|
|
|
|
|
|
def test_webagg_core_no_toolbar():
|
|
fm = matplotlib.backends.backend_webagg_core.FigureManagerWebAgg
|
|
assert fm._toolbar2_class is None
|