diff options
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla31395.cs')
-rw-r--r-- | Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla31395.cs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla31395.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla31395.cs new file mode 100644 index 00000000..57b9b98c --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla31395.cs @@ -0,0 +1,54 @@ +using System; + +using Xamarin.Forms.CustomAttributes; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +#endif + +namespace Xamarin.Forms.Controls +{ + // don't forget to update C:\Users\chrisk\Documents\git\DuploBuddy\Xamarin.Forms.ControlGallery.Android\LinkerRoots.cs + [Preserve (AllMembers = true)] + [Issue (IssueTracker.Bugzilla, 31395, "Crash when switching MainPage and using a Custom Render")] + public class Bugzilla31395 : TestContentPage // or TestMasterDetailPage, etc ... + { + protected override void Init () + { + Content = new CustomContentView { // Replace with ContentView and everything works fine + Content = new StackLayout { + VerticalOptions = LayoutOptions.Center, + Children = { + new Button { + Text = "Switch Main Page", + Command = new Command (() => SwitchMainPage ()) + } + } + } + }; + } + + void SwitchMainPage () + { + Application.Current.MainPage = new ContentPage { Content = new Label { Text = "Hello" } }; + } + + public class CustomContentView : ContentView + { + + } + + #if UITEST + [Test] + public void Bugzilla31395Test () + { + RunningApp.WaitForElement (q => q.Marked ("Switch Main Page")); + Assert.DoesNotThrow (() => { + RunningApp.Tap (c => c.Marked ("Switch Main Page")); + }); + RunningApp.WaitForElement (q => q.Marked ("Hello")); + } + #endif + } +} |