summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43941.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43941.cs')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43941.cs136
1 files changed, 0 insertions, 136 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43941.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43941.cs
deleted file mode 100644
index b69e968a..00000000
--- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43941.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-using System;
-using System.Collections.Generic;
-using Xamarin.Forms.CustomAttributes;
-using Xamarin.Forms.Internals;
-using System.Threading;
-
-#if UITEST
-using Xamarin.UITest;
-using NUnit.Framework;
-#endif
-
-namespace Xamarin.Forms.Controls.Issues
-{
- [Preserve(AllMembers = true)]
- [Issue(IssueTracker.Bugzilla, 43941, "Memory leak with ListView's RecycleElement on iOS", PlatformAffected.iOS)]
- public class Bugzilla43941 : TestNavigationPage
- {
- protected override void Init()
- {
- PushAsync(new LandingPage43941());
- }
-
-#if UITEST && __IOS__
- [Test]
- public void Bugzilla43941Test()
- {
- for (var n = 0; n < 10; n++)
- {
- RunningApp.WaitForElement(q => q.Marked("Push"));
- RunningApp.Tap(q => q.Marked("Push"));
-
- RunningApp.WaitForElement(q => q.Marked("ListView"));
- RunningApp.Back();
- }
-
- // At this point, the counter can be any value, but it's most likely not zero.
- // Invoking GC once is enough to clean up all garbage data and set counter to zero
- RunningApp.WaitForElement(q => q.Marked("GC"));
- RunningApp.Tap(q => q.Marked("GC"));
-
- RunningApp.WaitForElement(q => q.Marked("Counter: 0"));
- }
-#endif
- }
-
- [Preserve(AllMembers = true)]
- public class ContentPage43941 : ContentPage
- {
- public ContentPage43941()
- {
- Interlocked.Increment(ref LandingPage43941.Counter);
- System.Diagnostics.Debug.WriteLine("Page: " + LandingPage43941.Counter);
-
- var list = new List<int>();
- for (var i = 0; i < 30; i++)
- list.Add(i);
-
- Title = "ContentPage43941";
- Content = new ListView
- {
- HasUnevenRows = true,
- ItemsSource = list,
- AutomationId = "ListView"
- };
- }
-
- ~ContentPage43941()
- {
- Interlocked.Decrement(ref LandingPage43941.Counter);
- System.Diagnostics.Debug.WriteLine("Page: " + LandingPage43941.Counter);
- }
- }
-
- [Preserve(AllMembers = true)]
- public class LandingPage43941 : ContentPage
- {
- public static int Counter;
- public Label Label;
-
- public LandingPage43941()
- {
- Label = new Label
- {
- Text = "Counter: " + Counter,
- HorizontalTextAlignment = TextAlignment.Center,
- VerticalTextAlignment = TextAlignment.Center
- };
-
- Content = new StackLayout
- {
- Orientation = StackOrientation.Vertical,
- HorizontalOptions = LayoutOptions.Center,
- VerticalOptions = LayoutOptions.Center,
- Spacing = 15,
- Children =
- {
- new Label
- {
- Text = "Click Push to show a ListView. When you hit the Back button, Counter will show the number of pages that have not been finalized yet."
- + " If you click GC, the counter should be 0."
- },
- Label,
- new Button
- {
- Text = "GC",
- AutomationId = "GC",
- Command = new Command(o =>
- {
- GC.Collect();
- GC.WaitForPendingFinalizers();
- GC.Collect();
- Label.Text = "Counter: " + Counter;
- })
- },
- new Button
- {
- Text = "Push",
- AutomationId = "Push",
- Command = new Command(async o =>
- {
- await Navigation.PushAsync(new ContentPage43941());
- })
- }
- }
- };
- }
-
- protected override void OnAppearing()
- {
- base.OnAppearing();
-
- if (Label != null)
- Label.Text = "Counter: " + Counter;
- }
- }
-} \ No newline at end of file