* [CI] Fix template to get it back to work with the megapipeline.
The template has a parameter that allows to know the checkout location,
that allow use to reuse it in the megapiepline. The new step was added
ignoring that fact.
* Add checkout dir as requeste in the pr.
We were not considering the header and content positioning for the footer when the flyout view was a ScrollView and ViewGroup, but that's something we should always execute. The only extra thing we need to do in that case is set padding, as it was already explained in the code.
Also, re-enable the tests that were failing because of this.
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 9.0.0-prerelease.24105.1 -> To Version 9.0.0-prerelease.24112.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Resource Management Service (FabricBot successor) has no support for the `noActivitySince` condition in Event Responder tasks.
Also, the `addReactionToIssue` is not supported.
I've confirmed with @samhouts and @Eilon that it's ok to exclude these tasks so that we can submit migration PRs soon.
* Fix OnPlatform + Setter when no match for current platform
When OnPlatforfm is used for a Setter value, and there's no match for the
current platform, fix so that the property isn't set (same behavior as Xamarin.Forms).
Previously, XamlC would report a "Missing Value For Setter" error when this happens
and non-compiled XAML would crash with an NRE. This PR contains fixes for both,
ensuring the XAML compiler doesn't show an error, then ensuring it doesn't crash
at runtime.
Fixes#12064
* Swtich to device tests for OnPlatform
* Remove test screenshot, no longer used
* throw an exception if latitude is out of range
* longitude is a cyclic variable, so we project it into a defined range
* make all constructors behave the same way
(and document the behaviour)
The removed code would only run if `converter` was not null. But in that case the if on line 166 would match and it would return from the method. So the removed code can only be reached if `converter` is null.
* Fix RunOniOS test
* Do not treat NativeAOT build warnings as errors - introduced with https://github.com/dotnet/runtime/pull/96567
---------
Co-authored-by: Simon Rozsival <simon@rozsival.com>
* Clear BindingContext when cell is queued for reuse
This avoid holding references to objects that were already removed.
* Auto-format source code
* Update src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Unshipped.txt to list PrepareForReuse override.
* Empty commit
* Apply code review feedback
* Update public API for maccatalyst
* Add test that shows the fix is not fully working yet
* [iOS] Unbind TemplatedCell when it goes out of display and the bound item is no longer present in items source.
Extend the test to check rebinding after clearing the source.
* Relax the test to make it pass on Android.
* Update src/Controls/src/Core/Handlers/Items/iOS/ItemsViewDelegator.cs
Co-authored-by: Rui Marinho <me@ruimarinho.net>
* Use Equals to compare item list elements
* Auto-format source code
* PR feedback
---------
Co-authored-by: GitHub Actions Autoformatter <autoformat@example.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>
I noticed that in one of my PRs I loaded a lower res image and another test caught it. Adding these tests to ensure that at least we validate the on-screen image.
* [ci] Only run on 17.2 and latest 33
* Update screenshots for iPhoneXs
* [uitests] Run on API 30 on android
* Update more images
* Fix looking for simulators
* [testing] Fix test navigation when it fails
* [ci] Fix naming of task
* [testing] Update more testing screenshots
* fixes carouselview layout on iOS
* Adds 'GetDesiredSize' also to the maccatalyst public API
* Refactor to expression body
* Add test case for issue #19657
* [Tests] Enable CarouselTest on iOS
* Revert "[Tests] Enable CarouselTest on iOS"
This reverts commit 4e0db6c559608e45aa0ae24a6a65a698d73553cb.
* Add image for test
---------
Co-authored-by: nielsvanderknaap <niels.vander.knaap@capgemini.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>
It appears that reusing the shared preferences instance sometimes causes changes to not be properly committed to disk as the instance is not disposed in some cases before the app is torn down (eg: force close).
Caching isn't really necessary here anyways as the underlying android preference manager does its own layer of caching (so we are just paying the interop tax to get a 'new' instance here).
The simplest fix is to stop caching which is the real content of this change. We don't cache in the regular preferences API where we use shared preferences and the issue does not seem to exist there.
* [iOS] Add iOS17 tests again
* Add visual test support for multiple devices for a single platform (#20256)
* Add visual test support for multiple devices for a single platform
Fixes: https://github.com/dotnet/maui/issues/20113
We need this immediately to be able to test both iOS 17.2 on iPhone 15
(the new default) while still testing iOS 16.2 on iPhone X (the old test device).
But this is general support that should meet our future needs as more devices
are added (at least that's the intention).
The comment below explains the scheme:
/*
Determine the environmentName, used as the directory name for visual testing snaphots. Here are the rules/conventions:
- Names are lower case, no spaces.
- By default, the name matches the platform (android, ios, windows, or mac).
- Each platform has a default device (or set of devices) - if the snapshot matches the default no suffix is needed (e.g. just ios).
- If tests are run on secondary devices that produce different snapshots, the device name is used as suffix (e.g. ios-iphonex).
- If tests are run on secondary devices with multiple OS versions that produce different snapshots, both device name and os version are
used as a suffix (e.g. ios-iphonex-16_4). We don't have any cases of this today but may eventually. The device name comes first here,
before os version, because most visual testing differences come from different sceen size (a device thing), not OS version differences,
but both can happen.
*/
* Rename ios -> ios-iphonex directory
The ios directory will be replaced with iPhone 15
generated images, as it's the new default.
* Update to include deviceName in error messages
* Remove the xharness suffix and update iOS test device names
* Set DeviceName for Android
* Fix cropping on iPhone 15
* Add iPhone 15 snapshots
* Ignore FlyoutHeaderWithZeroMarginShouldHaveNoY for now
* Fix device for 17
---------
Co-authored-by: Bret Johnson <bret.johnson@microsoft.com>
* Bring back some aspect of convertView on TableView
* Update TableViewRenderer.cs
* - add more tests
* - add comments fix double create of views
* - add extra disconnect code to GetCell
* - fix events