Skip to content
This repository was archived by the owner on Apr 9, 2025. It is now read-only.

Commit a242bbf

Browse files
committed
check for explicit event listeners presence for missing-reference
Signed-off-by: Christian López Barrón <[email protected]>
1 parent d19ae73 commit a242bbf

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

tests/test_internals.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
import inspect
22
import pytest
3+
from unittest import mock
4+
5+
from sphinx.events import EventListener
6+
from sphinx.ext.intersphinx._resolve import missing_reference as intersphinx_missing_reference
7+
from hoverxref.extension import missing_reference
38

49
from .utils import srcdir
510

@@ -46,11 +51,8 @@ def _get_docpath(self, builder, docname):
4651
},
4752
)
4853
def test_disconnect_intersphinx_listener(app, status, warning):
49-
"""Confirm that disconnecting the ``missing-reference`` listener from ``sphinx.ext.intershinx`` is successful."""
54+
"""The ``missing-reference`` listener from ``sphinx.ext.intershinx`` should be dropped in favor of ours."""
5055
app.build()
51-
listeners = []
52-
for listener in app.events.listeners.get('missing-reference'):
53-
module_name = inspect.getmodule(listener.handler).__name__
54-
if module_name.startswith('sphinx.ext.intersphinx'):
55-
listeners.append((module_name, listener))
56-
assert not listeners, f"Expected to find zero listeners but found: {listeners}"
56+
missing_reference_listeners = app.events.listeners['missing-reference']
57+
assert EventListener(id=mock.ANY, priority=mock.ANY, handler=intersphinx_missing_reference) not in missing_reference_listeners
58+
assert EventListener(id=mock.ANY, priority=mock.ANY, handler=missing_reference) in missing_reference_listeners

0 commit comments

Comments
 (0)