summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-08-22 13:48:31 -0700
committerDylan Baker <dylan@pnwbakers.com>2017-08-23 08:22:31 -0700
commit74b1901a224d9203c7ecb1322c9e58f64fe3327a (patch)
treedf1bb857c13260e3b80fb9e9fffbfa0a8855703b /tests
parentcd11aa50f8061fdc41a3e62c70a1ace7d1784eef (diff)
tests/commands/globals: Add tests for ExternalCommand when spawning
Diffstat (limited to 'tests')
-rw-r--r--tests/commands/global_test.py27
1 files changed, 27 insertions, 0 deletions
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')