diff options
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2289.xaml.cs')
-rw-r--r-- | Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2289.xaml.cs | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2289.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2289.xaml.cs new file mode 100644 index 00000000..7a1cb70d --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2289.xaml.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; + +using Xamarin.Forms; +using Xamarin.Forms.CustomAttributes; +using System.Windows.Input; +using System.Diagnostics; + +#if UITEST +using NUnit.Framework; +using Xamarin.UITest; +using Xamarin.UITest.iOS; +#endif + +namespace Xamarin.Forms.Controls +{ + [Preserve (AllMembers = true)] + [Issue (IssueTracker.Github, 2289, "TextCell IsEnabled property not disabling element in TableView", PlatformAffected.iOS)] + public partial class Issue2289 : TestContentPage + { + +#if APP + public Issue2289 () + { + InitializeComponent (); + } +#endif + + protected override void Init () + { + MoreCommand = new Command<MenuItem> ((menuItem) => { + Debug.WriteLine ("More! Command Called!"); + }); + + DeleteCommand = new Command<MenuItem> ((menuItem) => { + Debug.WriteLine ("Delete Command Called!"); + }); + BindingContext = this; + } + + public ICommand MoreCommand { get; protected set; } + + public ICommand DeleteCommand { get; protected set; } + +#if UITEST + [Test] + [Ignore("Fails sometimes on XTC")] + public void TestIsEnabledFalse () + { + if (RunningApp is iOSApp) { + var disable1 = RunningApp.Query (c => c.Marked ("txtCellDisable1")) [0]; + Assert.IsFalse (disable1.Enabled); + var disable2 = RunningApp.Query (c => c.Marked ("txtCellDisable2")) [0]; + Assert.IsFalse (disable2.Enabled); + } + } + + [Test] + [Ignore("Fails sometimes on XTC")] + public void TestIsEnabledFalseContextActions () + { + if (RunningApp is iOSApp) { + var disable1 = RunningApp.Query (c => c.Marked ("txtCellDisableContextActions1")) [0]; + Assert.IsFalse (disable1.Enabled); + + var screenBounds = RunningApp.Query (q => q.Raw ("* index:0")) [0].Rect; + + if (RunningApp is iOSApp) { + RunningApp.DragCoordinates (screenBounds.Width - 10, disable1.Rect.CenterY, 10, disable1.Rect.CenterY); + } else { + disable1 = RunningApp.Query (c => c.Marked ("txtCellDisableContextActions1")) [0]; + RunningApp.TouchAndHoldCoordinates (disable1.Rect.CenterX, disable1.Rect.CenterY); + } + RunningApp.Screenshot ("Not showing context menu"); + RunningApp.WaitForNoElement (c => c.Marked ("More")); + RunningApp.TapCoordinates (screenBounds.CenterX, screenBounds.CenterY); + } + } + + [Test] + [Ignore("Fails sometimes on XTC")] + public void TestIsEnabledTrue () + { + if (RunningApp is iOSApp) { + var disable1 = RunningApp.Query (c => c.Marked ("txtCellEnable1")) [0]; + Assert.IsTrue (disable1.Enabled); + var disable2 = RunningApp.Query (c => c.Marked ("txtCellEnable2")) [0]; + Assert.IsTrue (disable2.Enabled); + } + + } + + [Test] + [Ignore("Fails sometimes on XTC")] + public void TestIsEnabledTrueContextActions () + { + if (RunningApp is iOSApp) { + var disable1 = RunningApp.Query (c => c.Marked ("txtCellEnabledContextActions1")) [0]; + Assert.IsTrue (disable1.Enabled); + + var screenBounds = RunningApp.Query (q => q.Raw ("* index:0")) [0].Rect; + + if (RunningApp is iOSApp) { + RunningApp.DragCoordinates (screenBounds.Width - 10, disable1.Rect.CenterY, 10, disable1.Rect.CenterY); + } else { + disable1 = RunningApp.Query (c => c.Marked ("txtCellEnabledContextActions1")) [0]; + RunningApp.TouchAndHoldCoordinates (disable1.Rect.CenterX, disable1.Rect.CenterY); + } + + RunningApp.Screenshot ("Showing context menu"); + RunningApp.WaitForElement (c => c.Marked ("More")); + } + + } +#endif + + } +} + |