diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-01-31 01:21:20 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-01-31 01:22:33 +0900 |
commit | 43ee8d194d90b1b8bc3f7a1f7762f0fd497f7ea7 (patch) | |
tree | d723ec2e481de256b07497bd071a960c7c8ffb7f /tests/test_ext_intersphinx.py | |
parent | f9eb08d774b8e4835dad0a01760f65a674828dfa (diff) | |
download | sphinx-git-43ee8d194d90b1b8bc3f7a1f7762f0fd497f7ea7.tar.gz |
intersphinx: Add testcase for inventory fallbacks
Diffstat (limited to 'tests/test_ext_intersphinx.py')
-rw-r--r-- | tests/test_ext_intersphinx.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/test_ext_intersphinx.py b/tests/test_ext_intersphinx.py index a978928d4..571d8f86f 100644 --- a/tests/test_ext_intersphinx.py +++ b/tests/test_ext_intersphinx.py @@ -292,6 +292,38 @@ def test_load_mappings_warnings(tempdir, app, status, warning): assert warning.getvalue().count('\n') == 1 +def test_load_mappings_fallback(tempdir, app, status, warning): + inv_file = tempdir / 'inventory' + inv_file.write_bytes(inventory_v2) + app.config.intersphinx_cache_limit = 0 + + # connect to invalid path + app.config.intersphinx_mapping = { + 'fallback': ('https://docs.python.org/py3k/', '/invalid/inventory/path'), + } + load_mappings(app) + assert "failed to reach any of the inventories" in warning.getvalue() + + rn = reference_check(app, 'py', 'func', 'module1.func', 'foo') + assert rn is None + + # clear messages + status.truncate(0) + warning.truncate(0) + + # add fallbacks to mapping + app.config.intersphinx_mapping = { + 'fallback': ('https://docs.python.org/py3k/', ('/invalid/inventory/path', + inv_file)), + } + load_mappings(app) + assert "encountered some issues with some of the inventories" in status.getvalue() + assert "" == warning.getvalue() + + rn = reference_check(app, 'py', 'func', 'module1.func', 'foo') + assert isinstance(rn, nodes.reference) + + class TestStripBasicAuth(unittest.TestCase): """Tests for sphinx.ext.intersphinx._strip_basic_auth()""" def test_auth_stripped(self): |