diff options
Diffstat (limited to 'Xamarin.Forms.Core.iOS.UITests/Tests/ToolbarItemTests.cs')
-rw-r--r-- | Xamarin.Forms.Core.iOS.UITests/Tests/ToolbarItemTests.cs | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.iOS.UITests/Tests/ToolbarItemTests.cs b/Xamarin.Forms.Core.iOS.UITests/Tests/ToolbarItemTests.cs new file mode 100644 index 00000000..ce846db9 --- /dev/null +++ b/Xamarin.Forms.Core.iOS.UITests/Tests/ToolbarItemTests.cs @@ -0,0 +1,102 @@ +using System; +using NUnit.Framework; +using Xamarin.Forms.CustomAttributes; +using Xamarin.UITest.Android; +using Xamarin.UITest.iOS; + +namespace Xamarin.Forms.Core.UITests +{ + [TestFixture] + [Category ("ToolbarItem")] + internal class ToolbarItemTests : BaseTestFixture + { + string btn1Id = "tb1"; + string btn4Id = "tb4"; + + static bool isSecondaryMenuOpen = false; + static void ShouldShowMenu () + { + if (App is AndroidApp) { + isSecondaryMenuOpen = true; + //show secondary menu + App.Tap (c => c.Class ("android.support.v7.widget.ActionMenuPresenter$OverflowMenuButton")); + } + } + + static void ShouldHideMenu () + { + if (App is AndroidApp && isSecondaryMenuOpen) { + isSecondaryMenuOpen = false; + App.Back (); + } + } + + protected override void NavigateToGallery () + { + App.NavigateToGallery (GalleryQueries.ToolbarItemGallery); + if (App is iOSApp) { + btn1Id = "menuIcon"; + btn4Id = "tb4"; + } + } + + [Test] + public void ToolbarButtonsClick () + { + ShouldHideMenu (); + App.Tap (c => c.Marked (btn1Id)); + } + + [Test] + public void ToolbarButtonsCommand () + { + ShouldShowMenu (); + if (App is AndroidApp) { + var btn = App.Query (c => c.Marked (btn4Id))[0]; + } + else { + App.Tap (c => c.Marked (btn4Id)); + } + } + + [Test] + public void ToolbarButtonsDisable () + { + ShouldHideMenu (); + var btn1 = App.Query (c => c.Marked (btn1Id)) [0]; + ShouldShowMenu (); + var btn2 = App.Query (c => c.Marked (btn4Id)) [0]; + Assert.False (btn1.Enabled, "Toolbar Item should be disable"); + //TODO: how to check Enable for the textview + //Assert.False (btn2.Enabled, "Toolbar Item should be disable"); + } + + [Test] + public void ToolbarButtonsExist () + { + ShouldHideMenu (); + var existsPrimary = App.Query (c => c.Marked (btn1Id)).Length; + var existsPrimary2 = App.Query (c => c.Marked ("tb2")).Length; + ShouldShowMenu (); + var existsSecondary = App.Query (c => c.Marked ("tb3")).Length; + var existsSecondary2 = App.Query (c => c.Marked (btn4Id)).Length; + Assert.True (existsPrimary > 0, "Toolbar Item 1 no name, not found"); + Assert.True (existsPrimary2 > 0, "Toolbar Item 2, not found"); + Assert.True (existsSecondary > 0, "Toolbar Item 1 no name, not found"); + Assert.True (existsSecondary2 > 0, "Toolbar Item 1, not found"); + } + + [Test] + public void ToolbarButtonsOrder () + { + ShouldHideMenu (); + var btn1 = App.Query (c => c.Marked (btn1Id)) [0]; + ShouldShowMenu (); + var btn2 = App.Query (c => c.Marked ("tb4")) [0]; + if(App is iOSApp) + Assert.True (btn1.Rect.CenterY < btn2.Rect.CenterY); + } + + } +} + |