From a7784e6c47e9edc025e3b05f9c59c051e965ff27 Mon Sep 17 00:00:00 2001 From: memu8 <66331238+memu8@users.noreply.github.com> Date: Tue, 21 Jul 2020 10:43:49 -0500 Subject: [PATCH] fixes #11471 #11472 --- .../DateTimePickerLocalizationTests.cs | 366 +++--------------- 1 file changed, 45 insertions(+), 321 deletions(-) diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/DateTimePickerLocalizationTests.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/DateTimePickerLocalizationTests.cs index 59f74f36342..684b558b5ab 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/DateTimePickerLocalizationTests.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/DateTimePickerLocalizationTests.cs @@ -28,366 +28,90 @@ protected override void Init() } #if UITEST - // TimePicker Format String: H, m, s, t - // TimePicker Time: 12 AM, 0 minute - // Separator: ".", " " - [Test] - public void TimePicker24HMidnight() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "H.m.s t"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "0, 0"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("0.0.0 A", text); - } - - // TimePicker Format String: hh, m, tt - // TimePicker Time: 12 AM, 0 minute - // Separator: "/", " " - [Test] - public void TimePicker12HMidnight() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "hh m/tt"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "0, 0"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("12 0/AM", text); - } - - // TimePicker Format String: HH, mm, tt - // TimePicker Time: 1-11 PM, 1-58 minute (1) - // Separator: ":", " " - [Test] - public void TimePicker24HAfternoon() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "HH:mm tt"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "13, 5"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("13:05 PM", text); - } - - // TimePicker Format String: h, ss - // TimePicker Time: 1-11 PM, 59 minute (11) - // Separator: "-" - [Test] - public void TimePicker12HAfternoon() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "h-ss"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "23, 59"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("11-00", text); - } - - // TimePicker Format String: hh - // TimePicker Time: 12 PM, 1-58 minute - // Separator: none - [Test] - public void TimePicker12HNoon() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "hh"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "12, 37"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("12", text); - } - - // TimePicker Format String: HH, tt - // TimePicker Time: 12 PM, 0 minute - // Separator: " " - [Test] - public void TimePicker24HNoon() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "HH tt"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "12, 0"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("12 PM", text); - } - - // TimePicker Format String: hh, mm - // TimePicker Time: 1-11 AM, 59 minute - // Separator: ":" - [Test] - public void TimePicker12HMorning() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "hh:mm"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "7, 59"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("07:59", text); - } - // TimePicker Format String: H - // TimePicker Time: 1-11 AM, 1-58 minute - // Separator: "." - [Test] - public void TimePicker24HMorning() - { - RunningApp.Tap(x => x.Marked("TimePicker")); + public string TimeString(String format, String time) + { RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "H."); + RunningApp.EnterText("timeFormatString", format); RunningApp.PressEnter(); RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "5, 1"); + RunningApp.EnterText("settingTime", time); RunningApp.PressEnter(); var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("5.", text); + return text; } - // TimePicker Format String: mm t - // TimePicker Time: 1 PM, 59 minute - // Separator: "," - [Test] - public void TimePickerNoHour() + public string DateString(String format, String date) { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "mm, t"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "13, 59"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("59, P", text); - } - - // TimePicker Format String: first half of uppercase letters - // TimePicker Time: 11 PM, 59 minute - [Test] - public void TimePickerRandomUppercaseBegin() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "ABCDEGIJLNOP"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "23, 59"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("ABCDEGIJLNOP", text); - } - - // TimePicker Format String: latter half of uppercase letters - // TimePicker Time: 11 PM, 59 minute - [Test] - public void TimePickerRandomUppercaseEnd() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "QRSTUVWXYZ"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "23, 59"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("QRSTUVWXYZ", text); - } - - // TimePicker Format String: other lowercase letters - // TimePicker Time: 11 PM, 59 minute - [Test] - public void TimePickerRandomLowercaseLetters() - { - RunningApp.Tap(x => x.Marked("TimePicker")); - RunningApp.ClearText("timeFormatString"); - RunningApp.EnterText("timeFormatString", "abceijklnopqruvwx"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingTime"); - RunningApp.EnterText("settingTime", "23, 59"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("timeClockOptions")[0].Text; - Assert.AreEqual("abceijklnopqruvwx", text); - } - - // DatePicker Format String: d, M, y - // Separator: "/" - [Test] - public void DatePickerOneDigit() - { - RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "d/M/y"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "1999, 1, 31"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("31/1/99", text); - } - - // DatePicker Format String: dd, MM, yy - // Separator: "-" - [Test] - public void DatePickerTwoDigit() - { - RunningApp.Tap(x => x.Marked("DatePicker")); RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "MM-dd-yy"); + RunningApp.EnterText("dateFormatString", format); RunningApp.PressEnter(); RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "2000, 2, 29"); + RunningApp.EnterText("settingDate", date); RunningApp.PressEnter(); var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("02-29-00", text); + return text; } - // DatePicker Format String: ddd, MMM, yyy - // Separator: "," [Test] - public void DatePickerThreeDigit() + public void TimePicker24H() { - RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "yyy, MMM, ddd"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "2010, 4, 15"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("2010, Apr, Thu", text); - } - - // DatePicker Format String: dddd, MMMM, yyyy - // Separator: "." - [Test] - public void DatePickerFourDigit() - { - RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "MMMM.dddd.yyyy"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "2015, 8, 1"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("August.Saturday.2015", text); + RunningApp.Tap(x => x.Marked("TimePicker")); + Assert.AreEqual("0.0.0 A", TimeString("H.m.s t", "0, 0")); + Assert.AreEqual("13:05 PM", TimeString("HH:mm tt", "13, 5")); + Assert.AreEqual("12 PM", TimeString("HH tt", "12, 0")); + Assert.AreEqual("5.", TimeString("H.", "5, 1")); } - // DatePicker Format String: MMMM, yy - // Separator: " " [Test] - public void DatePickerNoDay() - { - RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "MMMM yy"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "1997, 10, 30"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("October 97", text); + public void TimePicker12H() + { + RunningApp.Tap(x => x.Marked("TimePicker")); + Assert.AreEqual("12 0/AM", TimeString("hh m/tt", "0, 0")); + Assert.AreEqual("12", TimeString("hh", "12, 37")); + Assert.AreEqual("11-00", TimeString("h-ss", "23, 59")); + Assert.AreEqual("07:59", TimeString("hh:mm", "7, 59")); + } - // DatePicker Format String: dddd - // Separator: none [Test] - public void DatePickerDay() - { - RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "dddd"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "2020, 7, 20"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("Monday", text); + public void TimePickerOther() + { + RunningApp.Tap(x => x.Marked("TimePicker")); + Assert.AreEqual("59, P", TimeString("mm, t", "13, 59")); + Assert.AreEqual("ABCDEGIJLNOP", TimeString("ABCDEGIJLNOP", "23, 59")); + Assert.AreEqual("QRSTUVWXYZ", TimeString("QRSTUVWXYZ", "23, 59")); + Assert.AreEqual("abceijklnopqruvwx", TimeString("abceijklnopqruvwx", "23, 59")); } - // DatePicker Format String: MMM, yyyy - // Separator: " " [Test] - public void DatePickerColon() + public void DatePickerDMY() { RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "yyyy: MMM"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "2002, 12, 31"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("2002: Dec", text); + Assert.AreEqual("31/1/99", DateString("d/M/y", "1999, 1, 31")); + Assert.AreEqual("02-29-00", DateString("MM-dd-yy", "2000, 2, 29")); + Assert.AreEqual("2010, Apr, Thu", DateString("yyy, MMM, ddd", "2010, 4, 15")); + Assert.AreEqual("August.Saturday.2015", DateString("MMMM.dddd.yyyy", "2015, 8, 1")); } - // TimePicker Format String: first half of uppercase letters - // TimePicker Time: 11 PM, 59 minute [Test] - public void DatePickerRandomUppercaseBegin() - { + public void DatePickerMissing() + { RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "ABCDEGIJLNOP"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "2002, 12, 31"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("ABCDEGIJLNOP", text); + Assert.AreEqual("October 97", DateString("MMMM yy", "1997, 10, 30")); + Assert.AreEqual("Monday", DateString("dddd", "2020, 7, 20")); + Assert.AreEqual("2002: Dec", DateString("yyyy: MMM", "2002, 12, 31")); } - // TimePicker Format String: latter half of uppercase letters - // TimePicker Time: 11 PM, 59 minute [Test] - public void DatePickerRandomUppercaseEnd() - { + public void DatePickerLetters() + { RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "QRSTUVWXYZ"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "2002, 12, 31"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("QRSTUVWXYZ", text); + Assert.AreEqual("ABCDEGIJLNOP", DateString("ABCDEGIJLNOP", "2002, 12, 31")); + Assert.AreEqual("QRSTUVWXYZ", DateString("QRSTUVWXYZ", "2002, 12, 31")); + Assert.AreEqual("abceijklnopqruvwx", DateString("abceijklnopqruvwx", "2002, 12, 31")); } - // TimePicker Format String: other lowercase letters - // TimePicker Time: 11 PM, 59 minute - [Test] - public void DatePickerRandomLowercaseLetters() - { - RunningApp.Tap(x => x.Marked("DatePicker")); - RunningApp.ClearText("dateFormatString"); - RunningApp.EnterText("dateFormatString", "abceijklnopqruvwx"); - RunningApp.PressEnter(); - RunningApp.ClearText("settingDate"); - RunningApp.EnterText("settingDate", "2002, 12, 31"); - RunningApp.PressEnter(); - var text = RunningApp.WaitForElement("dateCalendarOptions")[0].Text; - Assert.AreEqual("abceijklnopqruvwx", text); - } #endif } } \ No newline at end of file