summaryrefslogtreecommitdiff
path: root/tests/test_ext_intersphinx.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2018-01-30 00:14:53 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2018-01-30 00:14:53 +0900
commitaa47e9decce15d98c0dd4ab9ad4353b56477d81d (patch)
treec52daafead3a7cd601a2679039cb129202c20017 /tests/test_ext_intersphinx.py
parent84551aa9c27931b0ba6d6f72797028650a074338 (diff)
downloadsphinx-git-aa47e9decce15d98c0dd4ab9ad4353b56477d81d.tar.gz
Fix #4209: intersphinx: In link title, "v" should be optional if target has no version
Diffstat (limited to 'tests/test_ext_intersphinx.py')
-rw-r--r--tests/test_ext_intersphinx.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/test_ext_intersphinx.py b/tests/test_ext_intersphinx.py
index aef495d30..91e21187b 100644
--- a/tests/test_ext_intersphinx.py
+++ b/tests/test_ext_intersphinx.py
@@ -24,7 +24,7 @@ from sphinx.ext.intersphinx import (
load_mappings, missing_reference, _strip_basic_auth,
_get_safe_url, fetch_inventory, INVENTORY_FILENAME, debug
)
-from test_util_inventory import inventory_v2
+from test_util_inventory import inventory_v2, inventory_v2_not_having_version
def fake_node(domain, type, target, content, **attrs):
@@ -271,6 +271,25 @@ def test_missing_reference_jsdomain(tempdir, app, status, warning):
assert rn.astext() == 'baz()'
+@pytest.mark.xfail(os.name != 'posix', reason="Path separator mismatch issue")
+def test_inventory_not_having_version(tempdir, app, status, warning):
+ inv_file = tempdir / 'inventory'
+ inv_file.write_bytes(inventory_v2_not_having_version)
+ app.config.intersphinx_mapping = {
+ 'https://docs.python.org/': inv_file,
+ }
+ app.config.intersphinx_cache_limit = 0
+
+ # load the inventory and check if it's done correctly
+ load_mappings(app)
+
+ rn = reference_check(app, 'py', 'mod', 'module1', 'foo')
+ assert isinstance(rn, nodes.reference)
+ assert rn['refuri'] == 'https://docs.python.org/foo.html#module-module1'
+ assert rn['reftitle'] == '(in foo)'
+ assert rn[0].astext() == 'Long Module desc'
+
+
def test_load_mappings_warnings(tempdir, app, status, warning):
"""
load_mappings issues a warning if new-style mapping