123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- == Summary of tests for the text editor
- This doesn't include all tests. Intended to be the "timeless core" of a text
- editor widget that shouldn't change across forks.
- # basic
- initial state
- draw text
- draw wrapping text
- draw word wrapping text
- draw text wrapping within word
- draw wrapping text containing non ascii
- # mouse
- click moves cursor
- click to left of line
- click takes margins into account
- click on empty line
- click on wrapping line
- click on wrapping line takes margins into account
- click on wrapping line
- click on wrapping line rendered from partway at top of screen
- click past end of wrapping line
- click past end of wrapping line containing non ascii
- click past end of word wrapping line
- click below final line of file
- # cursor movement
- move left
- move left to previous line
- move right
- move right to next line
- move to start of word
- move to start of previous word
- move to start of word on previous line
- move past end of word
- move past end of word on next line
- skip to previous word
- skip past tab to previous word
- skip multiple spaces to previous word
- skip to next word
- skip past tab to next word
- skip multiple spaces to next word
- # mutating text
- insert first character
- edit wrapping text
- insert newline
- insert newline at start of line
- insert from clipboard
- backspace from start of final line
- backspace past line boundary
- backspace over selection
- backspace over selection reverse
- backspace over multiple lines
- backspace to end of line
- backspace to start of line
- # scroll
- pagedown
- pagedown often shows start of wrapping line
- pagedown can start from middle of long wrapping line
- pagedown never moves up
- down arrow moves cursor
- down arrow scrolls down by one line
- down arrow scrolls down by one screen line
- down arrow scrolls down by one screen line after splitting within word
- pagedown followed by down arrow does not scroll screen up
- up arrow moves cursor
- up arrow scrolls up by one line
- up arrow scrolls up by one screen line
- up arrow scrolls up to final screen line
- up arrow scrolls up to empty line
- pageup
- pageup scrolls up by screen line
- pageup scrolls up from middle screen line
- enter on bottom line scrolls down
- enter on final line avoids scrolling down when not at bottom
- inserting text on final line avoids scrolling down when not at bottom
- typing on bottom line scrolls down
- left arrow scrolls up in wrapped line
- right arrow scrolls down in wrapped line
- home scrolls up in wrapped line
- end scrolls down in wrapped line
- position cursor on recently edited wrapping line
- backspace can scroll up
- backspace can scroll up screen line
- # selection
- select text using shift and cursor movement operations
- select text using mouse
- clicking to left of a line = start of line
- clicking to right of a line = end of line
- clicking above topmost line = top of screen
- clicking below bottom-most line = bottom of screen
- select text using mouse and shift
- select text repeatedly using mouse and shift
- cursor movement without shift resets selection
- mouse click without shift resets selection
- edit deletes selection
- edit with shift key deletes selection
- deleting selection may scroll
- copy does not reset selection
- cut
- cut without selection
- paste replaces selection
- # search
- search
- search upwards
- search wrap
- search wrap upwards
- # undo
- undo insert text
- undo delete text
- undo restores selection
|