Skip to content

Commit 310b3f7

Browse files
tonyjonathanslenders
authored andcommitted
Reorganize tests to be collected by py.test
See also: prompt-toolkit#300 Update tox
1 parent 9f6b203 commit 310b3f7

File tree

24 files changed

+1278
-1259
lines changed

24 files changed

+1278
-1259
lines changed

tests/buffer/test_buffer.py

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
from __future__ import unicode_literals
2+
3+
from prompt_toolkit.buffer import Buffer
4+
5+
import pytest
6+
7+
8+
@pytest.fixture
9+
def _buffer():
10+
return Buffer()
11+
12+
13+
def test_initial(_buffer):
14+
assert _buffer.text == ''
15+
assert _buffer.cursor_position == 0
16+
17+
18+
def test_insert_text(_buffer):
19+
_buffer.insert_text('some_text')
20+
assert _buffer.text == 'some_text'
21+
assert _buffer.cursor_position == len('some_text')
22+
23+
24+
def test_cursor_movement(_buffer):
25+
_buffer.insert_text('some_text')
26+
_buffer.cursor_left()
27+
_buffer.cursor_left()
28+
_buffer.cursor_left()
29+
_buffer.cursor_right()
30+
_buffer.insert_text('A')
31+
32+
assert _buffer.text == 'some_teAxt'
33+
assert _buffer.cursor_position == len('some_teA')
34+
35+
36+
def test_backspace(_buffer):
37+
_buffer.insert_text('some_text')
38+
_buffer.cursor_left()
39+
_buffer.cursor_left()
40+
_buffer.delete_before_cursor()
41+
42+
assert _buffer.text == 'some_txt'
43+
assert _buffer.cursor_position == len('some_t')
44+
45+
46+
def test_cursor_up(_buffer):
47+
# Cursor up to a line thats longer.
48+
_buffer.insert_text('long line1\nline2')
49+
_buffer.cursor_up()
50+
51+
assert _buffer.document.cursor_position == 5
52+
53+
# Going up when already at the top.
54+
_buffer.cursor_up()
55+
assert _buffer.document.cursor_position == 5
56+
57+
# Going up to a line that's shorter.
58+
_buffer.reset()
59+
_buffer.insert_text('line1\nlong line2')
60+
61+
_buffer.cursor_up()
62+
assert _buffer.document.cursor_position == 5
63+
64+
65+
def test_cursor_down(_buffer):
66+
_buffer.insert_text('line1\nline2')
67+
_buffer.cursor_position = 3
68+
69+
# Normally going down
70+
_buffer.cursor_down()
71+
assert _buffer.document.cursor_position == len('line1\nlin')
72+
73+
# Going down to a line that's storter.
74+
_buffer.reset()
75+
_buffer.insert_text('long line1\na\nb')
76+
_buffer.cursor_position = 3
77+
78+
_buffer.cursor_down()
79+
assert _buffer.document.cursor_position == len('long line1\na')
80+
81+
82+
def test_join_next_line(_buffer):
83+
_buffer.insert_text('line1\nline2\nline3')
84+
_buffer.cursor_up()
85+
_buffer.join_next_line()
86+
87+
assert _buffer.text == 'line1\nline2 line3'
88+
89+
# Test when there is no '\n' in the text
90+
_buffer.reset()
91+
_buffer.insert_text('line1')
92+
_buffer.cursor_position = 0
93+
_buffer.join_next_line()
94+
95+
assert _buffer.text == 'line1'
96+
97+
98+
def test_newline(_buffer):
99+
_buffer.insert_text('hello world')
100+
_buffer.newline()
101+
102+
assert _buffer.text == 'hello world\n'
103+
104+
105+
def test_swap_characters_before_cursor(_buffer):
106+
_buffer.insert_text('hello world')
107+
_buffer.cursor_left()
108+
_buffer.cursor_left()
109+
_buffer.swap_characters_before_cursor()
110+
111+
assert _buffer.text == 'hello wrold'

tests/buffer_tests/__init__.py

Lines changed: 0 additions & 102 deletions
This file was deleted.

0 commit comments

Comments
 (0)