Skip to content

Commit

Permalink
Added UiTests (dotnet#12429)
Browse files Browse the repository at this point in the history
  • Loading branch information
kubaflo committed Apr 13, 2024
1 parent 0a562dc commit 82d823a
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Maui.Controls.Sample.Issues.Issue12429"
x:Name="Self"
Title="Issue12429">
<Grid RowDefinitions="Auto,*">
<HorizontalStackLayout Grid.Row="0">
<Button
Command="{Binding AddCommand}"
HorizontalOptions="Center"
AutomationId="button"
Text="Add" />
</HorizontalStackLayout>

<CollectionView
Grid.Row="1"
ItemsSource="{Binding ItemList}">

<CollectionView.Header>
<VerticalStackLayout>
<VerticalStackLayout BindableLayout.ItemsSource="{Binding BindingContext.ItemListHeader, Source={x:Reference Self}}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<Label Padding="10" Text="{Binding .}" />
</DataTemplate>
</BindableLayout.ItemTemplate>
</VerticalStackLayout>
<BoxView
Margin="0,5"
HeightRequest="2"
Color="Black" />
</VerticalStackLayout>
</CollectionView.Header>

<CollectionView.ItemTemplate>
<DataTemplate>
<Label Padding="10" Text="{Binding .}" />
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</Grid>
</ContentPage>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using System.Collections.ObjectModel;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Controls.Xaml;

namespace Maui.Controls.Sample.Issues;

[XamlCompilation(XamlCompilationOptions.Compile)]
[Issue(IssueTracker.Github, 12429, "[iOS] CollectionView Items display issue when Header is resized", PlatformAffected.iOS)]

public partial class Issue12429 : ContentPage
{
public ObservableCollection<string> ItemList { get; }
public ObservableCollection<string> ItemListHeader { get; }

public Command AddCommand => new(() => ItemListHeader.Add($"HeaderItem{ItemListHeader.Count + 1}"));

public Issue12429()
{
InitializeComponent();
ItemList = new() { "Item1", "Item2", "Itme3" };
ItemListHeader = new() { "HeaderItem1" };
BindingContext = this;
}
}
25 changes: 25 additions & 0 deletions src/Controls/tests/UITests/Tests/Issues/Issue12429.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using NUnit.Framework;
using UITest.Appium;
using UITest.Core;

namespace Microsoft.Maui.AppiumTests.Issues;

public class Issue12429 : _IssuesUITest
{
public override string Issue => "[iOS] CollectionView Items display issue when Header is resized";

public Issue12429(TestDevice device) : base(device)
{ }

[Test]
public void HeaderShouldNotCollapseWithItems()
{
App.WaitForElement("button");
App.Click("button");
App.Click("button");
App.Click("button");

//The test passes of header has 4 elements that don't overlap with the collection view's items
VerifyScreenshot();
}
}

0 comments on commit 82d823a

Please sign in to comment.