summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/modeltests/user_commands/management/commands/dance.py2
-rw-r--r--tests/modeltests/user_commands/models.py19
-rw-r--r--tests/modeltests/user_commands/tests.py21
3 files changed, 22 insertions, 20 deletions
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