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
|