summaryrefslogtreecommitdiff
path: root/tests/extern/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'tests/extern/README.md')
-rw-r--r--tests/extern/README.md17
1 files changed, 15 insertions, 2 deletions
diff --git a/tests/extern/README.md b/tests/extern/README.md
index cff42ed..2a52e29 100644
--- a/tests/extern/README.md
+++ b/tests/extern/README.md
@@ -2,7 +2,9 @@
This directory holds test suites imported from external projects. These are
kept for reference and cross-checking against our own terminal emulator's
-behavior. On Linux, `make test` builds and runs the adapted Kitty parser suite.
+behavior. Every unsanitized Linux build runs the adapted Kitty parser
+suite with the unit tests. `-Dkitty_tests=true` makes a missing suite an
+error.
## kitty/
@@ -35,9 +37,20 @@ Kitty parser test suite against it via a Python compatibility layer.
### Test status (14 tests)
All 14 tests pass. Features implemented for Kitty parity include DEC
-Special Graphics charset translation (G0/G1, SO/SI), literal `\t` cells,
+Special Graphics charset translation (G0/G1, SO/SI),
LNM-default-off linefeed semantics, CSI insert-character and REP edge
cases, DECRQM mode reports, DECRQSS (DCS `$q`) and XTGETTCAP (DCS `+q`)
responses, DECCARA/DECSACE (CSI `$r` / `*x`), secondary device attributes
(CSI `=c`), XTWINOPS cell-size report (CSI `14t`), underline styles 0–5,
and SGR underline color (58/59) including colon-form subparameters.
+
+### Deliberate differences from Kitty
+
+The terminal follows xterm in two places. `parser.py` checks the xterm
+result there, with a comment at each check.
+
+- A cursor position report (CSI 6n) with a pending wrap reports the last
+ column. Kitty reports the first column of the next line.
+- HT only moves the cursor. Kitty writes a tab cell and blanks the cells
+ it skips, so a tab erases the text under it. `spec-test` checks that a
+ tab does not erase.