new primitives for reading/writing files
[view.love.git] / text_tests
blobf39d47eddb5b73897f300029d4898ab965cc38a4
1 == Summary of tests for the text editor
3 This doesn't include all tests. Intended to be the "timeless core" of a text
4 editor widget that shouldn't change across forks.
6 # basic
7 initial state
8 draw text
9 draw wrapping text
10 draw word wrapping text
11 draw text wrapping within word
12 draw wrapping text containing non ascii
14 # mouse
15 click moves cursor
16 click to left of line
17 click takes margins into account
18 click on empty line
19 click on wrapping line
20 click on wrapping line takes margins into account
21 click on wrapping line
22 click on wrapping line rendered from partway at top of screen
23 click past end of wrapping line
24 click past end of wrapping line containing non ascii
25 click past end of word wrapping line
27 # cursor movement
28 move left
29   move left to previous line
30 move right
31   move right to next line
33 move to start of word
34   move to start of previous word
35   move to start of word on previous line
36 move past end of word
37   move past end of word on next line
38 skip to previous word
39   skip past tab to previous word
40   skip multiple spaces to previous word
41 skip to next word
42   skip past tab to next word
43   skip multiple spaces to next word
45 # mutating text
46 insert first character
47 edit wrapping text
48 insert newline
49 insert newline at start of line
50 insert from clipboard
51 backspace from start of final line
52 backspace past line boundary
53 backspace over selection
54 backspace over selection reverse
55 backspace over multiple lines
56 backspace to end of line
57 backspace to start of line
59 # scroll
60 pagedown
61 pagedown often shows start of wrapping line
62 pagedown can start from middle of long wrapping line
63 pagedown never moves up
64 down arrow moves cursor
65 down arrow scrolls down by one line
66 down arrow scrolls down by one screen line
67 down arrow scrolls down by one screen line after splitting within word
68 pagedown followed by down arrow does not scroll screen up
69 up arrow moves cursor
70 up arrow scrolls up by one line
71 up arrow scrolls up by one screen line
72 up arrow scrolls up to final screen line
73 up arrow scrolls up to empty line
74 pageup
75 pageup scrolls up by screen line
76 pageup scrolls up from middle screen line
77 enter on bottom line scrolls down
78 enter on final line avoids scrolling down when not at bottom
79 inserting text on final line avoids scrolling down when not at bottom
80 typing on bottom line scrolls down
81 left arrow scrolls up in wrapped line
82 right arrow scrolls down in wrapped line
83 home scrolls up in wrapped line
84 end scrolls down in wrapped line
85 position cursor on recently edited wrapping line
86 backspace can scroll up
87 backspace can scroll up screen line
89 # selection
90 select text using shift and cursor movement operations
91 select text using mouse
92   clicking to left of a line = start of line
93   clicking to right of a line = end of line
94   clicking above topmost line = top of screen
95   clicking below bottom-most line = bottom of screen
96 select text using mouse and shift
97 select text repeatedly using mouse and shift
98 cursor movement without shift resets selection
99 mouse click without shift resets selection
100 edit deletes selection
101 edit with shift key deletes selection
102 deleting selection may scroll
103 copy does not reset selection
105 cut without selection
106 paste replaces selection
108 # search
109 search
110 search upwards
111 search wrap
112 search wrap upwards
114 # undo
115 undo insert text
116 undo delete text
117 undo restores selection