Migrated user_commands doctests. Thanks to Eric Florenzano.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13823 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-09-13 05:28:01 +00:00
parent 783656cf5b
commit 050aa57990
3 changed files with 22 additions and 20 deletions

View File

@ -11,4 +11,4 @@ class Command(BaseCommand):
]
def handle(self, *args, **options):
print "I don't feel like dancing %s." % options["style"]
self.stdout.write("I don't feel like dancing %s." % options["style"])

View File

@ -12,22 +12,3 @@ For more details on how to define your own ``manage.py`` commands, look at the
``django.core.management.commands`` directory. This directory contains the
definitions for the base Django ``manage.py`` commands.
"""
__test__ = {'API_TESTS': """
>>> from django.core import management
# Invoke a simple user-defined command
>>> management.call_command('dance', style="Jive")
I don't feel like dancing Jive.
# Invoke a command that doesn't exist
>>> management.call_command('explode')
Traceback (most recent call last):
...
CommandError: Unknown command: 'explode'
# Invoke a command with default option `style`
>>> management.call_command('dance')
I don't feel like dancing Rock'n'Roll.
"""}

View File

@ -0,0 +1,21 @@
from StringIO import StringIO
from django.test import TestCase
from django.core import management
from django.core.management.base import CommandError
class CommandTests(TestCase):
def test_command(self):
out = StringIO()
management.call_command('dance', stdout=out)
self.assertEquals(out.getvalue(),
"I don't feel like dancing Rock'n'Roll.")
def test_command_style(self):
out = StringIO()
management.call_command('dance', style='Jive', stdout=out)
self.assertEquals(out.getvalue(),
"I don't feel like dancing Jive.")
def test_explode(self):
self.assertRaises(CommandError, management.call_command, ('explode',))