Skip to content

Commit 41ab0f9

Browse files
authored
[test] add py:currentmodule unit test (sphinx-doc#11920)
1 parent cd2bf0a commit 41ab0f9

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

tests/test_domains/test_domain_py_pyobject.py

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,3 +390,98 @@ def test_pydecoratormethod_signature(app):
390390

391391
assert 'deco' in domain.objects
392392
assert domain.objects['deco'] == ('index', 'deco', 'method', False)
393+
394+
395+
def test_pycurrentmodule(app):
396+
text = (".. py:module:: Other\n"
397+
"\n"
398+
".. py:module:: Module\n"
399+
".. py:class:: A\n"
400+
"\n"
401+
" .. py:method:: m1\n"
402+
" .. py:method:: m2\n"
403+
"\n"
404+
".. py:currentmodule:: Other\n"
405+
"\n"
406+
".. py:class:: B\n"
407+
"\n"
408+
" .. py:method:: m3\n"
409+
" .. py:method:: m4\n")
410+
domain = app.env.get_domain('py')
411+
doctree = restructuredtext.parse(app, text)
412+
print(doctree)
413+
assert_node(
414+
doctree, (
415+
addnodes.index,
416+
addnodes.index,
417+
addnodes.index,
418+
nodes.target,
419+
nodes.target,
420+
[desc, (
421+
[desc_signature, (
422+
[desc_annotation, ("class", desc_sig_space)],
423+
[desc_addname, "Module."],
424+
[desc_name, "A"],
425+
)],
426+
[desc_content, (
427+
addnodes.index,
428+
[desc, (
429+
[desc_signature, (
430+
[desc_name, "m1"],
431+
[desc_parameterlist, ()],
432+
)],
433+
[desc_content, ()],
434+
)],
435+
addnodes.index,
436+
[desc, (
437+
[desc_signature, (
438+
[desc_name, "m2"],
439+
[desc_parameterlist, ()],
440+
)],
441+
[desc_content, ()],
442+
)],
443+
)],
444+
)],
445+
addnodes.index,
446+
[desc, (
447+
[desc_signature, (
448+
[desc_annotation, ("class", desc_sig_space)],
449+
[desc_addname, "Other."],
450+
[desc_name, "B"],
451+
)],
452+
[desc_content, (
453+
addnodes.index,
454+
[desc, (
455+
[desc_signature, (
456+
[desc_name, "m3"],
457+
[desc_parameterlist, ()],
458+
)],
459+
[desc_content, ()],
460+
)],
461+
addnodes.index,
462+
[desc, (
463+
[desc_signature, (
464+
[desc_name, "m4"],
465+
[desc_parameterlist, ()],
466+
)],
467+
[desc_content, ()],
468+
)],
469+
)],
470+
)],
471+
))
472+
assert 'Module' in domain.objects
473+
assert domain.objects['Module'] == ('index', 'module-Module', 'module', False)
474+
assert 'Other' in domain.objects
475+
assert domain.objects['Other'] == ('index', 'module-Other', 'module', False)
476+
assert 'Module.A' in domain.objects
477+
assert domain.objects['Module.A'] == ('index', 'Module.A', 'class', False)
478+
assert 'Other.B' in domain.objects
479+
assert domain.objects['Other.B'] == ('index', 'Other.B', 'class', False)
480+
assert 'Module.A.m1' in domain.objects
481+
assert domain.objects['Module.A.m1'] == ('index', 'Module.A.m1', 'method', False)
482+
assert 'Module.A.m2' in domain.objects
483+
assert domain.objects['Module.A.m2'] == ('index', 'Module.A.m2', 'method', False)
484+
assert 'Other.B.m3' in domain.objects
485+
assert domain.objects['Other.B.m3'] == ('index', 'Other.B.m3', 'method', False)
486+
assert 'Other.B.m4' in domain.objects
487+
assert domain.objects['Other.B.m4'] == ('index', 'Other.B.m4', 'method', False)

0 commit comments

Comments
 (0)