@@ -7620,21 +7620,25 @@ def test_backtick_markup_in_description(self):
76207620 parser = argparse .ArgumentParser (
76217621 prog = 'PROG' ,
76227622 color = True ,
7623- description = 'Run `python -m myapp` to start.' ,
7623+ description = 'Run `python myapp` or ``python -m myapp` ` to start.' ,
76247624 )
76257625
76267626 prog_extra = self .theme .prog_extra
76277627 reset = self .theme .reset
76287628
76297629 help_text = parser .format_help ()
7630- self .assertIn (f'Run { prog_extra } python -m myapp{ reset } to start.' ,
7631- help_text )
7630+ self .assertIn (
7631+ f'Run { prog_extra } python myapp{ reset } or '
7632+ f'{ prog_extra } python -m myapp{ reset } to start.' ,
7633+ help_text ,
7634+ )
7635+ self .assertNotIn ("`" , help_text )
76327636
76337637 def test_backtick_markup_multiple (self ):
76347638 parser = argparse .ArgumentParser (
76357639 prog = 'PROG' ,
76367640 color = True ,
7637- epilog = 'Try `app run` or `app test`.' ,
7641+ epilog = 'Try `app run` or `` app test` `.' ,
76387642 )
76397643
76407644 prog_extra = self .theme .prog_extra
@@ -7643,17 +7647,19 @@ def test_backtick_markup_multiple(self):
76437647 help_text = parser .format_help ()
76447648 self .assertIn (f'{ prog_extra } app run{ reset } ' , help_text )
76457649 self .assertIn (f'{ prog_extra } app test{ reset } ' , help_text )
7650+ self .assertNotIn ('`' , help_text )
76467651
76477652 def test_backtick_markup_not_applied_when_color_disabled (self ):
76487653 # When color is disabled, backticks are preserved as-is
76497654 parser = argparse .ArgumentParser (
76507655 prog = 'PROG' ,
76517656 color = False ,
7652- epilog = 'Example : `python -m myapp`' ,
7657+ epilog = 'Examples : `python -m myapp` or ``python -m myapp --x` `' ,
76537658 )
76547659
76557660 help_text = parser .format_help ()
76567661 self .assertIn ('`python -m myapp`' , help_text )
7662+ self .assertIn ('``python -m myapp --x``' , help_text )
76577663 self .assertNotIn ('\x1b [' , help_text )
76587664
76597665 def test_backtick_markup_with_format_string (self ):
@@ -7696,6 +7702,39 @@ def test_backtick_markup_special_regex_chars(self):
76967702 help_text = parser .format_help ()
76977703 self .assertIn (f'{ prog_extra } grep "foo.*bar" | sort{ reset } ' , help_text )
76987704
7705+ def test_backtick_markup_in_argument_help (self ):
7706+ parser = argparse .ArgumentParser (prog = "PROG" , color = True )
7707+ parser .add_argument ("--foo" , help = "set the `foo` value" )
7708+ parser .add_argument ("--bar" , help = "set the ``bar`` value" )
7709+
7710+ prog_extra = self .theme .prog_extra
7711+ reset = self .theme .reset
7712+
7713+ help_text = parser .format_help ()
7714+ self .assertIn (f"set the { prog_extra } foo{ reset } value" , help_text )
7715+ self .assertIn (f"set the { prog_extra } bar{ reset } value" , help_text )
7716+ self .assertNotIn ("`" , help_text )
7717+
7718+ def test_backtick_markup_in_argument_help_with_format (self ):
7719+ parser = argparse .ArgumentParser (prog = "PROG" , color = True )
7720+ parser .add_argument (
7721+ "--foo" , default = "bar" , help = "set `foo` (default: %(default)s)"
7722+ )
7723+
7724+ prog_extra = self .theme .prog_extra
7725+ reset = self .theme .reset
7726+
7727+ help_text = parser .format_help ()
7728+ self .assertIn (f"set { prog_extra } foo{ reset } " , help_text )
7729+
7730+ def test_backtick_markup_in_argument_help_color_disabled (self ):
7731+ parser = argparse .ArgumentParser (prog = "PROG" , color = False )
7732+ parser .add_argument ("--foo" , help = "set the `foo` value" )
7733+
7734+ help_text = parser .format_help ()
7735+ self .assertIn ("set the `foo` value" , help_text )
7736+ self .assertNotIn ("\x1b [" , help_text )
7737+
76997738 def test_help_with_format_specifiers (self ):
77007739 # GH-142950: format specifiers like %x should work with color=True
77017740 parser = argparse .ArgumentParser (prog = 'PROG' , color = True )
0 commit comments