aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* split formatted calculations into multiple methodsJesse Luehrs2019-11-124-9/+332
| | | | | different applications want to be able to apply different things, so this gives more control
* actually resize the underlying grid when requestedJesse Luehrs2019-11-121-0/+14
|
* add another testJesse Luehrs2019-11-121-0/+21
|
* rename testJesse Luehrs2019-11-121-1/+1
| | | | so that it's easier to run on its own
* make contents_diff include bell stateJesse Luehrs2019-11-122-0/+35
| | | | i don't think it makes sense for contents_formatted to include this
* remove parser.screen_mutJesse Luehrs2019-11-125-33/+42
| | | | | | it's easier to reason about if you are only able to get an immutable reference to the internal screen. this also required changing the api for bells.
* optimize erases a bit moreJesse Luehrs2019-11-113-28/+12
|
* preserve all text attributes on cleared cellsJesse Luehrs2019-11-111-0/+44
| | | | | | | some terminals require it (alacritty wants to render underline and inverse state of cleared cells, for instance, so we have to be sure that the diff algorithm will properly reset the cursor attributes before clearing cells)
* actually, i do need to disable this in each testJesse Luehrs2019-11-1114-0/+28
|
* allow cognitive_complexity everywhereJesse Luehrs2019-11-117-13/+0
|
* add Default impl for ParserJesse Luehrs2019-11-1013-50/+50
|
* remove the scroll_to and scroll_pos methodsJesse Luehrs2019-11-101-28/+28
| | | | | they are unnecessary, you can just call the methods on the screen object directly
* optimize attribute setting a bitJesse Luehrs2019-11-103-28/+20
|
* optimize cursor movement a bitJesse Luehrs2019-11-105-55/+54
|
* implement scrolling backJesse Luehrs2019-11-091-0/+84
|
* optionally save scrollback rowsJesse Luehrs2019-11-0914-53/+53
|
* use a fixed size buffer for cell dataJesse Luehrs2019-11-091-0/+8
| | | | this dramatically speeds things up
* refactor terminal writingJesse Luehrs2019-11-092-16/+13
|
* remove unnecessary accessorsJesse Luehrs2019-11-084-106/+0
| | | | nobody should be caring about the terminal state internals
* ignore the scroll region when moving if we're already outside of itJesse Luehrs2019-11-081-0/+3
|
* fix tests for the attribute reset changeJesse Luehrs2019-11-085-36/+36
|
* stop treating soft hyphen speciallyJesse Luehrs2019-11-081-99/+0
|
* don't leave old character data in the second cell of a wide characterJesse Luehrs2019-11-081-4/+56
| | | | | | otherwise it might confuse the diffing algorithm if a non-wide character is written there and then it goes back to being the second cell of a wide character
* VPA should not be restricted to the scroll regionJesse Luehrs2019-11-081-0/+4
| | | | since it is absolute positioning
* fix RI at the top of the screenJesse Luehrs2019-11-081-0/+6
|
* fix wide character handling in contents_formatted and contents_diffJesse Luehrs2019-11-082-0/+61
|
* remove some unnecessary testsJesse Luehrs2019-11-081-4/+0
|
* clearing cells sets the background colorJesse Luehrs2019-11-081-0/+284
|
* actually, we do need to always reset the hide cursor stateJesse Luehrs2019-11-063-15/+30
|
* also add a rows_diff methodJesse Luehrs2019-11-061-16/+72
|
* make row.contents_diff not require the row indexJesse Luehrs2019-11-061-3/+6
|
* also test less of the crawl ttyrec by defaultJesse Luehrs2019-11-061-1/+1
|
* also run a subset of splits tests by defaultJesse Luehrs2019-11-061-2/+13
|
* contents_formatted should additionally clear the screenJesse Luehrs2019-11-063-15/+16
|
* contents_formatted and contents_diff should also restore the cursorJesse Luehrs2019-11-062-8/+14
| | | | since the cursor is a visible part of the terminal
* add more extensive test fixturesJesse Luehrs2019-11-057596-11/+7711
|
* reset attrs at the start of diffsJesse Luehrs2019-11-051-4/+13
| | | | | otherwise they might inherit the attrs state from the end of the previous state
* fix erasing cells in diffJesse Luehrs2019-11-0531-1/+82
| | | | also add more comprehensive tests
* add functionality for diffing two terminal screensJesse Luehrs2019-11-051-19/+70
|
* adjust the way window contents are reportedJesse Luehrs2019-11-0511-208/+435
| | | | | | | | | | | | | | | | contents and contents_formatted now only allow getting the entire terminal contents, and for any other uses we now provide rows and rows_formatted. the reasoning here is that it wasn't particularly useful to return newline (or crlf) separated lines when not drawing the full terminal, since it's not like you can send those to the terminal in any meaningful way anyway (like, if you wanted to draw a subset of the terminal state, you'll almost certainly need to be doing explicit positioning on your own, since crlf is only actually correct if you're drawing the screen subset in the upper left hand corner of the screen). with this, you can draw each (subset of a) line individually, and reposition the cursor in whatever way makes sense in between drawing the lines.
* stop wrapping if the number of cols changesJesse Luehrs2019-11-051-0/+19
|
* preserve the state of empty cells in contents_formattedJesse Luehrs2019-11-051-0/+12
|
* contents_formatted should return a Vec<u8>Jesse Luehrs2019-11-054-16/+16
| | | | | the overall terminal escape sequence byte stream is not necessarily utf8-safe, even if individual cell contents are
* expose the screen separately from the parserJesse Luehrs2019-11-0514-1280/+1422
|
* also make sure the formatted contents stays the sameJesse Luehrs2019-11-041-2/+5
|
* more useful contents/contents_formatted behaviorJesse Luehrs2019-11-049-281/+162
|
* decsc should also save graphic rendition and origin modeJesse Luehrs2019-11-031-0/+21
|
* move some tests aroundJesse Luehrs2019-11-032-100/+99
|
* more testsJesse Luehrs2019-11-033-3/+90
|
* rename some methodsJesse Luehrs2019-11-0312-181/+181
|