Example #1
0
    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);
    }
Example #2
0
    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}"));
    }
Example #4
0
    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);
    }
Example #8
0
    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"));
        }
    }
Example #11
0
 public static string?GetName(this BitIconName bitIconName, bool ignoreDefaultValue = true)
 {
     return(GetIconName(bitIconName, ignoreDefaultValue));
 }