Skip to content

Commit 4dd491b

Browse files
committed
move rest the tests over to py.test functions, pep8
1 parent 722f348 commit 4dd491b

File tree

11 files changed

+507
-431
lines changed

11 files changed

+507
-431
lines changed

tests/buffer/test_buffer.py

Lines changed: 82 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -2,101 +2,110 @@
22

33
from prompt_toolkit.buffer import Buffer
44

5-
import unittest
5+
import pytest
66

77

8-
class BufferTest(unittest.TestCase):
9-
def setUp(self):
10-
self.buffer = Buffer()
8+
@pytest.fixture
9+
def _buffer():
10+
return Buffer()
1111

12-
def test_initial(self):
13-
self.assertEqual(self.buffer.text, '')
14-
self.assertEqual(self.buffer.cursor_position, 0)
1512

16-
def test_insert_text(self):
17-
self.buffer.insert_text('some_text')
18-
self.assertEqual(self.buffer.text, 'some_text')
19-
self.assertEqual(self.buffer.cursor_position, len('some_text'))
13+
def test_initial(_buffer):
14+
assert _buffer.text == ''
15+
assert _buffer.cursor_position == 0
2016

21-
def test_cursor_movement(self):
22-
self.buffer.insert_text('some_text')
23-
self.buffer.cursor_left()
24-
self.buffer.cursor_left()
25-
self.buffer.cursor_left()
26-
self.buffer.cursor_right()
27-
self.buffer.insert_text('A')
2817

29-
self.assertEqual(self.buffer.text, 'some_teAxt')
30-
self.assertEqual(self.buffer.cursor_position, len('some_teA'))
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')
3122

32-
def test_backspace(self):
33-
self.buffer.insert_text('some_text')
34-
self.buffer.cursor_left()
35-
self.buffer.cursor_left()
36-
self.buffer.delete_before_cursor()
3723

38-
self.assertEqual(self.buffer.text, 'some_txt')
39-
self.assertEqual(self.buffer.cursor_position, len('some_t'))
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')
4031

41-
def test_cursor_up(self):
42-
# Cursor up to a line thats longer.
43-
self.buffer.insert_text('long line1\nline2')
44-
self.buffer.cursor_up()
32+
assert _buffer.text == 'some_teAxt'
33+
assert _buffer.cursor_position == len('some_teA')
4534

46-
self.assertEqual(self.buffer.document.cursor_position, 5)
4735

48-
# Going up when already at the top.
49-
self.buffer.cursor_up()
50-
self.assertEqual(self.buffer.document.cursor_position, 5)
36+
def test_backspace(_buffer):
37+
_buffer.insert_text('some_text')
38+
_buffer.cursor_left()
39+
_buffer.cursor_left()
40+
_buffer.delete_before_cursor()
5141

52-
# Going up to a line that's shorter.
53-
self.buffer.reset()
54-
self.buffer.insert_text('line1\nlong line2')
42+
assert _buffer.text == 'some_txt'
43+
assert _buffer.cursor_position == len('some_t')
5544

56-
self.buffer.cursor_up()
57-
self.assertEqual(self.buffer.document.cursor_position, 5)
5845

59-
def test_cursor_down(self):
60-
self.buffer.insert_text('line1\nline2')
61-
self.buffer.cursor_position = 3
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()
6250

63-
# Normally going down
64-
self.buffer.cursor_down()
65-
self.assertEqual(self.buffer.document.cursor_position, len('line1\nlin'))
51+
assert _buffer.document.cursor_position == 5
6652

67-
# Going down to a line that's storter.
68-
self.buffer.reset()
69-
self.buffer.insert_text('long line1\na\nb')
70-
self.buffer.cursor_position = 3
53+
# Going up when already at the top.
54+
_buffer.cursor_up()
55+
assert _buffer.document.cursor_position == 5
7156

72-
self.buffer.cursor_down()
73-
self.assertEqual(self.buffer.document.cursor_position, len('long line1\na'))
57+
# Going up to a line that's shorter.
58+
_buffer.reset()
59+
_buffer.insert_text('line1\nlong line2')
7460

75-
def test_join_next_line(self):
76-
self.buffer.insert_text('line1\nline2\nline3')
77-
self.buffer.cursor_up()
78-
self.buffer.join_next_line()
61+
_buffer.cursor_up()
62+
assert _buffer.document.cursor_position == 5
7963

80-
self.assertEqual(self.buffer.text, 'line1\nline2 line3')
8164

82-
# Test when there is no '\n' in the text
83-
self.buffer.reset()
84-
self.buffer.insert_text('line1')
85-
self.buffer.cursor_position = 0
86-
self.buffer.join_next_line()
65+
def test_cursor_down(_buffer):
66+
_buffer.insert_text('line1\nline2')
67+
_buffer.cursor_position = 3
8768

