From 050aa57990a5ce7ad92c089705d328f415df097b Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee <russell@keith-magee.com> Date: Mon, 13 Sep 2010 05:28:01 +0000 Subject: [PATCH] Migrated user_commands doctests. Thanks to Eric Florenzano. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13823 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- .../management/commands/dance.py | 2 +- tests/modeltests/user_commands/models.py | 19 ----------------- tests/modeltests/user_commands/tests.py | 21 +++++++++++++++++++ 3 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 tests/modeltests/user_commands/tests.py diff --git a/tests/modeltests/user_commands/management/commands/dance.py b/tests/modeltests/user_commands/management/commands/dance.py index a504d486d6..acefe09271 100644 --- a/tests/modeltests/user_commands/management/commands/dance.py +++ b/tests/modeltests/user_commands/management/commands/dance.py @@ -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"]) diff --git a/tests/modeltests/user_commands/models.py b/tests/modeltests/user_commands/models.py index 10ccdb8e2c..f2aa549bb9 100644 --- a/tests/modeltests/user_commands/models.py +++ b/tests/modeltests/user_commands/models.py @@ -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. - -"""} diff --git a/tests/modeltests/user_commands/tests.py b/tests/modeltests/user_commands/tests.py new file mode 100644 index 0000000000..84aa7a53d5 --- /dev/null +++ b/tests/modeltests/user_commands/tests.py @@ -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',)) \ No newline at end of file