Initial commit

This commit is contained in:
kdusek
2025-12-09 12:13:01 +01:00
commit 8e654ed209
13332 changed files with 2695056 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
"""
Backend-loading machinery tests, using variations on the template backend.
"""
import sys
from types import SimpleNamespace
from unittest.mock import MagicMock
import matplotlib as mpl
from matplotlib import pyplot as plt
from matplotlib.backends import backend_template
from matplotlib.backends.backend_template import (
FigureCanvasTemplate, FigureManagerTemplate)
def test_load_template():
mpl.use("template")
assert type(plt.figure().canvas) == FigureCanvasTemplate
def test_load_old_api(monkeypatch):
mpl_test_backend = SimpleNamespace(**vars(backend_template))
mpl_test_backend.new_figure_manager = (
lambda num, *args, FigureClass=mpl.figure.Figure, **kwargs:
FigureManagerTemplate(
FigureCanvasTemplate(FigureClass(*args, **kwargs)), num))
monkeypatch.setitem(sys.modules, "mpl_test_backend", mpl_test_backend)
mpl.use("module://mpl_test_backend")
assert type(plt.figure().canvas) == FigureCanvasTemplate
plt.draw_if_interactive()
def test_show(monkeypatch):
mpl_test_backend = SimpleNamespace(**vars(backend_template))
mock_show = MagicMock()
monkeypatch.setattr(
mpl_test_backend.FigureManagerTemplate, "pyplot_show", mock_show)
monkeypatch.setitem(sys.modules, "mpl_test_backend", mpl_test_backend)
mpl.use("module://mpl_test_backend")
plt.show()
mock_show.assert_called_with()
def test_show_old_global_api(monkeypatch):
mpl_test_backend = SimpleNamespace(**vars(backend_template))
mock_show = MagicMock()
monkeypatch.setattr(mpl_test_backend, "show", mock_show, raising=False)
monkeypatch.setitem(sys.modules, "mpl_test_backend", mpl_test_backend)
mpl.use("module://mpl_test_backend")
plt.show()
mock_show.assert_called_with()
def test_load_case_sensitive(monkeypatch):
mpl_test_backend = SimpleNamespace(**vars(backend_template))
mock_show = MagicMock()
monkeypatch.setattr(
mpl_test_backend.FigureManagerTemplate, "pyplot_show", mock_show)
monkeypatch.setitem(sys.modules, "mpl_Test_Backend", mpl_test_backend)
mpl.use("module://mpl_Test_Backend")
plt.show()
mock_show.assert_called_with()