aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* one more try for leaving a cursor at the end of a rowJesse Luehrs2019-12-073-0/+15
|
* actually, remove normalization entirelyJesse Luehrs2019-12-079-11/+24
| | | | | | | normalization has some weird edge cases that cause incorrect behavior, since we aren't implementing full grapheme segmentation (for instance, a single codepoint can be normalized into three different codepoints, and there are codepoints that are combining characters but have width != 0)
* need to update pos after potentially wrappingJesse Luehrs2019-12-063-0/+27
|
* more line wrapping fixesJesse Luehrs2019-12-0611-0/+100
|
* fix contents when a wrapped row is followed by an empty rowJesse Luehrs2019-12-061-1/+1
|
* also move the wide char check inside the loop for ECHJesse Luehrs2019-12-063-0/+17
|
* handle line wrapping with wide characters + combining charactersJesse Luehrs2019-12-063-0/+19
|
* zero-width characters shouldn't clear wide charactersJesse Luehrs2019-12-063-0/+22
|
* preserve wrapping state when possibleJesse Luehrs2019-12-0611-0/+81
|
* remove remaining unnecessary lint flagsJesse Luehrs2019-12-064-8/+1
|
* convert tests to fixturesJesse Luehrs2019-12-06662-2306/+65213
|
* start restructuring the test suiteJesse Luehrs2019-12-063-150/+572
|
* simplify the behavior around end of line wrapping hereJesse Luehrs2019-12-051-2/+2
| | | | | | the behavior i was aiming for had way too many special cases, so just stop trying to do it and do the simple thing instead (this is all stuff that is essentially never going to come up in reality).
* ensure cells with contents always have widthJesse Luehrs2019-12-051-0/+6
| | | | it gets ambiguous where the zero-width characters should go otherwise
* handle wide char wrapping correctlyJesse Luehrs2019-12-051-0/+4
| | | | | wrapping a wide char should set the wrapping state of the line even if it wrapped before the last column
* fix applying combining characters to wide charactersJesse Luehrs2019-12-051-0/+4
|
* track fullwidth continuation cells explicitlyJesse Luehrs2019-12-051-0/+14
| | | | this makes the logic a bit easier to follow
* fix a couple more issues with end of line behaviorJesse Luehrs2019-12-053-6/+71
|
* make unicode normalization optionalJesse Luehrs2019-11-231-0/+1
| | | | | | it's not always necessary or desired, and adds quite a lot to the binary size (for instance, the problem it solves is pretty much non-existent in web browsers, and wasm builds are also very sensitive to code size)
* combining characters should also trigger a cursor wrapJesse Luehrs2019-11-201-1/+1
| | | | | this seems pretty weird, but it is what all other terminals i can find do, so
* handle wrapped cursors properly on outputJesse Luehrs2019-11-201-0/+15
|
* fix zero width characters at the end of a rowJesse Luehrs2019-11-131-0/+8
|
* 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
|