From 7276e11ecc2f0a824cc383b209e7195fcc1dba08 Mon Sep 17 00:00:00 2001 From: Liam Sho Date: Thu, 12 Aug 2021 21:57:28 +0800 Subject: [PATCH] Add a test for rendering table with EA characters Test rending a table with East Asia characters (Chinese, Japanese, Korean). The verified text file may look weird, but it looks normal and correctly in Console (tested in Windows Terminal, Terminal.app in macOS Monterey) --- .../Render_EA_Character.Output.verified.txt | 8 ++++++++ .../Unit/Widgets/Table/TableTests.cs | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_EA_Character.Output.verified.txt diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_EA_Character.Output.verified.txt b/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_EA_Character.Output.verified.txt new file mode 100644 index 0000000..013dde9 --- /dev/null +++ b/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_EA_Character.Output.verified.txt @@ -0,0 +1,8 @@ +┌───────────────┬───────────────┬──────────────┐ +│ Foo │ Bar │ Baz │ +├───────────────┼───────────────┼──────────────┤ +│ 中文 │ 日本語 │ 한국어 │ +│ 这是中文测试 │ これは日本語 │ 이것은한국어 │ +│ 字符串 │ のテスト文字 │ 테스트문자열 │ +│ │ 列です │ 입니다 │ +└───────────────┴───────────────┴──────────────┘ diff --git a/test/Spectre.Console.Tests/Unit/Widgets/Table/TableTests.cs b/test/Spectre.Console.Tests/Unit/Widgets/Table/TableTests.cs index 906169e..8ab6809 100644 --- a/test/Spectre.Console.Tests/Unit/Widgets/Table/TableTests.cs +++ b/test/Spectre.Console.Tests/Unit/Widgets/Table/TableTests.cs @@ -150,6 +150,24 @@ namespace Spectre.Console.Tests.Unit return Verifier.Verify(console.Output); } + [Fact] + [Expectation("Render_EA_Character")] + public Task Should_Render_Table_With_EA_Character_Correctly() + { + // Given + var console = new TestConsole().Width(48); + var table = new Table(); + table.AddColumns("Foo", "Bar", "Baz"); + table.AddRow("中文", "日本語", "한국어"); + table.AddRow("这是中文测试字符串", "これは日本語のテスト文字列です", "이것은한국어테스트문자열입니다"); + + // When + console.Write(table); + + // Then + return Verifier.Verify(console.Output); + } + [Fact] [Expectation("Render_Footers")] public Task Should_Render_Table_With_Footers_Correctly()