maui-linux/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issu.../Bugzilla36171.cs

122 строки
3.7 KiB
C#
Исходник Обычный вид История

2016-03-22 23:02:25 +03:00
using System;
using Xamarin.Forms.CustomAttributes;
using Xamarin.Forms.Internals;
2016-03-22 23:02:25 +03:00
#if UITEST
using Xamarin.Forms.Core.UITests;
2016-03-22 23:02:25 +03:00
using NUnit.Framework;
using Xamarin.UITest.Queries;
#endif
namespace Xamarin.Forms.Controls.Issues
2016-03-22 23:02:25 +03:00
{
#if UITEST
[Category(UITestCategories.Editor)]
[Category(UITestCategories.Entry)]
#endif
2016-03-22 23:02:25 +03:00
[Preserve (AllMembers = true)]
[Issue (IssueTracker.Bugzilla, 36171, "WinRT Entry UI not updating on TextChanged",
PlatformAffected.WinPhone | PlatformAffected.WinRT)]
public class Bugzilla36171 : TestContentPage
2016-03-22 23:02:25 +03:00
{
protected override void Init ()
{
Add more UWP automated testing capabilities (#1252) * Implement Clear(marked) method * For Windows tests where we need to query a value we can't get, mark inconclusive * Fix queries for multi-line "marked" values * Force frames with text in them to be "tappable" * Actually rerun queries during retry * Update images for package deployment * Allow the tests to restart the Control Gallery if it crashes * UWP tests can now activate context menus * Make double-tap (really double click) work for UWP desktop * Get some basic scroll up/down functions working * ScrollTo functions * Modify ListViewRenderer automation peer to prevent freezing on ListViews * Allow automation to find tabs * Temporarily ignore some of the tests which don't do much * Make ListViews with string/value type lists work * Add note about 29257/60478 * Use toggle button for test 30353 for UWP * Handle getting screen bounds consistently * Make test for G2414 use ActivateContextMenu extension method * Simplify UI test for 31330 and make it runnable on Windows * Add notes on failing tests * Add query for MoreButton on G2809 test * Ignore ActivityIndicator IsRunning test for UWP * Use ScrollDownTo instead of ScrollForElement method on Windows * CellsGalleryTestCellList now working on UWP * Cells tests working on UWP * Re-add Tap to ScrollAndTap * Get rid of custom automation peer stuff and just fix the tests * Viewport caching and multi-monitor support for scroll * Modified scroll values to hopefully get this running correctly on high density screen * Clear messages so Appearing tests don't freeze up automation on UWP * Make test for 32230 compatible with UWP * Make test 32615 compatible with UWP * Use ActivateContextMenu to simplify 34561 test * Add notes for 34912 failure * Make 36171 test compatible with UWP tests Add directions for running the tests locally * PR cleanup
2017-11-10 13:52:25 +03:00
var entry = new Entry { AutomationId = "36171Entry" };
2016-03-22 23:02:25 +03:00
var editor = new Editor();
var focuseEntryButton = new Button { Text = "Start Entry" };
var focuseEditorButton = new Button { Text = "Start Editor" };
focuseEntryButton.Clicked += (sender, args) => { entry.Focus (); };
focuseEditorButton.Clicked += (sender, args) => { editor.Focus (); };
var entryLabel = new Label { Text = "Type 123A into the Entry below; the entry should display '123'. If the 'A' is displayed, the test has failed. If the cursor resets to the beginning of the Entry after typing 'A', the test has failed." };
var editorLabel = new Label { Text = "Type 123A into the Editor below; the entry should display '123'. If the 'A' is displayed, the test has failed. If the cursor resets to the beginning of the Editor after typing 'A', the test has failed." };
entry.TextChanged += (sender, args) => {
var e = sender as Entry;
int val;
if(string.IsNullOrEmpty (args.NewTextValue?.Trim ())) {
return;
}
// check if this is numeric
if(!int.TryParse (args.NewTextValue, out val)) {
// put the old value back.
e.Text = args.OldTextValue;
}
};
editor.TextChanged += (sender, args) => {
var e = sender as Editor;
int val;
if(string.IsNullOrEmpty (args.NewTextValue?.Trim ())) {
return;
}
// check if this is numeric
if(!int.TryParse (args.NewTextValue, out val)) {
// put the old value back.
e.Text = args.OldTextValue;
}
};
// Initialize ui here instead of ctor
Content = new StackLayout {
Children = { focuseEntryButton, entryLabel, entry, focuseEditorButton, editorLabel, editor }
};
}
#if UITEST
[Test]
Add MacOS gallery and UITest (#721) * [MacOS] Cleanup * [Controls] Add Header support to ListView * [MacOS] NSView reuse on NSTableView * [MacOS] Some fix on layour order * [MacOS] Add CarouselPageRenderer * [MacOS] Implement EventTracker on PageRenderer * [MacOS] Cleanup CarouselPageRenderer * [MacOS] Add MasterDetailPage renderer * [MacOS] MDP renderer don't allow drag of splitter * [MacOS] Add TabbedPage renderer * [MacOS] Initial sketch of NavigationPageRenderer * [MacOS] Send disappearing of CurrentPage on Dispose on NavigationPageRenderer * [MacOS] Add Gallery page for Mac * [MacOS] Add MacOSExpressionSearch * [MacOS] Fix ColorExtension * [MacOS] Fix MDP renderer layout * [MacOS] Implement native selection on ListViewRenderer * [MacOS] Deselect a item on NSTableView * [MacOS] Remove previous SplitViewItems * [MacOS] Fix navigationpage height * [MacOS] Add toolbar for NavigationPageRenderer * [MacOS] Don't remove selection for now (crashing) * [MacOS] Refactor page and back button title on NavigationPageRenderer * [MacOS] Fix bug when native navigate back * [MacOS] Hide layer when transition * [MacOS] ListviewRenderer fix BbackgroundColor * [MacOS] Fix background on ScrollViewRenderer * [MacOS] Fix header measure on ListViewRenderer * [MacOS] Add Mac twitter demo * [Controls] Spaces for easy reading * [MacOS] More xaml cleanup * [Core] Add Mac as aTargetPlatform * [MacOS] Add alerts and actionsheets * [MacOS] Add GestureRecognizers * [MacOS] Fix Layout issues when adding children, enable transformations * [MacOS] Fix title on tab item, move to tabbed navigation based on segmented control * [MacOS] Hide toolbar when not needed, this allows to work with tabbed page, cleanup * [MacOS] Add NativeBindings and NativeViewWrapper * [MacOS] Fix AssemblyInfo * [MacOS] FIX NRE on SetBackgroundColor BoxView * [MacOS] Fix NavigationPageRenderer * [MacOS] Fix build * [MacOS] Also update page when it resizes * [MacOS] Add LayoutRenderer for handle items position when the bounds change. * [MacOS] Refactor/Cleanup * [MacOS] Add toolbar items support to NavigationPage * [MacOS] Resize images for TabViewITems * [MacOS] Fix TabbedPage resize issues , allow users to override some features when creating TVI * [MacOS] Fix hide/show Navigation toolbar * [MacOS] Redo CarouselPageRenderer with NSPageController * [MacOS] Add support for Modal pages * [MacOS] Refactor navigation from platform * [Nuget] Add nuget for MacOS * [Nuget]Fix nuspec * [Nuget] Add variables for CI * [Controls] Remove MainMenu from MacOS * [MacOS] Add TableView renderer (no headers yet) * [MacOS] Refactoring, marking extensions as internal * [MacOS] Add group headers for TableViewRenderer * [MacOS] Workaround for updates on listview collection * [MacOS] Handle updates of rows in the ListViewRenderer properly * [MacOS] Fix navigation animation * Fix navigation header issues with modal pages * [MacOS] Fix MDP issues with resizing * [MacOS] Fix general dispose * [MacOS] Add a ViewControllerWrapper for NSSplitView * [MacOS] MDP renderer fix animation * [MacOS] Fix ListView selection bug * [MacOS] Fix rendering MDP Layout inside wrappers * [MacOS] Re write the MainToolbar handler * [MacOS] Don't use Sierra new extensions so we can run in stable channel * [MacOS] Another way to hide the toolbar (smarter i think) * [MacOS] Fix MDP bug and remove debug color * [Controls] Add HanselForms sample * [MacOS] Fix NRE WebviewRenderer * [MacOS] Fix uneven rows on ListView renderer * [MacOS] Fix NRE on load (can+t find the reason this happens) * [MacOS] Fix uneven rows * [MacOS] Fix header sizing on ListViewRenderer * [Controls] More stuff on HanselForms * [MacOS] Remove warning from ListViewRenderer * [MacOS] Fix PageRenderer bug double init * [MacOS] Don't calculate height if RowHeight is provided * [Controls] More Hanselforms stuff * [MacOS] Once again a new implementation for the NavigationBar, this time using a custom view to support BackgroundColor * [MacOS] Fix build * [MacOS] Refactoring AwesomeBar related controls * Fix build * [MacOS] NavigationBar update background and t test colors * [MacOS] Fix when we remove navigation so it works when the NavigationRenderer wasn't removed from the parent controller like in a TabbedPage * [MacOS] Add support for ListView grouping * [MacOS] Fix image extension method. * [MacOS] Add base Maps project * [MacOS] Export MapRenderer * [MacOS] Add pin click and geocoderbacked for Maps * [MacOS] Add extra binding project for API not in stable. * [MacOS] Add MacOS Maps lib * [MacOS]Fix build on alpha * [MacOS] Remove MacOS Maps extra binding * [UITest] Basic macOS setup * [UITest] Add MacOSApp wrapper implementation * [MacOS] Set AutomationID * [UITests] Add ActionSheetUITests to MacOS UITest * [MacOS] Fix bug on Picker * [UITests] Link basic uitest basefixture and related files * [MacOS] Fix pickers reuse * [UItests] Fix MacOS app path * [UITest] Ignore UItest for appearing on macOS for now * [UITest] Update macOS for 2.0.3 * [UITest] Refactor EnterText MacOS app * [UITest]Fix ViewQuery on MacOS * [UITest]Fix IsEnabled UItest on macOS * [UITest] Implement Enter, mark some tests inconclusive fix others * [MacOS] Implement Entry Completed event * [UITests] Fix UITest for IsVisible, ignore ToolbarItem test for now * [UITests] Fix ISVisible again add extra category * [Controls] Cleanup macOS gallery * [MacOS] Fix Assembly info * [Docs] Fix docs * Fix build * [Nuget] Fix nuspec * [Controls] Link files on MacOS * [Core] Update Forms stack before firing a event saying page was removed, possible breaking change * [MacOS] Implement RemovePage on NavigationPAgeRenderer * [UItest] Ignore some , implement back on MacOS UITest app * [MacOS] Add default back button name (needs to be translated) * [MacOS] Fix dispose * [UITest] Make 29257 work on MacOS * [MacOS] Rename stuff * [MacOS] More renaming and cleanup * [MacOS] Share implementations for iOS * [MacOS] Reuse more IOS extensions * [MacOS] Reuse FontExtensions * [MacOS] Share NativeViewWrapper related stuff * [MAcOS] Share event args and ExportRenderer * [MacOS] Share platform effect * [MacOS] Fix build * [Docs]Fixing docs * [MacOS] Fix ViewCell reuse * [Core] Support ListView CachingStrategy on MacOS * [MacOS] Fix issues with TextCell and ImageCell (we can’t set null to a NSControl value) * [MacOS] Fix MDP child sizing bug [UITest] Query marked by id and text * [MacOS] Comment test related with context actions * [MacOS] Implement missing stuff on ticker * [MacOS] Make sure VisualElemenTracker calls the ticker update * [UITests]Ignore context actions and not possible to test * [MacOS] Fix Grouping bug on Listview * [MacOS] Fix selection on Listview when using grouping * [MacOS] Update navbar when page is popped * [MacOS] Cleanup NavigationBar * [Controls] More info on exceptions * [MacOS] Fix bug animation pop modal * [MacOS] Bring back BackgroundColor of NavigationBar * [MacOS] Fix UITest animation delay * [MacOS] Treat warnings as errors * [MacOS] Center title on toolbar * [Core] Add Platform configuration specific for MacOS * [MacOS] Implement TabbedPage platform specific to handle TabItems on NavigationPage bar * [MacOS] Fix warning * [MacOS] Fix bug on SearchBar color * [MacOS]Fix build * [MacOS] remove extra dll from maps * [Docs] Update docs * [MacOS]Cleanup and refactoring * Revert "[MacOS] remove extra dll from maps" This reverts commit 73b948937001fea3f28449a963d0b94943e07aa0. * [MacOS] Fix wrong refactoring * [MacOS] dix formatting * [MacOS] Fix build * [MacOS] Fix bug on TabbedPageRenderer no title * [MacOS,UITest] Update packages * [MacOS ,UITest] Add delay when tapping something, and focus with double click * [MacOS,UITest] Ignore UITest, not possible to test with current version * [MacOS,UITest] Ignore test that uses Frame, UITest doesn’t return it * [MacOS] Fix bug when no title on toolbar items * [MacOS] Remove FormsNSView * [MacOS] Cleanup on dispose on MDP renderer * [MacOS] Different way to test leak of MDP, need to look at this again after * [MacOS] Update current page when source changes * [MacOS] More cleanup * [MacOS,UITest] Implement ClearText * [MacOS,UITest] ClearText doesn’t work for now on MacOS uitest * [MacOS] Make sure we show the previous page when popping a Modal * [MacOS] Fix issue with sizing the Header and visibility, remove for now header renderer reuse * [MacOS] Clean CustomNSTableView * [MacOS] Share LabelRenderer with iOS * [MacOS,UITest] Don’t try to scroll for the element * [MacOS] Share ResourcesProvider with iOS * [MAcoS] Share VisualElementPackager with iOS * [MacOS] Share ViewRenderer with iOS * [MacOS] Merge with VisualElementTracker from iOS * [MacOS] Merge with EventTracker from iOS * [MacOS] Merge with VisualElementRenderer of iOS * [MacOS] Make sure we always have a layer * [MacOS] Fix Tracker merge with iOS version * [MacOS] Fix bug with tabbed page on modal without navigation * [Core] Rever change on core * [Controls] Add missing image * [MacOS] Clear renderers before setting them MDP * [MacOS] Update tabbedPage ContainerArea * [Controls] Add Custom renderers tests * [MacOS] Fix ListViewRenderer * [MacOS,UITest] Refactoring, implement index * [MacOS] Make sure we don’t pass null to TextField string value * [MacOS] Support for multiple clicks in same selected item on NSTableView * [MacOS, UITest] Fix bug on Back because of refactoring * [MacOS,UITest] Ignore UITest because we’d-not have ScrollDownTo yet * [MacOS] Support Focus on EntryRenderer * [MacOS,UITest] Ignore more a couple of tests that we can’t test on UITest Desktop * [MacOS,UITest] MacOSApp looks for StaticText fields too * [MacOS, UITest] Fix EnterText for marked Entry * [MacOS] Fix index bug on TablevIewDataSource * [MacOS] Fix SelectedItem TableViewDataSource * [Nuget] Add Mac to Maps nuspec * [Nuget]Fix path * [Controls] Add basic FormsGallery sample * [macOS] Fixed Tab NSImage crash in TabbedPageRenderer (#705) * [macOS] Fixed Tab NSImage crash in TabbedPageRenderer * Coding Style * Coding Style * [MacOS] Fix previous merge with master * [MacOS] Possible simple fix for click on views overlapping * [UItest] Ignore this part of the test we can’t click on NSViews yet * [MacOS] Rename to IsOnViewCell * fix docs * [MacOS] Cleanup, Address feedback from Samantha’s review * [MacOS] Add ContextActions * [Controls] Remove FormsGalery for now * [Docs] Update docs * [MacOS] Implement ContextActions * [MacOS,UITests] Enable and support UITests of ContextActions
2017-01-27 15:52:38 +03:00
#if __MACOS__
[Ignore("Missing UITest for focus")]
#endif
2016-03-22 23:02:25 +03:00
public void EntryTextDoesNotDisplayNonnumericInput ()
{
RunningApp.WaitForElement ("Start Entry");
RunningApp.Tap ("Start Entry");
RunningApp.EnterText ("123A");
var entry = RunningApp.Query (q => q.Text("123"));
Assert.That(entry.Length, Is.GreaterThanOrEqualTo(1), "The entry text should be '123'.");
2016-03-22 23:02:25 +03:00
var failedEntry = RunningApp.Query (q => q.Text("123A"));
Assert.That(failedEntry.Length, Is.EqualTo(0), "The entry text should only be '123'.");
2016-03-22 23:02:25 +03:00
RunningApp.EnterText ("4");
var entry2 = RunningApp.Query (q => q.Text("1234"));
Assert.That(entry2.Length, Is.GreaterThanOrEqualTo(1), "The entry text should now be '1234'.");
}
2016-03-22 23:02:25 +03:00
[Test]
#if __MACOS__
[Ignore("Missing UITest for focus")]
#endif
public void EditorTextDoesNotDisplayNonnumericInput ()
{
2016-03-22 23:02:25 +03:00
RunningApp.WaitForElement ("Start Editor");
RunningApp.Tap ("Start Editor");
RunningApp.EnterText ("123A");
var editor = RunningApp.Query (q => q.Text("123"));
Assert.That(editor.Length, Is.GreaterThanOrEqualTo(1), "The editor text should be '123'.");
2016-03-22 23:02:25 +03:00
var failedEditor = RunningApp.Query (q => q.Text("123A"));
Assert.That(failedEditor.Length, Is.EqualTo(0), "The editor text should only be '123'.");
2016-03-22 23:02:25 +03:00
RunningApp.EnterText ("4");
var editor2 = RunningApp.Query (q => q.Text("1234"));
Assert.That(editor2.Length, Is.GreaterThanOrEqualTo(1), "The editor text should now be '1234'.");
2016-03-22 23:02:25 +03:00
}
#endif
}
}