Skip to content

Commit 311be3b

Browse files
committed
intersphinx role, hax role name to preserve case
1 parent 766095b commit 311be3b

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

sphinx/ext/intersphinx.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,14 +482,18 @@ def __init__(self) -> None:
482482
def role(self, role_name: str, language_module: ModuleType, lineno: int, reporter: Reporter
483483
) -> Tuple[RoleFunction, List[system_message]]:
484484
if role_name.split(':')[0] == 'external':
485-
return IntersphinxRole(), []
485+
return IntersphinxRole(role_name), []
486486
else:
487487
return super().role(role_name, language_module, lineno, reporter)
488488

489489

490490
class IntersphinxRole(SphinxRole):
491+
def __init__(self, orig_name: str) -> None:
492+
self.orig_name = orig_name
493+
491494
def run(self) -> Tuple[List[Node], List[system_message]]:
492-
inventory, name_suffix = self.get_inventory_and_name_suffix(self.name)
495+
assert self.name == self.orig_name.lower()
496+
inventory, name_suffix = self.get_inventory_and_name_suffix(self.orig_name)
493497
if inventory and not inventory_exists(self.env, inventory):
494498
logger.warning(__('inventory for external cross-reference not found: %s'), inventory,
495499
location=(self.env.docname, self.lineno))

tests/test_ext_intersphinx.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ def test_intersphinx_role(app, warning):
565565

566566
# explicit inventory
567567
assert html.format('cfunc.html#CFunc') in content
568-
#assert "WARNING: inventory for external cross-reference not found: invNope" in wStr
568+
assert "WARNING: inventory for external cross-reference not found: invNope" in wStr
569569

570570
# explicit title
571571
assert html.format('index.html#foons') in content

0 commit comments

Comments
 (0)