public async Task CanOpenFlyoutByTapping() { TestCleanupWrapper cleanup; Grid rootPanel = null; Grid root = null; TextBlock dateText = null; FlyoutBase flyout = null; CalendarDatePickerHelper helper = new CalendarDatePickerHelper(); await helper.PrepareLoadedEvent(); Windows.UI.Xaml.Controls.CalendarDatePicker cp = await helper.GetCalendarDatePicker(); rootPanel = await CreateTestResources(); // load into visual tree await RunOnUIThread(() => { rootPanel.Children.Append(cp); }); helper.WaitForLoaded(); await TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread(() => { root = Grid(helper.GetTemplateChild("Root")); dateText = TextBlock(helper.GetTemplateChild("DateText")); VERIFY_IS_NOT_NULL(root); VERIFY_IS_NOT_NULL(dateText); flyout = FlyoutBase.GetAttachedFlyout(root); VERIFY_IS_NOT_NULL(flyout); }); helper.PrepareOpenedEvent(); TestServices.InputHelper.Tap(dateText); helper.WaitForOpened(); await TestServices.WindowHelper.WaitForIdle(); helper.PrepareClosedEvent(); await RunOnUIThread(() => { // close the flyout before exiting. flyout.Hide(); }); helper.WaitForClosed(); await TestServices.WindowHelper.WaitForIdle(); }
public async Task CanOpenCloseFlyoutBySettingIsCalendarOpen() { TestCleanupWrapper cleanup; Grid rootPanel = null; CalendarDatePickerHelper helper = new CalendarDatePickerHelper(); await helper.PrepareLoadedEvent(); Windows.UI.Xaml.Controls.CalendarDatePicker cp = await helper.GetCalendarDatePicker(); rootPanel = await CreateTestResources(); // load into visual tree await RunOnUIThread(() => { rootPanel.Children.Append(cp); }); helper.WaitForLoaded(); await TestServices.WindowHelper.WaitForIdle(); helper.PrepareOpenedEvent(); await RunOnUIThread(() => { cp.IsCalendarOpen = true; }); helper.WaitForOpened(); helper.PrepareClosedEvent(); await RunOnUIThread(() => { cp.IsCalendarOpen = false; }); helper.WaitForClosed(); await RunOnUIThread(() => { // disable CP to make sure input pane is not open during clean up. cp.IsEnabled = false; }); await TestServices.WindowHelper.WaitForIdle(); }
public async Task PressingDoesNotOpenMenuFlyout() { TestCleanupWrapper cleanup; Grid rootPanel = null; Grid root = null; TextBlock dateText = null; FlyoutBase flyout = null; CalendarDatePickerHelper helper = new CalendarDatePickerHelper(); await helper.PrepareLoadedEvent(); Windows.UI.Xaml.Controls.CalendarDatePicker cp = await helper.GetCalendarDatePicker(); var gridPointerPressedEvent = new Event(); var gridPointerPressedRegistration = CreateSafeEventRegistration <UIElement, PointerEventHandler>("PointerPressed"); rootPanel = await CreateTestResources(); // load into visual tree await RunOnUIThread(() => { rootPanel.Children.Append(cp); cp.MinDate = ConvertToDateTime(1, 2000, 1, 1); cp.MaxDate = ConvertToDateTime(1, 2002, 1, 1); cp.Date = ConvertToDateTime(1, 2001, 1, 1); gridPointerPressedRegistration.Attach(rootPanel, (object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs args) => { gridPointerPressedEvent.Set(); }); }); helper.WaitForLoaded(); await TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread(() => { root = Grid(helper.GetTemplateChild("Root")); dateText = TextBlock(helper.GetTemplateChild("DateText")); VERIFY_IS_NOT_NULL(root); VERIFY_IS_NOT_NULL(dateText); flyout = FlyoutBase.GetAttachedFlyout(root); VERIFY_IS_NOT_NULL(flyout); }); await TestServices.WindowHelper.WaitForIdle(); helper.PrepareOpenedEvent(); TestServices.InputHelper.Tap(dateText); helper.WaitForOpened(); await TestServices.WindowHelper.WaitForIdle(); helper.PrepareClosedEvent(); await RunOnUIThread(() => { // close the flyout before exiting. flyout.Hide(); }); helper.WaitForClosed(); await TestServices.WindowHelper.WaitForIdle(); VERIFY_IS_FALSE(gridPointerPressedEvent.HasFired()); }
public async Task CanCloseFlyoutBySelectingADate() { TestCleanupWrapper cleanup; Grid rootPanel = null; TextBlock dateText = null; Grid root = null; FlyoutBase flyout = null; CalendarView calendarView = null; CalendarDatePickerHelper helper = new CalendarDatePickerHelper(); await helper.PrepareLoadedEvent(); Windows.UI.Xaml.Controls.CalendarDatePicker cp = await helper.GetCalendarDatePicker(); rootPanel = await CreateTestResources(); // load into visual tree await RunOnUIThread(() => { cp.IsOutOfScopeEnabled = false; rootPanel.Children.Append(cp); }); helper.WaitForLoaded(); await TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread(() => { dateText = TextBlock(helper.GetTemplateChild("DateText")); VERIFY_IS_NOT_NULL(dateText); root = Grid(helper.GetTemplateChild("Root")); VERIFY_IS_NOT_NULL(root); flyout = FlyoutBase.GetAttachedFlyout(root); VERIFY_IS_NOT_NULL(flyout); var content = Flyout(flyout).Content; calendarView = CalendarView(content); VERIFY_IS_NOT_NULL(calendarView); calendarView.MinDate = ConvertToDateTime(1, 2000, 1, 1); calendarView.MaxDate = ConvertToDateTime(1, 2001, 1, 1); calendarView.UpdateLayout(); }); TestServices.InputHelper.Tap(dateText); await TestServices.WindowHelper.WaitForIdle(); helper.PrepareClosedEvent(); await RunOnUIThread(() => { calendarView.SelectedDates.Append(ConvertToDateTime(1, 2000, 10, 21)); }); helper.WaitForClosed(); await RunOnUIThread(() => { LOG_OUTPUT("actual text: %s.", dateText.Text); // Note: below string contains invisible unicode characters (BiDi characters), // you should always use copy&paste to get the string, directly // type the string will cause the string comparison fails. //VERIFY_IS_TRUE(dateText.Text == "10/21/2000"); dateText.Text.Should().Be("10/21/2000"); // UNO: Those BiDi characters are not emitted by Uno }); await RunOnUIThread(() => { // disable CP to make sure input pane is not open during clean up. cp.IsEnabled = false; }); await TestServices.WindowHelper.WaitForIdle(); }