##// END OF EJS Templates
Don't force matplotlib backend names to be lowercase (#14475)...
Don't force matplotlib backend names to be lowercase (#14475) This is something I missed as part of moving the backend resolution to Matplotlib. Since version 3.9.0 Matplotlib handles the case-sensitivity of backend names, making them all lowercase for internal use. But since matplotlib/matplotlib#28473 uppercase letters are allowed in backend names of the form `module://soMe_moDule.sOmE_NAme`. Hence we need to not force backend names to be lowercase in IPython when passing them to Matplotlib. It is just a one line change that happens to make the code simpler, plus a new test. The Matplotlib change will be released in 3.9.1 which is due shortly, possibly today. The new test checks the Matplotlib version to know whether uppercase backend module names are allowed or not.

File last commit:

r27079:c2ae0857
r28831:6bde8f6c merge
Show More
test_qt_loaders.py
11 lines | 367 B | text/x-python | PythonLexer
import importlib
import pytest
from IPython.external.qt_loaders import ID
def test_import_denier():
ID.forbid("ipython_denied_module")
with pytest.raises(ImportError, match="disabled by IPython"):
import ipython_denied_module
with pytest.raises(ImportError, match="disabled by IPython"):
importlib.import_module("ipython_denied_module")