summaryrefslogtreecommitdiff
path: root/tests/user_commands/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/user_commands/tests.py')
-rw-r--r--tests/user_commands/tests.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/tests/user_commands/tests.py b/tests/user_commands/tests.py
index ac2e51c807..398e01eb6b 100644
--- a/tests/user_commands/tests.py
+++ b/tests/user_commands/tests.py
@@ -15,14 +15,15 @@ class CommandTests(SimpleTestCase):
def test_command(self):
out = StringIO()
management.call_command('dance', stdout=out)
- self.assertEqual(out.getvalue(),
- "I don't feel like dancing Rock'n'Roll.\n")
+ self.assertIn("I don't feel like dancing Rock'n'Roll.\n", out.getvalue())
def test_command_style(self):
out = StringIO()
management.call_command('dance', style='Jive', stdout=out)
- self.assertEqual(out.getvalue(),
- "I don't feel like dancing Jive.\n")
+ self.assertIn("I don't feel like dancing Jive.\n", out.getvalue())
+ # Passing options as arguments also works (thanks argparse)
+ management.call_command('dance', '--style', 'Jive', stdout=out)
+ self.assertIn("I don't feel like dancing Jive.\n", out.getvalue())
def test_language_preserved(self):
out = StringIO()
@@ -76,6 +77,17 @@ class CommandTests(SimpleTestCase):
if current_path is not None:
os.environ['PATH'] = current_path
+ def test_call_command_option_parsing(self):
+ """
+ When passing the long option name to call_command, the available option
+ key is the option dest name (#22985).
+ """
+ out = StringIO()
+ management.call_command('dance', stdout=out, opt_3=True)
+ self.assertIn("option3", out.getvalue())
+ self.assertNotIn("opt_3", out.getvalue())
+ self.assertNotIn("opt-3", out.getvalue())
+
def test_optparse_compatibility(self):
"""
optparse should be supported during Django 1.8/1.9 releases.