From 74b1901a224d9203c7ecb1322c9e58f64fe3327a Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 22 Aug 2017 13:48:31 -0700 Subject: tests/commands/globals: Add tests for ExternalCommand when spawning --- tests/commands/global_test.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tests') diff --git a/tests/commands/global_test.py b/tests/commands/global_test.py index c3516a7a..edb903dd 100644 --- a/tests/commands/global_test.py +++ b/tests/commands/global_test.py @@ -17,6 +17,7 @@ """Tests for global commands.""" from __future__ import absolute_import +import os from twisted.trial import unittest from twisted.internet.defer import inlineCallbacks @@ -147,3 +148,29 @@ class TestExternalCommand(unittest.TestCase): refocus=False, on_success=self.on_success) cmd.apply(ui) ui.notify.assert_called_once_with('', priority='error') + + @mock.patch('alot.commands.globals.settings.get', mock.Mock(return_value='')) + @mock.patch.dict(os.environ, {'DISPLAY': ':0'}) + def test_spawn_no_stdin_success(self): + ui = mock.Mock() + cmd = g_commands.ExternalCommand(u'true', refocus=False, spawn=True) + cmd.apply(ui) + ui.notify.assert_not_called() + + @mock.patch('alot.commands.globals.settings.get', mock.Mock(return_value='')) + @mock.patch.dict(os.environ, {'DISPLAY': ':0'}) + def test_spawn_stdin_success(self): + ui = mock.Mock() + cmd = g_commands.ExternalCommand( + u"awk '{ exit $0 }'", + stdin=u'0', refocus=False, spawn=True) + cmd.apply(ui) + ui.notify.assert_not_called() + + @mock.patch('alot.commands.globals.settings.get', mock.Mock(return_value='')) + @mock.patch.dict(os.environ, {'DISPLAY': ':0'}) + def test_spawn_failure(self): + ui = mock.Mock() + cmd = g_commands.ExternalCommand(u'false', refocus=False, spawn=True) + cmd.apply(ui) + ui.notify.assert_called_once_with('', priority='error') -- cgit v1.2.3