未验证 提交 9624a79d 编写于 作者: I Immo Landwerth 提交者: GitHub

Add ConsoleKey.None and ConsoleModifiers.None (#83114)

This fixes #79868.
上级 3a360409
......@@ -228,6 +228,7 @@ public enum ConsoleColor
}
public enum ConsoleKey
{
None = 0,
Backspace = 8,
Tab = 9,
Clear = 12,
......@@ -389,6 +390,7 @@ public enum ConsoleKey
[System.FlagsAttribute]
public enum ConsoleModifiers
{
None = 0,
Alt = 1,
Shift = 2,
Control = 4,
......
......@@ -5,6 +5,7 @@ namespace System
{
public enum ConsoleKey
{
None = 0x0,
Backspace = 0x8,
Tab = 0x9,
Clear = 0xC,
......
......@@ -6,6 +6,7 @@ namespace System
[Flags]
public enum ConsoleModifiers
{
None = 0,
Alt = 1,
Shift = 2,
Control = 4
......
......@@ -63,7 +63,7 @@ private static bool TryParseTerminalInputSequence(char[] buffer, TerminalFormatS
}
Dictionary<ReadOnlyMemory<char>, ConsoleKeyInfo> terminfoDb = terminalFormatStrings.KeyFormatToConsoleKey; // the most important source of truth
ConsoleModifiers modifiers = 0;
ConsoleModifiers modifiers = ConsoleModifiers.None;
ConsoleKey key;
// Is it a three character sequence? (examples: '^[[H' (Home), '^[OP' (F1))
......
......@@ -12,9 +12,19 @@ public class ConsoleKeyInfoTests
public void Ctor_DefaultCtor_PropertiesReturnDefaults()
{
ConsoleKeyInfo cki = new ConsoleKeyInfo();
Assert.Equal(default(ConsoleKey), cki.Key);
Assert.Equal(ConsoleKey.None, cki.Key);
Assert.Equal(default(char), cki.KeyChar);
Assert.Equal(default(ConsoleModifiers), cki.Modifiers);
Assert.Equal(ConsoleModifiers.None, cki.Modifiers);
}
[Fact]
public void Ctor_ValueCtor_ReturnsNoneForDefault()
{
ConsoleKeyInfo cki = new ConsoleKeyInfo(';', default(ConsoleKey), false, false, false);
Assert.Equal(ConsoleKey.None, cki.Key);
Assert.Equal(';', cki.KeyChar);
Assert.Equal(ConsoleModifiers.None, cki.Modifiers);
}
[Theory]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册