diff options
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2272.cs')
-rw-r--r-- | Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2272.cs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2272.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2272.cs new file mode 100644 index 00000000..7f6c50ad --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2272.cs @@ -0,0 +1,54 @@ +using System; + +using Xamarin.Forms; +using Xamarin.Forms.CustomAttributes; + +#if UITEST +using NUnit.Framework; +using Xamarin.UITest.Android; +#endif + +namespace Xamarin.Forms.Controls +{ + [Preserve (AllMembers=true)] + [Issue (IssueTracker.Github, 2272, "Entry text updating set focus on the beginning of text not the end of it", PlatformAffected.Android)] + public class Issue2272 : TestContentPage + { + protected override void Init () + { + var userNameEditor = new Entry () { Text = "userNameEditorEmptyString" }; + userNameEditor.Focused += (sender, args) => { + userNameEditor.Text = "focused"; + }; + + Content = new StackLayout { + Spacing = 10, + VerticalOptions = LayoutOptions.Start, + Children = { userNameEditor } + }; + } + +#if UITEST + [Test] + public void TestFocusIsOnTheEndAfterSettingText () + { + RunningApp.Tap (c => c.Marked ("userNameEditorEmptyString")); + RunningApp.EnterText ("1"); + PressEnter (); + Assert.Greater (RunningApp.Query (c => c.Marked ("focused1")).Length, 0); + } + + void PressEnter () + { + var androidApp = RunningApp as AndroidApp; + if (androidApp != null) { + androidApp.PressUserAction (UserAction.Done); + } + else { + RunningApp.PressEnter (); + } + } +#endif + } +} + |