summaryrefslogtreecommitdiff
path: root/test/test_windows.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2014-10-27 20:01:22 +0100
committermathieui <mathieui@mathieui.net>2014-10-27 20:01:22 +0100
commit29942d38bb88e4654879bcaff0a004c646e1a315 (patch)
tree7ca36bd4a66ad1964c545d1241fdc4eb7b8bc927 /test/test_windows.py
parentf55ac9edbfbfeb13e93cb101df8d38bd7bcce15a (diff)
downloadpoezio-29942d38bb88e4654879bcaff0a004c646e1a315.tar.gz
poezio-29942d38bb88e4654879bcaff0a004c646e1a315.tar.bz2
poezio-29942d38bb88e4654879bcaff0a004c646e1a315.tar.xz
poezio-29942d38bb88e4654879bcaff0a004c646e1a315.zip
Add some unit tests using py.test
- we need to have more
Diffstat (limited to 'test/test_windows.py')
-rw-r--r--test/test_windows.py76
1 files changed, 76 insertions, 0 deletions
diff --git a/test/test_windows.py b/test/test_windows.py
new file mode 100644
index 00000000..8fb85295
--- /dev/null
+++ b/test/test_windows.py
@@ -0,0 +1,76 @@
+import pytest
+import sys
+sys.path.append('src')
+
+class ConfigShim(object):
+ def get(self, *args, **kwargs):
+ return ''
+
+import config
+config.config = ConfigShim()
+import core
+
+from windows import Input, HistoryInput, MessageInput, CommandInput
+
+@pytest.fixture
+def input():
+ input = Input()
+ input.rewrite_text = lambda: None
+ return input
+
+class TestInput(object):
+
+ def test_do_command(self, input):
+
+ input.do_command('a')
+ assert input.text == 'a'
+
+ for char in 'coucou':
+ input.do_command(char)
+ assert input.text == 'acoucou'
+
+ def test_empty(self, input):
+ assert input.is_empty() == True
+ input.do_command('a')
+ assert input.is_empty() == False
+
+ def test_key_left(self, input):
+ for char in 'this is a line':
+ input.do_command(char)
+ for i in range(4):
+ input.key_left()
+ for char in 'long ':
+ input.do_command(char)
+
+ assert input.text == 'this is a long line'
+
+ def test_key_right(self, input):
+ for char in 'this is a line':
+ input.do_command(char)
+ for i in range(4):
+ input.key_left()
+ input.key_right()
+
+ for char in 'iii':
+ input.do_command(char)
+
+ assert input.text == 'this is a liiiine'
+
+ def test_key_home(self, input):
+ for char in 'this is a line of text':
+ input.do_command(char)
+ input.do_command('z')
+ input.key_home()
+ input.do_command('a')
+
+ assert input.text == 'athis is a line of textz'
+
+ def test_key_end(self, input):
+ for char in 'this is a line of text':
+ input.do_command(char)
+ input.key_home()
+ input.key_end()
+ input.do_command('z')
+
+ assert input.text == 'this is a line of textz'
+