Partially Addresses #2616. Support combining sequences that don't normalize (#2932)

* Fixes #2616. Support combining sequences that don't normalize

* Decouples Application from ConsoleDriver in TestHelpers

* Updates driver tests to match new arch

* Start on making all driver tests test all drivers

* Improves handling if combining marks.

* Fix unit tests fails.

* Fix unit tests fails.

* Handling combining mask.

* Tying to fix this unit test that sometimes fail.

* Add support for combining mask on NetDriver.

* Enable CombiningMarks as List<Rune>.

* Prevents combining marks on invalid runes default and space.

* Formatting for CI tests.

* Fix non-normalized combining mark to add 1 to Col.

* Reformatting for retest the CI.

* Forces non-normalized CMs to be ignored.

---------

Co-authored-by: Tig <tig@users.noreply.github.com>
This commit is contained in:
BDisp
2023-10-29 18:51:23 +00:00
committed by GitHub
parent 095013bf0d
commit aa8b952509
26 changed files with 414 additions and 269 deletions

View File

@@ -858,19 +858,19 @@ namespace Terminal.Gui.ViewsTests {
// Normal drawing of the tree view
TestHelpers.AssertDriverContentsAre (
@"├-normal
TestHelpers.AssertDriverContentsAre (@"
├-normal
│ ├─pink
│ └─normal
└─pink
", output);
// Should all be the same color
TestHelpers.AssertDriverColorsAre (
@"00000000
TestHelpers.AssertDriverColorsAre (@"
00000000
00000000
0000000000
000000
",
", driver: Application.Driver,
new [] { tv.ColorScheme.Normal, pink });
var pinkScheme = new ColorScheme {
@@ -887,20 +887,20 @@ namespace Terminal.Gui.ViewsTests {
tv.Draw ();
// Same text
TestHelpers.AssertDriverContentsAre (
@"├-normal
TestHelpers.AssertDriverContentsAre (@"
├-normal
│ ├─pink
│ └─normal
└─pink
", output);
// but now the item (only not lines) appear
// in pink when they are the word "pink"
TestHelpers.AssertDriverColorsAre (
@"00000000
TestHelpers.AssertDriverColorsAre (@"
00000000
00001111
0000000000
001111
",
", driver: Application.Driver,
new [] { tv.ColorScheme.Normal, pink });
}