@@ -405,6 +405,22 @@ def test_productionlist(app, status, warning):
405
405
assert "A</strong> ::= B C D E F G" in text
406
406
407
407
408
+ def test_productionlist2 (app ):
409
+ text = (".. productionlist:: P2\n "
410
+ " A: `:A` `A`\n "
411
+ " B: `P1:B` `~P1:B`\n " )
412
+ doctree = restructuredtext .parse (app , text )
413
+ refnodes = list (doctree .traverse (pending_xref ))
414
+ assert_node (refnodes [0 ], pending_xref , reftarget = "A" )
415
+ assert_node (refnodes [1 ], pending_xref , reftarget = "P2:A" )
416
+ assert_node (refnodes [2 ], pending_xref , reftarget = "P1:B" )
417
+ assert_node (refnodes [3 ], pending_xref , reftarget = "P1:B" )
418
+ assert_node (refnodes [0 ], [pending_xref , nodes .literal , "A" ])
419
+ assert_node (refnodes [1 ], [pending_xref , nodes .literal , "A" ])
420
+ assert_node (refnodes [2 ], [pending_xref , nodes .literal , "P1:B" ])
421
+ assert_node (refnodes [3 ], [pending_xref , nodes .literal , "B" ])
422
+
423
+
408
424
def test_disabled_docref (app ):
409
425
text = (":doc:`index`\n "
410
426
":doc:`!index`\n " )
0 commit comments