diff options
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2883.cs')
-rw-r--r-- | Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2883.cs | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2883.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2883.cs new file mode 100644 index 00000000..12ed2006 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2883.cs @@ -0,0 +1,125 @@ +using System; + +using Xamarin.Forms.CustomAttributes; +using System.Collections.Generic; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +using Xamarin.UITest.iOS; + +#endif + +namespace Xamarin.Forms.Controls +{ + [Preserve (AllMembers = true)] + [Issue (IssueTracker.Github, 2883, "ViewCell IsEnabled set to false does not disable a cell in a TableView")] + public class Issue2883 : TestContentPage + { + protected override void Init () + { + var btnCustom1 = new Button () { + AutomationId = "btnCustomCellTable", + Text = "Custom Table Cell" , + HorizontalOptions = LayoutOptions.Start + }; + var btnCustom1Enabled = new Button () { + AutomationId = "btnCustomCellTableEnabled", + Text = "Custom Table Cell Enabled" , + HorizontalOptions = LayoutOptions.Start + }; + + var btnCustom = new Button () { + AutomationId = "btnCustomCellListView", + Text = "Custom Cell" , + HorizontalOptions = LayoutOptions.Start + }; + + var btnCustomEnabled = new Button () { + AutomationId = "btnCustomCellListViewEnabled", + Text = "Custom Cell Enabled" , + HorizontalOptions = LayoutOptions.Start + }; + + btnCustom.Clicked += (object sender, EventArgs e) => { + DisplayAlert ("Clicked", "I was clicked even disabled", "ok"); + }; + btnCustom1.Clicked += (object sender, EventArgs e) => { + DisplayAlert ("Clicked", "I was clicked even disabled", "ok"); + }; + + btnCustom1Enabled.Clicked += (object sender, EventArgs e) => { + DisplayAlert ("Clicked", "I was clicked", "ok"); + }; + btnCustomEnabled.Clicked += (object sender, EventArgs e) => { + DisplayAlert ("Clicked", "I was clicked", "ok"); + }; + + var customCell = new ViewCell () { + IsEnabled = false, + View = new StackLayout { Children = { btnCustom } } + }; + + var customCellEnabled = new ViewCell () { + View = new StackLayout { Children = { btnCustomEnabled } } + }; + + var customTableCell = new ViewCell () { + IsEnabled = false, + View = new StackLayout { Children = { btnCustom1 } } + }; + + var customTableCellEnabled = new ViewCell () { + View = new StackLayout { Children = { btnCustom1Enabled } } + }; + + var tableview = new TableView () { + Intent = TableIntent.Form, + Root = new TableRoot (), + VerticalOptions = LayoutOptions.Start + }; + + tableview.Root.Add (new TableSection () { customTableCell, customTableCellEnabled }); + + var listview = new ListView { VerticalOptions = LayoutOptions.Start }; + var listview2 = new ListView { VerticalOptions = LayoutOptions.Start }; + + listview.ItemTemplate = new DataTemplate (() => customCell); + listview2.ItemTemplate = new DataTemplate (() => customCellEnabled); + listview2.ItemsSource = listview.ItemsSource = new List<string> () { "1" }; + + Content = new StackLayout { + Orientation = StackOrientation.Vertical, + VerticalOptions = LayoutOptions.Start, + Children = { tableview, listview, listview2 } + }; + } + + #if UITEST + [Test] + public void Issue2883TestDisabled () + { + RunningApp.Screenshot ("I am at Issue 2883"); + RunningApp.Tap( c=> c.Marked("btnCustomCellTable")); + RunningApp.WaitForNoElement( c=> c.Marked("Clicked")); + RunningApp.Screenshot ("I dont see the disable cell"); + RunningApp.Tap( c=> c.Marked("btnCustomCellListView")); + RunningApp.WaitForNoElement( c=> c.Marked("Clicked")); + RunningApp.Screenshot ("I dont see the disable cell"); + } + + [Test] + public void Issue2883TestEnabled () + { + + RunningApp.Tap( c=> c.Marked("btnCustomCellTableEnabled")); + RunningApp.Screenshot ("I see the cell that is enabled"); + RunningApp.WaitForElement( c=> c.Marked("Clicked")); + RunningApp.Tap (c => c.Marked ("ok")); + RunningApp.Tap( c=> c.Marked("btnCustomCellListViewEnabled")); + RunningApp.WaitForElement( c=> c.Marked("Clicked")); + RunningApp.Tap (c => c.Marked ("ok")); + } +#endif + } +} |