diff options
| author | Georg Brandl <georg@python.org> | 2010-07-27 13:20:58 +0200 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2010-07-27 13:20:58 +0200 |
| commit | 11affd4ae31e34b34d72e451cc375b47cf2c898b (patch) | |
| tree | eca59122c5e4681e910d15fc7ba53e0a281b4138 /tests/test_intersphinx.py | |
| parent | 6987736fe25fba0b6ddd983f2ca6a80aea8cad54 (diff) | |
| download | sphinx-11affd4ae31e34b34d72e451cc375b47cf2c898b.tar.gz | |
Further fix for intersphinx labels, add test cases for that.
Diffstat (limited to 'tests/test_intersphinx.py')
| -rw-r--r-- | tests/test_intersphinx.py | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/tests/test_intersphinx.py b/tests/test_intersphinx.py index 622243e6..8b6547e5 100644 --- a/tests/test_intersphinx.py +++ b/tests/test_intersphinx.py @@ -80,7 +80,10 @@ def test_read_inventory_v2(): def test_missing_reference(tempdir, app): inv_file = tempdir / 'inventory' write_file(inv_file, inventory_v2) - app.config.intersphinx_mapping = {'http://docs.python.org/': inv_file} + app.config.intersphinx_mapping = { + 'http://docs.python.org/': inv_file, + 'py3k': ('http://docs.python.org/py3k/', inv_file), + } app.config.intersphinx_cache_limit = 0 # load the inventory and check if it's done correctly @@ -91,7 +94,7 @@ def test_missing_reference(tempdir, app): ('foo', '2.0', 'http://docs.python.org/foo.html#module-module2', '-') # create fake nodes and check referencing - contnode = nodes.emphasis('foo') + contnode = nodes.emphasis('foo', 'foo') refnode = addnodes.pending_xref('') refnode['reftarget'] = 'module1.func' refnode['reftype'] = 'func' @@ -101,7 +104,7 @@ def test_missing_reference(tempdir, app): assert isinstance(rn, nodes.reference) assert rn['refuri'] == 'http://docs.python.org/sub/foo.html#module1.func' assert rn['reftitle'] == '(in foo v2.0)' - assert rn[0] is contnode + assert rn[0].astext() == 'module1.func' # create unresolvable nodes and check None return value refnode['reftype'] = 'foo' @@ -110,3 +113,27 @@ def test_missing_reference(tempdir, app): refnode['reftype'] = 'function' refnode['reftarget'] = 'foo.func' assert missing_reference(app, app.env, refnode, contnode) is None + + # check handling of prefixes + + # prefix given, target found: prefix is stripped + refnode['reftype'] = 'mod' + refnode['reftarget'] = 'py3k:module2' + rn = missing_reference(app, app.env, refnode, contnode) + assert rn[0].astext() == 'module2' + + # prefix given, target not found and nonexplicit title: prefix is stripped + refnode['reftarget'] = 'py3k:unknown' + refnode['refexplicit'] = False + contnode[0] = nodes.Text('py3k:unknown') + rn = missing_reference(app, app.env, refnode, contnode) + assert rn is None + assert contnode[0].astext() == 'unknown' + + # prefix given, target not found and explicit title: nothing is changed + refnode['reftarget'] = 'py3k:unknown' + refnode['refexplicit'] = True + contnode[0] = nodes.Text('py3k:unknown') + rn = missing_reference(app, app.env, refnode, contnode) + assert rn is None + assert contnode[0].astext() == 'py3k:unknown' |
