blob: 1e2f91d54fe22b674456791792b656f866833207 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
import unittest
import hazwaz
class testEditorMixin(unittest.TestCase):
def test_open_with_cat_existing_file(self):
subcmd = hazwaz.mixins.ExternalEditorMixin()
subcmd.editors = [("cat", "cat")]
# TODO: suppress this output in the tests (we can't use
# contextlib.redirect_stdout because that doesn't redirect the
# stdout used by subprocess.
res = subcmd.edit_file_in_external_editor("/bin/fgrep")
self.assertTrue(res)
def test_open_with_cat_missing_file(self):
subcmd = hazwaz.mixins.ExternalEditorMixin()
subcmd.editors = [("cat", "cat")]
# TODO: suppress this output in the tests (we can't use
# contextlib.redirect_stderr because that doesn't redirect the
# stderr used by subprocess.
res = subcmd.edit_file_in_external_editor("no_such_file")
self.assertFalse(res)
def test_open_with_non_existing_editor(self):
subcmd = hazwaz.mixins.ExternalEditorMixin()
subcmd.editors = [("no_such_command", "no_such_command")]
with self.assertLogs() as cm:
subcmd.edit_file_in_external_editor("no_such_file")
self.assertIn(
"Could not open file no_such_file with no_such_command",
cm.output[0]
)
if __name__ == '__main__':
unittest.main()
|