From 9a0324d3ed2e699699ae090fa99c30d78ed75930 Mon Sep 17 00:00:00 2001 From: Samantha Houts Date: Fri, 17 Feb 2017 16:11:04 -0800 Subject: [PATCH] Add repro for 52533 --- .../Bugzilla52533.cs | 64 ++++++++++++++++++++++ .../Xamarin.Forms.Controls.Issues.Shared.projitems | 1 + 2 files changed, 65 insertions(+) create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla52533.cs diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla52533.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla52533.cs new file mode 100644 index 0000000..c7c31fc --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla52533.cs @@ -0,0 +1,64 @@ +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; +using System.Linq; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +#endif + +// Apply the default category of "Issues" to all of the tests in this assembly +// We use this as a catch-all for tests which haven't been individually categorized +#if UITEST +[assembly: NUnit.Framework.Category("Issues")] +#endif + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Bugzilla, 52533, "System.ArgumentException: NaN is not a valid value for width", PlatformAffected.iOS)] + public class Bugzilla52533 : TestContentPage + { + const string LabelId = "label"; + + protected override void Init() + { + Content = new ListView { ItemTemplate = new DataTemplate(typeof(GridViewCell)), ItemsSource = Enumerable.Range(0, 10) }; + } + + [Preserve(AllMembers = true)] + class GridViewCell : ViewCell + { + + public GridViewCell() + { + var grid = new Grid + { + // Multiple rows + RowDefinitions = { + new RowDefinition { Height = new GridLength(20, GridUnitType.Absolute) }, + new RowDefinition { Height = new GridLength(150, GridUnitType.Absolute) } + }, + // Dynamic width + ColumnDefinitions = { + new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } + } + }; + + // Infinitely wide + Label + var horStack = new StackLayout { Orientation = StackOrientation.Horizontal, Children = { new Label { Text = "If this does not crash, this test has passed.", AutomationId = LabelId } } }; + grid.Children.Add(horStack, 0, 0); + + View = grid; + } + } + +#if UITEST + [Test] + public void Bugzilla52533Test() + { + RunningApp.WaitForElement(q => q.Marked(LabelId)); + } +#endif + } +} diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems index 8d90656..411c09d 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems @@ -229,6 +229,7 @@ + -- 2.7.4