From 052adb5856507c9dca0cc8b72176691828fba952 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Thu, 5 Dec 2024 21:12:20 +0800 Subject: [PATCH] feat: add fail test. --- .../Controls/PinCodeTests/PasteTest.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/HeadlessTest.Ursa/Controls/PinCodeTests/PasteTest.cs b/tests/HeadlessTest.Ursa/Controls/PinCodeTests/PasteTest.cs index dc72db7..fad68f8 100644 --- a/tests/HeadlessTest.Ursa/Controls/PinCodeTests/PasteTest.cs +++ b/tests/HeadlessTest.Ursa/Controls/PinCodeTests/PasteTest.cs @@ -3,6 +3,7 @@ using Avalonia.Headless; using Avalonia.Headless.XUnit; using Avalonia.Input; using Avalonia.Threading; +using CommunityToolkit.Mvvm.Input; using Ursa.Controls; namespace HeadlessTest.Ursa.Controls.PinCodeTests; @@ -13,9 +14,11 @@ public class PasteTest public async void Paste_Should_Insert_Text() { var window = new Window(); + bool commandInvoked = false; var pinCode = new PinCode() { Count = 4, + CompleteCommand = new RelayCommand(() => commandInvoked = true), }; window.Content = pinCode; window.Show(); @@ -27,15 +30,18 @@ public class PasteTest // add await for clipboard processing. await Task.Delay(1); Assert.Equal("abcd", string.Join("", pinCode.Digits)); + Assert.True(commandInvoked); } [AvaloniaFact] public async void Paste_Should_Insert_Text_When_Text_Is_Shorter() { var window = new Window(); + bool commandInvoked = false; var pinCode = new PinCode() { Count = 4, + CompleteCommand = new RelayCommand(() => commandInvoked = true), }; window.Content = pinCode; window.Show(); @@ -46,15 +52,18 @@ public class PasteTest window.KeyPressQwerty(PhysicalKey.V, RawInputModifiers.Control); await Task.Delay(1); Assert.Equal("abc", string.Join("", pinCode.Digits)); + Assert.False(commandInvoked); } [AvaloniaFact] public async void Paste_Should_Insert_Text_When_Text_Is_Longer() { var window = new Window(); + bool commandInvoked = false; var pinCode = new PinCode() { Count = 4, + CompleteCommand = new RelayCommand(() => commandInvoked = true), }; window.Content = pinCode; window.Show(); @@ -65,16 +74,19 @@ public class PasteTest window.KeyPressQwerty(PhysicalKey.V, RawInputModifiers.Control); await Task.Delay(1); Assert.Equal("abcd", string.Join("", pinCode.Digits)); + Assert.True(commandInvoked); } [AvaloniaFact] public async void Paste_Should_Not_Insert_Text_When_Text_Is_In_Invalid_Mode() { var window = new Window(); + var commandInvoked = false; var pinCode = new PinCode() { Count = 4, Mode = PinCodeMode.Digit, + CompleteCommand = new RelayCommand(() => commandInvoked = true), }; window.Content = pinCode; window.Show(); @@ -85,5 +97,6 @@ public class PasteTest window.KeyPressQwerty(PhysicalKey.V, RawInputModifiers.Control); await Task.Delay(1); Assert.Equal("", string.Join("", pinCode.Digits)); + Assert.False(commandInvoked); } } \ No newline at end of file