diff --git a/tests/HeadlessTest.Ursa/Controls/BreadcrumbTests/BreadcrumbTests.cs b/tests/HeadlessTest.Ursa/Controls/BreadcrumbTests/BreadcrumbTests.cs index 9761fae..1733a31 100644 --- a/tests/HeadlessTest.Ursa/Controls/BreadcrumbTests/BreadcrumbTests.cs +++ b/tests/HeadlessTest.Ursa/Controls/BreadcrumbTests/BreadcrumbTests.cs @@ -25,6 +25,22 @@ public class BreadcrumbTests Assert.DoesNotContain(":last", item1.Classes); } + [AvaloniaFact] + public void BreadcrumbItem_Should_Have_Correct_PseudoClasses_When_Insert() + { + var window = new Window(); + var breadcrumb = new Breadcrumb(); + window.Content = breadcrumb; + window.Show(); + var item1 = new BreadcrumbItem(); + var item2 = new BreadcrumbItem(); + breadcrumb.Items.Add(item1); + Assert.Contains(":last", item1.Classes); + breadcrumb.Items.Insert(0, item2); + Assert.Contains(":last", item1.Classes); + Assert.DoesNotContain(":last", item2.Classes); + } + [AvaloniaFact] public void Generated_BreadcrumbItem_Should_Have_Correct_PseudoClasses() { @@ -45,6 +61,28 @@ public class BreadcrumbTests Assert.DoesNotContain(":last", firstItem.Classes); } + [AvaloniaFact] + public void Generated_BreadcrumbItem_Should_Have_Correct_PseudoClasses_When_Insert() + { + var window = new Window(); + var breadcrumb = new Breadcrumb(); + window.Content = breadcrumb; + window.Show(); + var item1 = new TextBlock(); + var item2 = new TextBlock(); + breadcrumb.Items.Add(item1); + var firstItem = breadcrumb.GetVisualDescendants().OfType().FirstOrDefault(); + Assert.NotNull(firstItem); + Assert.Contains(":last", firstItem.Classes); + breadcrumb.Items.Insert(0, item2); + var lastItem = breadcrumb.GetVisualDescendants().OfType().LastOrDefault(); + Assert.NotNull(lastItem); + Assert.Contains(":last", lastItem.Classes); + firstItem = breadcrumb.GetVisualDescendants().OfType().FirstOrDefault(); + Assert.NotNull(firstItem); + Assert.DoesNotContain(":last", firstItem.Classes); + } + [AvaloniaFact] public void BreadcrumbItem_FromItemsSource_Should_Have_Correct_PseudoClasses() {