mirror of
https://github.com/django/django.git
synced 2025-08-04 02:48:35 +00:00
Fixed #29301 -- Added custom help formatter to BaseCommand class
This partially reverts c3055242c8
.
Thanks Adam Johnson and Carlton Gibson for the reviews.
This commit is contained in:
parent
e9bd1a3e12
commit
ce3351b950
4 changed files with 52 additions and 4 deletions
16
tests/user_commands/management/commands/common_args.py
Normal file
16
tests/user_commands/management/commands/common_args.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
from argparse import ArgumentError
|
||||
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
def add_arguments(self, parser):
|
||||
try:
|
||||
parser.add_argument('--version', action='version', version='A.B.C')
|
||||
except ArgumentError:
|
||||
pass
|
||||
else:
|
||||
raise CommandError('--version argument does no yet exist')
|
||||
|
||||
def handle(self, *args, **options):
|
||||
return 'Detected that --version already exists'
|
|
@ -205,6 +205,11 @@ class CommandTests(SimpleTestCase):
|
|||
self.assertIn('need_me', out.getvalue())
|
||||
self.assertIn('needme2', out.getvalue())
|
||||
|
||||
def test_command_add_arguments_after_common_arguments(self):
|
||||
out = StringIO()
|
||||
management.call_command('common_args', stdout=out)
|
||||
self.assertIn('Detected that --version already exists', out.getvalue())
|
||||
|
||||
def test_subparser(self):
|
||||
out = StringIO()
|
||||
management.call_command('subparser', 'foo', 12, stdout=out)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue