summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla32462.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla32462.cs')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla32462.cs57
1 files changed, 57 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla32462.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla32462.cs
new file mode 100644
index 00000000..86d75e99
--- /dev/null
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla32462.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Linq;
+
+using Xamarin.Forms.CustomAttributes;
+
+#if UITEST
+using Xamarin.UITest;
+using NUnit.Framework;
+#endif
+
+namespace Xamarin.Forms.Controls
+{
+ [Preserve (AllMembers = true)]
+ [Issue (IssueTracker.Bugzilla, 32462, "Crash after a page disappeared if a ScrollView is in the HeaderTemplate property of a ListView", PlatformAffected.Android)]
+ public class Bugzilla32462 : TestContentPage // or TestMasterDetailPage, etc ...
+ {
+ [Preserve (AllMembers = true)]
+ public class ListViewPage : ContentPage
+ {
+ public ListViewPage ()
+ {
+ var scrollview = new ScrollView {
+ Orientation = ScrollOrientation.Horizontal,
+ Content = new Label { Text = "some looooooooooooooooooooooooooooooooooooooooooooooooooooooog text" }
+ };
+ var stacklayout = new StackLayout ();
+ stacklayout.Children.Add (scrollview);
+ string[] list = Enumerable.Range (0, 40).Select (c => $"some text {c}").ToArray ();
+ var listview = new ListView { AutomationId = "listview", Header = stacklayout, ItemsSource = list };
+ Content = listview;
+
+ listview.ScrollTo (list[39], ScrollToPosition.Center, false);
+ }
+ }
+
+ protected override void Init ()
+ {
+ var button = new Button {
+ Text = "Click!",
+ };
+ button.Clicked += (object sender, EventArgs e) => Navigation.PushAsync (new ListViewPage ());
+ Content = button;
+ }
+
+#if UITEST
+ [Test]
+ public void Bugzilla36729Test ()
+ {
+ RunningApp.WaitForElement (q => q.Marked ("Click!"));
+ RunningApp.Tap (q => q.Marked ("Click!"));
+ RunningApp.WaitForElement (q => q.Marked ("listview"));
+ RunningApp.WaitForElement (q => q.Marked ("some text 35"));
+ RunningApp.Back ();
+ }
+#endif
+ }
+}