summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarlaneenalra <devnull@localhost>2011-09-12 21:14:27 -0500
committerarlaneenalra <devnull@localhost>2011-09-12 21:14:27 -0500
commit2845f0145d340a5bd6543fbf5dabe2d3cad95c8c (patch)
treeca5f1e56586eae7eba9e2e849508e65fd73d5203
parentfab5223b0ae4674542a3753703d9c200d6a1ed1e (diff)
parent1886960d58a24b9ada4cf7d74b6267ca0a81a0a7 (diff)
downloadsphinx-2845f0145d340a5bd6543fbf5dabe2d3cad95c8c.tar.gz
pulling from upstream
-rw-r--r--sphinx/ext/intersphinx.py2
-rw-r--r--tests/test_intersphinx.py24
2 files changed, 25 insertions, 1 deletions
diff --git a/sphinx/ext/intersphinx.py b/sphinx/ext/intersphinx.py
index 709428a3..9bfd53fd 100644
--- a/sphinx/ext/intersphinx.py
+++ b/sphinx/ext/intersphinx.py
@@ -158,7 +158,7 @@ def load_mappings(app):
# new format
name, (uri, inv) = key, value
if not name.isalnum():
- env.warn('intersphinx identifier %r is not alphanumeric' % name)
+ env.warn(docname=None, msg='intersphinx identifier %r is not alphanumeric' % name)
else:
# old format, no name
name, uri, inv = None, key, value
diff --git a/tests/test_intersphinx.py b/tests/test_intersphinx.py
index 839a3e3d..563750f6 100644
--- a/tests/test_intersphinx.py
+++ b/tests/test_intersphinx.py
@@ -152,3 +152,27 @@ def test_missing_reference(tempdir, app):
rn = missing_reference(app, app.env, node, contnode)
assert rn is None
assert contnode[0].astext() == 'py3k:unknown'
+
+
+@with_app(confoverrides={'extensions': 'sphinx.ext.intersphinx'})
+@with_tempdir
+def test_load_mappings_warnings(tempdir, app):
+ """
+ load_mappings issues a warning if new-style mapping
+ identifiers are not alphanumeric
+ """
+ inv_file = tempdir / 'inventory'
+ write_file(inv_file, inventory_v2)
+ app.config.intersphinx_mapping = {
+ 'http://docs.python.org/': inv_file,
+ 'py3k': ('http://docs.python.org/py3k/', inv_file),
+ 'repoze.workflow': ('http://docs.repoze.org/workflow/', inv_file),
+ 'django-taggit': ('http://django-taggit.readthedocs.org/en/latest/', inv_file)
+ }
+
+ app.config.intersphinx_cache_limit = 0
+ # load the inventory and check if it's done correctly
+ load_mappings(app)
+ assert len(app._warning.content) == 2
+
+