diff --git a/UITests/Tests/SearchResults.cs b/UITests/Tests/SearchResults.cs new file mode 100644 index 000000000..a6f325af7 --- /dev/null +++ b/UITests/Tests/SearchResults.cs @@ -0,0 +1,55 @@ +//****************************************************************************** +// +// Copyright (c) 2024 Microsoft Corporation. All rights reserved. +// +// This code is licensed under the MIT License (MIT). +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +//****************************************************************************** + +using Microsoft.VisualStudio.TestTools.UnitTesting; +using OpenQA.Selenium; +using System.Threading; + +namespace UITests.Tests +{ + [TestClass] + public class SearchResults : TestBase + { + [ClassInitialize] + public static void ClassInitialize(TestContext context) + { + } + + [TestMethod] + [DataRow("a")] // "a" should return results for all groups. + [TestProperty("Description", "Validate the accessibility of the search results page.")] + public void ValidateSearchResultsPageAccessibility(string searchText) + { + var search = Session.FindElementByName("Search"); + search.Clear(); + + search.SendKeys(searchText); + search.SendKeys(Keys.Enter); + + Thread.Sleep(100); + + var resultsNavView = Session.FindElementByAccessibilityId("resultsNavView"); + var resultItems = resultsNavView.FindElements(By.ClassName("Microsoft.UI.Xaml.Controls.NavigationViewItem")); + + foreach (var menuItem in resultItems) + { + Thread.Sleep(1000); + menuItem.Click(); + AxeHelper.AssertNoAccessibilityErrors(); + } + } + } +} \ No newline at end of file diff --git a/WinUIGallery/DataModel/ControlInfoDataSource.cs b/WinUIGallery/DataModel/ControlInfoDataSource.cs index b6c2f741e..15077afb8 100644 --- a/WinUIGallery/DataModel/ControlInfoDataSource.cs +++ b/WinUIGallery/DataModel/ControlInfoDataSource.cs @@ -231,6 +231,7 @@ private async Task GetControlInfoDataAsync() item.BadgeString = badgeString; item.IncludedInBuild = pageType is not null; + item.ImagePath ??= "ms-appx:///Assets/ControlImages/Placeholder.png"; #nullable disable });