diff options
author | Jason Smith <jason.smith@xamarin.com> | 2016-03-22 13:02:25 -0700 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-03-22 16:13:41 -0700 |
commit | 17fdde66d94155fc62a034fa6658995bef6fd6e5 (patch) | |
tree | b5e5073a2a7b15cdbe826faa5c763e270a505729 /Xamarin.Forms.Core.iOS.UITests/Tests/ActionSheetUITests.cs | |
download | xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.gz xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.bz2 xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.zip |
Initial import
Diffstat (limited to 'Xamarin.Forms.Core.iOS.UITests/Tests/ActionSheetUITests.cs')
-rw-r--r-- | Xamarin.Forms.Core.iOS.UITests/Tests/ActionSheetUITests.cs | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.iOS.UITests/Tests/ActionSheetUITests.cs b/Xamarin.Forms.Core.iOS.UITests/Tests/ActionSheetUITests.cs new file mode 100644 index 00000000..9899d024 --- /dev/null +++ b/Xamarin.Forms.Core.iOS.UITests/Tests/ActionSheetUITests.cs @@ -0,0 +1,171 @@ +using NUnit.Framework; +using Xamarin.UITest; +using System; +using System.Threading; +using Xamarin.UITest.Queries; + +namespace Xamarin.Forms.Core.UITests +{ + [TestFixture] + [Category ("ActionSheet")] + internal class ActionSheetUITests : BaseTestFixture + { + AppRect screenSize; + + public ActionSheetUITests () + { + + } + + protected override void NavigateToGallery () + { + App.NavigateToGallery (GalleryQueries.ActionSheetGallery); + } + + static void CheckExtras () + { + App.WaitForElement (c => c.Marked ("Extra One")); + App.WaitForElement (c => c.Marked ("Extra Eight")); + } + + protected override void TestSetup () + { + base.TestSetup (); + screenSize = App.Query (q => q.Marked ("ActionSheetPage"))[0].Rect; + } + + [Test] + public void TestDisplayActionSheet () + { + ScrollAndTap ("ActionSheet Extras"); + CheckExtras (); + App.Tap (c => c.Marked ("Extra One")); + } + + [Test] + public void TestDisplayActionSheetCancel () + { + ScrollAndTap ("ActionSheet Cancel"); + // iPad does not have a Cancel button for action sheet + if (App.Query (q => q.Marked ("Cancel")).Length > 0) + App.Tap (c => c.Marked ("Cancel")); + else + App.TapCoordinates (20, screenSize.Height / 2); + } + + [Test] + public void TestDisplayActionSheetCancelDestruction () + { + ScrollAndTap ("ActionSheet Cancel Destruction"); + App.WaitForNoElement (c => c.Marked ("Extra One")); + App.WaitForElement (c => c.Marked ("Destruction")); + if (App.Query (q => q.Marked ("Cancel")).Length > 0) + App.Tap (c => c.Marked ("Cancel")); + else + App.TapCoordinates (20, screenSize.Height / 2); + } + + [Test] + public void TestDisplayActionSheetCancelExtras () + { + ScrollAndTap ("ActionSheet Cancel Extras"); + CheckExtras (); + if (App.Query (q => q.Marked ("Cancel")).Length > 0) + App.Tap (c => c.Marked ("Cancel")); + else + App.TapCoordinates (20, screenSize.Height / 2); + } + + [Test] + public void TestDisplayActionSheetCancelExtrasDestruction () + { + ScrollAndTap ("ActionSheet Cancel Destruction Extras"); + CheckExtras (); + App.WaitForElement (c => c.Marked ("Destruction")); + if (App.Query (q => q.Marked ("Cancel")).Length > 0) + App.Tap (c => c.Marked ("Cancel")); + else + App.TapCoordinates (20, screenSize.Height / 2); + } + + [Test] + public void TestDisplayActionSheetDestruction () + { + ScrollAndTap ("ActionSheet Destruction"); + App.WaitForNoElement (c => c.Marked ("Extra One")); + App.Tap (c => c.Marked ("Destruction")); + } + + [Test] + public void TestDisplayActionSheetDestructionExtras () + { + ScrollAndTap ("ActionSheet Destruction Extras"); + CheckExtras (); + App.Tap (c => c.Marked ("Extra One")); + } + + [Test] + public void TestDisplayActionSheetTitleCancel () + { + ScrollAndTap ("ActionSheet Title Cancel"); + App.WaitForElement (c => c.Marked ("Title")); + if (App.Query (q => q.Marked ("Cancel")).Length > 0) + App.Tap (c => c.Marked ("Cancel")); + else + App.TapCoordinates (20, screenSize.Height / 2); + } + + [Test] + public void TestDisplayActionSheetTitleCancelDestruction () + { + ScrollAndTap ("ActionSheet Title Cancel Destruction"); + App.WaitForElement (c => c.Marked ("Title")); + App.WaitForNoElement (c => c.Marked ("Extra One")); + App.Tap (c => c.Marked ("Destruction")); + } + + [Test] + public void TestDisplayActionSheetTitleCancelDestructionExtras () + { + ScrollAndTap ("ActionSheet Title Cancel Destruction Extras"); + App.WaitForElement (c => c.Marked ("Title")); + CheckExtras (); + App.Tap (c => c.Marked ("Destruction")); + } + + [Test] + public void TestDisplayActionSheetTitleDestruction () + { + ScrollAndTap ("ActionSheet Title Destruction"); + App.WaitForElement (c => c.Marked ("Title")); + App.WaitForNoElement (c => c.Marked ("Extra One")); + App.Tap (c => c.Marked ("Destruction")); + } + + [Test] + public void TestDisplayActionSheetTitleDestructionExtras () + { + ScrollAndTap ("ActionSheet Title Destruction Extras"); + App.WaitForElement (c => c.Marked ("Title")); + CheckExtras (); + App.Tap (c => c.Marked ("Destruction")); + } + + + [Test] + public void TestDisplayActionSheetTitleExtras () + { + ScrollAndTap ("ActionSheet Title Extras"); + CheckExtras (); + App.Tap (c => c.Marked ("Extra One")); + } + + void ScrollAndTap(string actionSheet) + { + App.ScrollForElement(string.Format("* text:'{0}'", actionSheet), new Drag(App.Query(q => q.Marked("ActionSheetPage"))[0].Rect, Drag.Direction.BottomToTop, Drag.DragLength.Long)); + App.Tap(q=>q.Raw(string.Format("* text:'{0}'", actionSheet))); + } + + } +} + |