| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- """
- 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()
|