public void BitIconButtonTest(Visual visual, bool isEnabled, BitIconName iconName, string title) { var com = RenderComponent <BitIconButtonTest>(parameters => { parameters.Add(p => p.Visual, visual); parameters.Add(p => p.IsEnabled, isEnabled); parameters.Add(p => p.IconName, iconName); parameters.Add(p => p.Title, title); }); var bitIconButton = com.Find(".bit-ico-btn"); var bitIconITag = com.Find(".bit-ico-btn > span > i"); var isEnabledClass = isEnabled ? "enabled" : "disabled"; var visualClass = visual == Visual.Cupertino ? "cupertino" : visual == Visual.Material ? "material" : "fluent"; Assert.IsTrue(bitIconButton.ClassList.Contains($"bit-ico-btn-{isEnabledClass}-{visualClass}")); Assert.IsTrue(bitIconITag.ClassList.Contains($"bit-icon--{iconName.GetName()}")); if (title.HasValue()) { Assert.IsTrue(bitIconButton.GetAttribute("title").Contains(title)); } bitIconButton.Click(); Assert.AreEqual(isEnabled ? 1 : 0, com.Instance.CurrentCount); }
public void BitCheckboxCustomCheckmarkIconTest(BitIconName checkmarkIconName) { var component = RenderComponent <BitCheckboxTest>(parameters => { parameters.Add(p => p.CheckmarkIconName, checkmarkIconName); }); var icon = component.Find(".bit-chb-checkmark"); Assert.IsTrue(icon.ClassList.Contains($"bit-icon--{checkmarkIconName.GetName()}")); }
public void BitTextFieldShouldAcceptIcon(BitIconName iconName) { var component = RenderComponent <BitTextFieldTest>( parameters => { parameters.Add(p => p.IconName, iconName); }); var bitTextFieldIcon = component.Find(".txt-field + .bit-icon"); Assert.IsTrue(bitTextFieldIcon.ClassList.Contains($"bit-icon--{iconName}")); }
public void BitRadioButtonOptionShouldrespectIcon(BitIconName iconName) { var component = RenderComponent <BitRadioButtonGroupTest>( parameters => { parameters.Add(p => p.IconName, iconName); }); var icon = component.Find(".bit-rbo-icon-wrapper i"); Assert.IsTrue(icon.ClassList.Contains($"bit-icon--{iconName.GetName()}")); }
public void BitBreadcrumbShouldTakeDividerIcon(BitIconName icon) { var component = RenderComponent <BitBreadcrumb>(parameters => { parameters.Add(p => p.Items, GetBreadcrumbItems()); parameters.Add(p => p.DividerIcon, icon); }); var breadcrumbDividerIcon = component.Find(".bit-brc ul li i"); Assert.IsTrue(breadcrumbDividerIcon.ClassList.Contains($"bit-icon--{icon}")); }
public void BitRatingShouldTakeCustomIcon(BitIconName icon, BitIconName unselectedIcon) { var component = RenderComponent <BitRatingTest>(parameters => { parameters.Add(p => p.Icon, icon); parameters.Add(p => p.UnselectedIcon, unselectedIcon); }); var bitRating = component.FindAll(".bit-rating button"); var ratingIcon = component.Find(".bit-rating button i"); var ratingUnselectedIcon = component.Find(".bit-rating button:nth-child(2) i"); //TODO: bypassed - BUnit 2-way bound parameters issue //Assert.IsTrue( ratingIcon.ClassList.Contains($"bit-icon--{icon}")); //Assert.IsTrue(ratingUnselectedIcon.ClassList.Contains($"bit-icon--{unselectedIcon}")); }
public void BitRatingShouldRespectRatingValue(int max, double value, BitIconName icon, BitIconName unselectedIcon) { var component = RenderComponent <BitRatingTest>(parameters => { parameters.Add(p => p.Value, value); parameters.Add(p => p.Max, max); }); var buttons = component.FindAll(".bit-rating button i:nth-child(2)"); var filledBitRatingIconCount = buttons.Where(s => s.ClassList.Contains($"bit-icon--{icon.GetName()}")).Count(); var unselectedBitRatingIconCount = buttons.Where(s => s.ClassList.Contains($"bit-icon--{unselectedIcon.GetName()}")).Count(); //TODO: bypassed - BUnit 2-way bound parameters issue //Assert.AreEqual(filledBitRatingIconCount, value); //Assert.AreEqual(unselectedBitRatingIconCount, max - value); }
private static string?GetIconName(this BitIconName bitIconName, bool ignoreDefaultValue = true) { if (ignoreDefaultValue) { var attributes = (DefaultValueAttribute[])bitIconName.GetType().GetCustomAttributes(typeof(DefaultValueAttribute), false); if (attributes is not null && attributes.Length > 0 && attributes[0].Value is not null) { if ((BitIconName)attributes[0].Value ! == bitIconName) { return(null); } } else if (bitIconName == default) { return(null); } }
public void BitBreadcrumbShouldRespectOverflowChanges(BitIconName icon, int maxDisplayedItems, int overflowIndex) { var component = RenderComponent <BitBreadcrumb>(parameters => { parameters.Add(p => p.Items, GetBreadcrumbItems()); parameters.Add(p => p.OverflowIndex, overflowIndex); parameters.Add(p => p.OnRenderOverflowIcon, icon); parameters.Add(p => p.MaxDisplayedItems, maxDisplayedItems); }); var breadcrumbOverflowIcon = component.Find(".bit-brc ul li button span i"); Assert.IsTrue(breadcrumbOverflowIcon.ClassList.Contains($"bit-icon--{icon}")); var breadcrumbElements = component.FindAll(".bit-brc .bit-brc-items-wrapper ul li"); var overflowItem = breadcrumbElements[overflowIndex]; Assert.AreEqual(breadcrumbElements.Count, maxDisplayedItems + 1); Assert.IsTrue(overflowItem.InnerHtml.Contains("button")); }
public void BitSpinButtonShoudRenderCorrectIncrementButton(BitIconName iconName, string iconAriaLabel, bool isEnabled) { var component = RenderComponent <BitSpinButtonTest>(parameters => { parameters.Add(p => p.IncrementButtonIconName, iconName); parameters.Add(p => p.IncrementButtonAriaLabel, iconAriaLabel); parameters.Add(p => p.IsEnabled, isEnabled); }); var button = component.Find("button"); var icon = component.Find("button > span > i"); Assert.IsTrue(icon.ClassList.Contains($"bit-icon--{iconName.GetName()}")); Assert.AreEqual(!isEnabled, button.HasAttribute("disabled")); Assert.AreEqual(!isEnabled, button.HasAttribute("aria-disabled")); if (iconAriaLabel is not null) { Assert.AreEqual(iconAriaLabel, button.GetAttribute("aria-label")); } }
public static string?GetName(this BitIconName bitIconName, bool ignoreDefaultValue = true) { return(GetIconName(bitIconName, ignoreDefaultValue)); }