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