3 changed files with 60 additions and 29 deletions
@ -1,28 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Linq; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Xunit; |
|
||||
|
|
||||
namespace Avalonia.Input.UnitTests |
|
||||
{ |
|
||||
public class KeyGestureParseTests |
|
||||
{ |
|
||||
private static readonly Dictionary<string, KeyGesture> SampleData = new Dictionary<string, KeyGesture> |
|
||||
{ |
|
||||
{"Ctrl+A", new KeyGesture {Key = Key.A, Modifiers = InputModifiers.Control}}, |
|
||||
{" \tShift\t+Alt +B", new KeyGesture {Key = Key.B, Modifiers = InputModifiers.Shift|InputModifiers.Alt} }, |
|
||||
{"Control++", new KeyGesture {Key = Key.OemPlus, Modifiers = InputModifiers.Control} } |
|
||||
}; |
|
||||
|
|
||||
|
|
||||
|
|
||||
[Fact] |
|
||||
public void Key_Gesture_Is_Able_To_Parse_Sample_Data() |
|
||||
{ |
|
||||
foreach (var d in SampleData) |
|
||||
Assert.Equal(d.Value, KeyGesture.Parse(d.Key)); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -0,0 +1,44 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
using System.Threading.Tasks; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace Avalonia.Input.UnitTests |
||||
|
{ |
||||
|
public class KeyGestureTests |
||||
|
{ |
||||
|
public static readonly IEnumerable<object[]> SampleData = new object[][] |
||||
|
{ |
||||
|
new object[]{"Ctrl+A", new KeyGesture {Key = Key.A, Modifiers = InputModifiers.Control}}, |
||||
|
new object[]{" \tShift\t+Alt +B", new KeyGesture {Key = Key.B, Modifiers = InputModifiers.Shift|InputModifiers.Alt} }, |
||||
|
new object[]{"Control++", new KeyGesture {Key = Key.OemPlus, Modifiers = InputModifiers.Control} } |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
|
||||
|
[Theory] |
||||
|
[MemberData(nameof(SampleData))] |
||||
|
public void Key_Gesture_Is_Able_To_Parse_Sample_Data(string text, KeyGesture gesture) |
||||
|
{ |
||||
|
Assert.Equal(gesture, KeyGesture.Parse(text)); |
||||
|
} |
||||
|
|
||||
|
[Theory] |
||||
|
[InlineData(Key.OemMinus, Key.Subtract)] |
||||
|
[InlineData(Key.OemPlus, Key.Add)] |
||||
|
[InlineData(Key.OemPeriod, Key.Decimal)] |
||||
|
public void Key_Gesture_Matches_NumPad_To_Regular_Digit(Key gestureKey, Key pressedKey) |
||||
|
{ |
||||
|
var keyGesture = new KeyGesture |
||||
|
{ |
||||
|
Key = gestureKey |
||||
|
}; |
||||
|
Assert.True(keyGesture.Matches(new KeyEventArgs |
||||
|
{ |
||||
|
Key = pressedKey |
||||
|
})); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue