diff --git a/src/XTerm.NET.Tests/InputHandlerTests.cs b/src/XTerm.NET.Tests/InputHandlerTests.cs index 4fd205f..c6da7e2 100644 --- a/src/XTerm.NET.Tests/InputHandlerTests.cs +++ b/src/XTerm.NET.Tests/InputHandlerTests.cs @@ -64,6 +64,21 @@ public void Print_MultipleCharacters_PrintsSequentially() Assert.Equal("Hello", line.TranslateToString(true, 0, 5)); } + [Fact] + public void Write_DecSpecialGraphics_MapsCornersCorrectly() + { + // Arrange + var terminal = CreateTerminal(); + + // Act + terminal.Write("\x1B(0jklmqx\x1B(Bj"); + + // Assert + var line = terminal.Buffer.Lines[0]; + Assert.NotNull(line); + Assert.Equal("\u2518\u2510\u250c\u2514\u2500\u2502j", line.TranslateToString(true)); + } + [Fact] public void HandleCsi_CursorUp_MovesCursor() { diff --git a/src/XTerm.NET/Common/Charsets.cs b/src/XTerm.NET/Common/Charsets.cs index da1df6e..b8a6a01 100644 --- a/src/XTerm.NET/Common/Charsets.cs +++ b/src/XTerm.NET/Common/Charsets.cs @@ -14,7 +14,7 @@ public static class Charsets public static readonly Dictionary VT100LineDrawing = new() { // Box Drawing Characters - { 'j', "\u250c" }, // ? Bottom right corner + { 'j', "\u2518" }, // ? Bottom right corner { 'k', "\u2510" }, // ? Top right corner { 'l', "\u250c" }, // ? Top left corner { 'm', "\u2514" }, // ? Bottom left corner