From e3bddebac6821a95fcbba0624aba16f7b1bdac9c Mon Sep 17 00:00:00 2001 From: Takoooooo Date: Wed, 2 Feb 2022 14:09:26 +0200 Subject: [PATCH] add repeatbutton test --- samples/IntegrationTestApp/MainWindow.axaml | 5 ++++- samples/IntegrationTestApp/MainWindow.axaml.cs | 17 +++++++++++++++++ .../ButtonTests.cs | 10 ++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/samples/IntegrationTestApp/MainWindow.axaml b/samples/IntegrationTestApp/MainWindow.axaml index fe1487a7f2..4db06a2f53 100644 --- a/samples/IntegrationTestApp/MainWindow.axaml +++ b/samples/IntegrationTestApp/MainWindow.axaml @@ -34,7 +34,7 @@ - + + + + diff --git a/samples/IntegrationTestApp/MainWindow.axaml.cs b/samples/IntegrationTestApp/MainWindow.axaml.cs index b9e631a312..8bdbba3d44 100644 --- a/samples/IntegrationTestApp/MainWindow.axaml.cs +++ b/samples/IntegrationTestApp/MainWindow.axaml.cs @@ -10,16 +10,33 @@ namespace IntegrationTestApp { public class MainWindow : Window { + private int _repeatButtonClickCount = 0; + private bool _repeatButtonClickHandlerAdded = false; public MainWindow() { InitializeComponent(); InitializeViewMenu(); this.AttachDevTools(); AddHandler(Button.ClickEvent, OnButtonClick); + var buttons = this.Find("buttons"); + buttons!.GetObservable(TabItem.IsSelectedProperty).Subscribe(x => + { + if (x == true && _repeatButtonClickHandlerAdded == false) + { + this.Find("RepeatButton")!.Click += (a, e) => + { + _repeatButtonClickCount++; + var textBlock = this.FindControl("RepeatButtonTextBlock"); + textBlock.Text = $"Repeat Button: {_repeatButtonClickCount}"; + }; + _repeatButtonClickHandlerAdded = true; + } + }); ListBoxItems = Enumerable.Range(0, 100).Select(x => "Item " + x).ToList(); DataContext = this; } + public List ListBoxItems { get; } private void InitializeComponent() diff --git a/tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs b/tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs index 2ac859e091..64cc461cb5 100644 --- a/tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs +++ b/tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs @@ -36,6 +36,16 @@ namespace Avalonia.IntegrationTests.Appium Assert.True(button.Enabled); } + [Fact] + public void RepeatButton() + { + var button = _session.FindElementByAccessibilityId("RepeatButton"); + button.Click(); + Assert.Equal("Repeat Button: 1", button.Text); + button.Click(); + Assert.Equal("Repeat Button: 2", button.Text); + } + [Fact] public void ButtonWithTextBlock() {