diff options
Diffstat (limited to 'tests/user_commands/tests.py')
-rw-r--r-- | tests/user_commands/tests.py | 20 |
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. |