diff options
| author | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2022-08-02 09:15:20 +0200 | 
|---|---|---|
| committer | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2022-08-02 09:17:47 +0200 | 
| commit | b614ed52a4aaf7678938448ef67f645a15ff2592 (patch) | |
| tree | adb7666bf3de85b6746e5bc5cb87923c7213a341 /tests | |
| parent | dc736d9ad85df6c1ed177b3616e4fe9fa6b6b6f4 (diff) | |
Add an example of testing a command with the ExternamEditorMixin
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_mixins.py | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/tests/test_mixins.py b/tests/test_mixins.py index 1e2f91d..44ae165 100644 --- a/tests/test_mixins.py +++ b/tests/test_mixins.py @@ -1,3 +1,4 @@ +import tempfile  import unittest  import hazwaz @@ -33,5 +34,27 @@ class testEditorMixin(unittest.TestCase):          ) +class MyCommand(hazwaz.MainCommand, hazwaz.mixins.ExternalEditorMixin): +    """ +    A command that edits a file +    """ + +    def main(self): +        my_file = tempfile.NamedTemporaryFile() +        self.edit_file_in_external_editor(my_file.name) +        my_file.close() + + +class testCommandWithMixin(hazwaz.unittest.HazwazTestCase): +    def test_run(self): +        cmd = MyCommand() +        cmd.editors = [("true", "true")] +        stream = self.run_with_argv(cmd, [ +            "mycommand", +        ]) +        self.assertEqual(stream["stdout"].getvalue(), "") +        self.assertEqual(stream["stderr"].getvalue(), "") + +  if __name__ == '__main__':      unittest.main() | 
