summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.iOS.UITests/Tests/Legacy-TemplatedCarouselPageUITests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core.iOS.UITests/Tests/Legacy-TemplatedCarouselPageUITests.cs')
-rw-r--r--Xamarin.Forms.Core.iOS.UITests/Tests/Legacy-TemplatedCarouselPageUITests.cs407
1 files changed, 407 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.iOS.UITests/Tests/Legacy-TemplatedCarouselPageUITests.cs b/Xamarin.Forms.Core.iOS.UITests/Tests/Legacy-TemplatedCarouselPageUITests.cs
new file mode 100644
index 00000000..f01641a5
--- /dev/null
+++ b/Xamarin.Forms.Core.iOS.UITests/Tests/Legacy-TemplatedCarouselPageUITests.cs
@@ -0,0 +1,407 @@
+using NUnit.Framework;
+using Xamarin.UITest;
+using System.Threading;
+using Xamarin.UITest.Queries;
+using System;
+
+namespace Xamarin.Forms.Core.UITests
+{
+ [TestFixture]
+ [Category ("Templated")]
+ internal class TemplatedCarouselPageGalleryTests : BaseTestFixture
+ {
+ // TODO: Port to new conventions
+
+ public TemplatedCarouselPageGalleryTests ()
+ {
+ ShouldResetPerFixture = false;
+ }
+
+ protected override void NavigateToGallery ()
+ {
+ App.NavigateToGallery (GalleryQueries.TemplatedCarouselPageGalleryLegacy);
+ }
+ //AppRect scrollContainerBounds = new AppRect ();
+
+// void AllElementsPresent ()
+// {
+// AllElementExistForPage (0);
+
+// App.Screenshot ("All elements found on page 0");
+
+// SwipeLeft ();
+
+// App.Screenshot ("Swiped left");
+
+// AllElementExistForPage (1);
+
+// App.Screenshot ("All elements found on page 1");
+// }
+
+ [Test]
+ [Description ("Insert page")]
+ public void TemplatedCarouselPageGalleryInsertPage ()
+ {
+// AllElementsPresent ();
+
+// App.Tap (q => q.Button ("Insert Tab: 1"));
+
+// SwipeLeft ();
+
+// AllElementExistForPage (2);
+// App.Screenshot ("At page 2");
+
+// SwipeRight ();
+
+// AllElementExistForPage (1);
+// App.Screenshot ("At page 1");
+
+// SwipeRight ();
+
+// AllElementExistForPage (0);
+// App.Screenshot ("At page 0");
+ }
+
+// [Test]
+// [Description ("Remove page")]
+// public void TemplatedCarouselPageGalleryRemovePage ()
+// {
+// AllElementsPresent ();
+
+// App.Tap (q => q.Button ("Remove Tab: 1"));
+
+// AllElementExistForPage (0);
+// App.Screenshot ("Removed page 1");
+// }
+
+// [Test]
+// [Description ("Insert / Remove page")]
+// public void TemplatedCarouselPageGalleryAddRemovePage ()
+// {
+// AllElementsPresent ();
+
+// App.Tap (q => q.Button ("Insert Tab: 1"));
+
+// SwipeLeft ();
+
+// AllElementExistForPage (2);
+// App.Screenshot ("At page 2");
+
+// App.Tap (q => q.Button ("Remove Tab: 2"));
+// AllElementExistForPage (0);
+// App.Screenshot ("Removed page 2");
+
+// SwipeLeft ();
+
+// App.Tap (q => q.Button ("Remove Tab: 1"));
+// AllElementExistForPage (0);
+// App.Screenshot ("Removed page 1");
+// }
+
+// [Test]
+// [Description ("Reset pages")]
+// public void TemplatedCarouselPageGalleryResetAllPages ()
+// {
+// AllElementsPresent ();
+
+// App.WaitForElement (q => q.Button ("Insert Tab: 1"));
+// App.Tap (q => q.Button ("Insert Tab: 1"));
+
+// SwipeLeft ();
+// AllElementExistForPage (2);
+// App.Tap (q => q.Button ("Insert Tab: 2"));
+
+// SwipeLeft ();
+// AllElementExistForPage (3);
+// App.Screenshot ("At page 3");
+
+// SwipeRight ();
+// App.Tap (q => q.Button ("Reset all tabs: 2"));
+
+// AllElementExistForPage (0);
+// App.Screenshot ("Pages reset");
+
+// SwipeLeft ();
+// AllElementExistForPage (1);
+// App.Screenshot ("On Page 1 again");
+
+// SwipeLeft ();
+// AllElementExistForPage (1);
+// App.Screenshot ("On Page 1 again");
+// }
+
+// [Test]
+// [Description ("Insert / go to next pages")]
+// public void TemplatedCarouselPageGalleryNextPage ()
+// {
+// TemplatedCarouselPageGalleryInsertPage ();
+
+// AppRect screenSize = App.MainScreenBounds ();
+// ScrollDownForQuery (q => q.Button ("Delayed reset: 0"), scrollContainerBounds);
+// App.Tap (q => q.Button ("Next Page: 0"));
+// AllElementExistForPage (1);
+// App.Screenshot ("At page 1");
+
+// ScrollDownForQuery (q => q.Button ("Delayed reset: 1"), scrollContainerBounds);
+// App.Tap (q => q.Button ("Next Page: 1"));
+// AllElementExistForPage (2);
+// App.Screenshot ("At page 2");
+
+// ScrollDownForQuery (q => q.Button ("Delayed reset: 2"), scrollContainerBounds);
+// App.Tap (q => q.Button ("Next Page: 2"));
+// AllElementExistForPage (0);
+// App.Screenshot ("At page 0");
+// }
+
+// [Test]
+// [Description ("Reproduction for a crash related to adding / reseting pages")]
+// public void TemplatedCarouselPageGalleryAddResetCrash ()
+// {
+// AllElementsPresent ();
+
+// SwipeRight ();
+
+// App.Tap (q => q.Button ("Insert Tab: 0"));
+// App.Tap (q => q.Button ("Insert Tab: 0"));
+// App.Screenshot ("Added two pages from Page 0");
+
+// SwipeLeft ();
+// App.Tap (q => q.Button ("Insert Tab: 3"));
+// App.Tap (q => q.Button ("Insert Tab: 3"));
+// App.Screenshot ("Added two pages from Page 3");
+
+// App.Tap (q => q.Button ("Reset all tabs: 3"));
+// AllElementExistForPage (0);
+// App.Screenshot ("Pages reset without crashing");
+// }
+
+// [Test]
+// [Description ("Reproduction for a crash related to adding / reseting pages")]
+// public void TemplatedCarouselPageGalleryAnotherAddResetCrash ()
+// {
+// AllElementsPresent ();
+
+// App.WaitForElement (q => q.Button ("Insert Tab: 1"));
+// App.Tap (q => q.Button ("Insert Tab: 1"));
+
+// SwipeLeft ();
+
+// AllElementExistForPage (2);
+// App.Screenshot ("At page 2");
+
+// App.Tap (q => q.Button ("Reset all tabs: 2"));
+// App.WaitForElement (q => q.Marked ("Insert Tab: 0"));
+// AllElementExistForPage (0);
+// }
+
+// [Test]
+// [Description ("Delayed reset of all content")]
+// public void TemplatedCarouselPageGalleryDelayResetAllElements ()
+// {
+// AllElementsPresent ();
+
+// App.ScrollDownForElement (q => q.Button ("Delayed reset: 1"), 2);
+// App.Tap (q => q.Button ("Delayed reset: 1"));
+
+// App.WaitForNoElement (q => q.Marked ("Lorem ipsum dolor sit amet #1"));
+// App.WaitForElement (q => q.Marked ("Insert Tab: 0"));
+// AllElementExistForPage (0);
+// }
+
+// [Test]
+// [Description ("Reproduction for a crash related to removing the first page")]
+// public void TemplatedCarouselPageGalleryRemoveFirstPageAndResetCrash ()
+// {
+// AllElementsPresent ();
+
+// SwipeRight ();
+// AllElementExistForPage (0);
+
+// App.Tap (q => q.Marked ("Remove Tab: 0"));
+// App.Screenshot ("Remove first page");
+
+// AllElementExistForPage (1);
+// App.Tap (q => q.Marked ("Reset all tabs: 1"));
+
+// AllElementExistForPage (0);
+// App.Screenshot ("Reset all pages");
+// }
+
+// void SwipeLeft ()
+// {
+
+// AppRect swipeLabelBounds = App.Query (q => q.Marked ("Swipe Here"))[0].Rect;
+// // Account for padded scrollview implementations on the different platforms
+// App.DragFromTo (
+// scrollContainerBounds.X + scrollContainerBounds.Width - PlatformValues.OffsetForScrollView,
+// swipeLabelBounds.CenterY,
+// scrollContainerBounds.X + PlatformValues.OffsetForScrollView,
+// swipeLabelBounds.CenterY
+// );
+// Thread.Sleep (2000);
+// }
+
+// void SwipeRight ()
+// {
+
+// AppRect swipeLabelBounds = App.Query (q => q.Marked ("Swipe Here"))[0].Rect;
+// // Account for padded scrollview implementations on the different platforms
+// App.DragFromTo (
+// scrollContainerBounds.X + PlatformValues.OffsetForScrollView,
+// swipeLabelBounds.CenterY,
+// scrollContainerBounds.X + scrollContainerBounds.Width - PlatformValues.OffsetForScrollView,
+// swipeLabelBounds.CenterY
+// );
+// Thread.Sleep (2000);
+// }
+
+// void ScrollDownForQuery (Func<AppQuery, AppQuery> query, AppRect scrollContainer)
+// {
+// AppRect screenSize = App.MainScreenBounds ();
+// float swipeY = scrollContainer.X + 5;
+// App.DragFromToForElement (5, query, swipeY, (2 / 3.0f) * screenSize.Height, swipeY, screenSize.Height / 3.0f);
+// }
+
+// void ScrollUpForQuery (Func<AppQuery, AppQuery> query, AppRect scrollContainer)
+// {
+// AppRect screenSize = App.MainScreenBounds ();
+// float swipeY = scrollContainer.X + 5;
+// App.DragFromToForElement (2, query, swipeY, screenSize.Height / 3.0f, swipeY, (2 / 3.0f) * screenSize.Height);
+// }
+
+
+// void AllElementExistForPage (int index)
+// {
+// var title = "Lorem ipsum dolor sit amet #" + index;
+// // Wait for element to load before querying its parent (problem on iOS)
+// if (App.Query (q => q.Marked (title)).Length < 1)
+// App.ScrollUpForElement (q => q.Marked (title), 3);
+// App.WaitForElement (q => q.Marked (title));
+// scrollContainerBounds = App.Query (q => q.Marked (title).Parent ())[2].Rect;
+
+// ScrollUpForQuery (q => q.Marked (title), scrollContainerBounds);
+
+// var buttons = new [] {
+// "Insert Tab: " + index,
+// "Change title: " + index,
+// "Remove Tab: " + index,
+// "Reset all tabs: " + index,
+// "Next Page: " + index,
+// "Delayed reset: " + index,
+// };
+
+// App.WaitForElement (q => q.Marked (title), "Timeout: " + title);
+
+// foreach (var button in buttons) {
+// if (App.Query (q => q.Button (button)).Length < 1)
+// ScrollDownForQuery (q=> q.Button (button), scrollContainerBounds);
+// App.WaitForElement (q => q.Button (button));
+// }
+// ScrollUpForQuery (q => q.Marked (title), scrollContainerBounds);
+// }
+
+///*******************************************************/
+///**************** Landscape tests **********************/
+///*******************************************************/
+
+// [Test]
+// [Description ("Insert page - Landscape")]
+// public void TemplatedCarouselPageGalleryInsertPageLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryInsertPage ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+// [Test]
+// [Description ("Remove page - Landscape")]
+// public void TemplatedCarouselPageGalleryRemovePageLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryRemovePage ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+// [Test]
+// [Description ("Insert / Remove page - Landscape")]
+// public void TemplatedCarouselPageGalleryAddRemovePageLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryAddRemovePage ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+// [Test]
+// [Description ("Reset pages - Landscape")]
+// public void TemplatedCarouselPageGalleryResetAllPagesLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryResetAllPages ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+// [Test]
+// [Description ("Insert / go to next pages - Landscape")]
+// public void TemplatedCarouselPageGalleryNextPageLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryNextPage ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+// [Test]
+// [Description ("Reproduction for a crash related to adding / reseting pages - Landscape")]
+// public void TemplatedCarouselPageGalleryAddResetCrashLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryAddResetCrash ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+// [Test]
+// [Description ("Reproduction for a crash related to adding / reseting pages - Landscape")]
+// public void TemplatedCarouselPageGalleryAnotherAddResetCrashLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryAnotherAddResetCrash ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+// [Test]
+// [Description ("Delayed reset of all content - Landscape")]
+// public void TemplatedCarouselPageGalleryDelayResetAllElementsLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryDelayResetAllElements ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+// [Test]
+// [Description ("Reproduction for a crash related to removing the first page - Landscape")]
+// public void TemplatedCarouselPageGalleryRemoveFirstPageAndResetCrashLandscape ()
+// {
+// App.SetOrientationLandscape ();
+// App.Screenshot ("Rotated to Landscape");
+// TemplatedCarouselPageGalleryRemoveFirstPageAndResetCrash ();
+// App.SetOrientationPortrait ();
+// App.Screenshot ("Rotated to Portrait");
+// }
+
+ }
+}