88-
self.assertEqual(self.buffer.text, 'line1')
69+
# Normally going down
70+
_buffer.cursor_down()
71+
assert _buffer.document.cursor_position == len('line1\nlin')
8972

90-
def test_newline(self):
91-
self.buffer.insert_text('hello world')
92-
self.buffer.newline()
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
9377

94-
self.assertEqual(self.buffer.text, 'hello world\n')
78+
_buffer.cursor_down()
79+
assert _buffer.document.cursor_position == len('long line1\na')
9580

96-
def test_swap_characters_before_cursor(self):
97-
self.buffer.insert_text('hello world')
98-
self.buffer.cursor_left()
99-
self.buffer.cursor_left()
100-
self.buffer.swap_characters_before_cursor()
10181

102-
self.assertEqual(self.buffer.text, 'hello wrold')
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/document/test_document.py

Lines changed: 55 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,74 @@
11
from __future__ import unicode_literals
22

3+
import pytest
4+
35
from prompt_toolkit.document import Document
46

5-
import unittest
7+
8+
@pytest.fixture
9+
def document():
10+
return Document(
11+
'line 1\n' +
12+
'line 2\n' +
13+
'line 3\n' +
14+
'line 4\n',
15+
len('line 1\n' + 'lin')
16+
)
17+
18+
19+
def test_current_char(document):
20+
assert document.current_char == 'e'
21+
22+
23+
def test_text_before_cursor(document):
24+
assert document.text_before_cursor == 'line 1\nlin'
25+
26+
27+
def test_text_after_cursor(document):
28+
assert document.text_after_cursor == 'e 2\n' + \
29+
'line 3\n' + \
30+
'line 4\n'
31+
32+
33+
def test_lines(document):
34+
assert document.lines == [
35+
'line 1',
36+
'line 2',
37+
'line 3',
38+
'line 4', '']
639

740

8-
class DocumentTest(unittest.TestCase):
9-
def setUp(self):
10-
self.document = Document(
11-
'line 1\n' +
12-
'line 2\n' +
13-
'line 3\n' +
14-
'line 4\n',
15-
len('line 1\n' + 'lin')
16-
)
41+
def test_line_count(document):
42+
assert document.line_count == 5
1743

18-
def test_current_char(self):
19-
self.assertEqual(self.document.current_char, 'e')
2044

21-
def test_text_before_cursor(self):
22-
self.assertEqual(self.document.text_before_cursor, 'line 1\nlin')
45+
def test_current_line_before_cursor(document):
46+
assert document.current_line_before_cursor == 'lin'
2347

24-
def test_text_after_cursor(self):
25-
self.assertEqual(self.document.text_after_cursor,
26-
'e 2\n' +
27-
'line 3\n' +
28-
'line 4\n')
2948

30-
def test_lines(self):
31-
self.assertEqual(self.document.lines, [
32-
'line 1',
33-
'line 2',
34-
'line 3',
35-
'line 4', ''])
49+
def test_current_line_after_cursor(document):
50+
assert document.current_line_after_cursor == 'e 2'
3651

37-
def test_line_count(self):
38-
self.assertEqual(self.document.line_count, 5)
3952

40-
def test_current_line_before_cursor(self):
41-
self.assertEqual(self.document.current_line_before_cursor, 'lin')
53+
def test_current_line(document):
54+
assert document.current_line == 'line 2'
4255

43-
def test_current_line_after_cursor(self):
44-
self.assertEqual(self.document.current_line_after_cursor, 'e 2')
4556

46-
def test_current_line(self):
47-
self.assertEqual(self.document.current_line, 'line 2')
57+
def test_cursor_position(document):
58+
assert document.cursor_position_row == 1
59+
assert document.cursor_position_col == 3
4860

49-
def test_cursor_position(self):
50-
self.assertEqual(self.document.cursor_position_row, 1)
51-
self.assertEqual(self.document.cursor_position_col, 3)
61+
d = Document('', 0)
62+
assert d.cursor_position_row == 0
63+
assert d.cursor_position_col == 0
5264

53-
d = Document('', 0)
54-
self.assertEqual(d.cursor_position_row, 0)
55-
self.assertEqual(d.cursor_position_col, 0)
5665

57-
def test_translate_index_to_position(self):
58-
pos = self.document.translate_index_to_position(
59-
len('line 1\nline 2\nlin'))
66+
def test_translate_index_to_position(document):
67+
pos = document.translate_index_to_position(
68+
len('line 1\nline 2\nlin'))
6069

61-
self.assertEqual(pos[0], 2)
62-
self.assertEqual(pos[1], 3)
70+
assert pos[0] == 2
71+
assert pos[1] == 3
6372

64-
pos = self.document.translate_index_to_position(0)
65-
self.assertEqual(pos, (0, 0))
73+
pos = document.translate_index_to_position(0)
74+
assert pos == (0, 0)

0 commit comments

Comments
 (0)