public void AddsActiveClassForMatchingRoute() { //Arrange helper.RouteValues = new Dictionary <string, string>(); helper.RouteValues.Add("Id", "Foo"); helper.RouteValues.Add("Name", "Bar"); viewContext.RouteData.Values.Add("Area", ""); viewContext.RouteData.Values.Add("Controller", "Home"); viewContext.RouteData.Values.Add("Action", "Index"); viewContext.RouteData.Values.Add("Id", "Foo"); viewContext.RouteData.Values.Add("Name", "Bar"); //Act helper.Process(tagHelperContext, tagHelperOutput); //Assert TagHelperAttribute classAttribute = null; tagHelperOutput.Attributes.TryGetAttribute("class", out classAttribute); Assert.AreEqual("active", classAttribute.Value); TagHelperAttribute aspActiveAttribute = null; tagHelperOutput.Attributes.TryGetAttribute("asp-is-active", out aspActiveAttribute); Assert.IsNull(aspActiveAttribute); }
public void ProcessTag_InactiveHeaderLink_NotAddClass() { // Arrange var env = new TagHelperEnvironment("Home", "Index"); env.Output.Attributes.Add("th-nav-header", null); // Act var tagHelper = new ActiveRouteTagHelper { Controller = "Profile", Action = "Index", ViewContextData = env.ViewContext }; tagHelper.Process(env.Context, env.Output); // Assert Assert.Null(env.Output.Attributes["class"]); }
public void ProcessTag_ActiveSecondaryLink_AddClass() { // Arrange var env = new TagHelperEnvironment("Band", "FlickrBand"); env.Output.Attributes.Add("th-nav-secondary", null); // Act var tagHelper = new ActiveRouteTagHelper { Controller = "Band", Action = "FlickrBand", ViewContextData = env.ViewContext }; tagHelper.Process(env.Context, env.Output); // Assert Assert.Equal("th-nav-secondary__link--active", env.Output.Attributes["class"].Value); }