public void GetNewGeneratedId_Increments_After_Call() { var firstIdNumber = IncrementalViewIdGenerator.NextGeneratedIdNumber; IncrementalViewIdGenerator.GetNewGeneratedId(); var nextIdNumber = IncrementalViewIdGenerator.NextGeneratedIdNumber; Assert.AreEqual(firstIdNumber + 1, nextIdNumber); }
public override HtmlNode Convert2Blazor(HtmlNode node) { var textValue = node.Attributes.AttributesWithName(TextAttributeName).FirstOrDefault()?.Value; var idValue = node.Attributes.AttributesWithName(IdentifierAttributeName).FirstOrDefault()?.Value; AddBooleanAttributeOnCondition(node, CheckedAttributeName, CheckedAttributeName, true); AddBooleanAttributeOnCondition(node, EnabledAttributeName, DisabledAttributeName, false); if (!string.IsNullOrEmpty(textValue)) { var containerNode = Convert2BlazorFromParts(NodeTemplate, ContainerTagName, null, null); // NOTE: If no is present, can't link label to radio button, so instead generate a new unique id if (idValue == null) { idValue = IncrementalViewIdGenerator.GetNewGeneratedId(); NewAttributes = NewAttributes.Append(new ViewLayerControlAttribute(IdentifierAttributeName, idValue)); } var joinedAttributesString = JoinAllAttributes(node.Attributes, NewAttributes); var radioButtonNode = Convert2BlazorFromParts(SingleTagNodeTemplate, BlazorName, joinedAttributesString, null); var labelAttrString = string.Format(LabelForAttributeTemplate, idValue); var labelNode = Convert2BlazorFromParts(NodeTemplate, LabelTagName, labelAttrString, textValue); containerNode.AppendChild(radioButtonNode); containerNode.AppendChild(labelNode); return(containerNode); } else { var joinedAttributesString = JoinAllAttributes(node.Attributes, NewAttributes); return(Convert2BlazorFromParts(SingleTagNodeTemplate, BlazorName, joinedAttributesString, null)); } }
public void GetNewGeneratedId_Returns_Properly_Formatted_Id() { var nextIdNumber = IncrementalViewIdGenerator.NextGeneratedIdNumber; Assert.AreEqual($"GeneratedId{nextIdNumber}", IncrementalViewIdGenerator.GetNewGeneratedId()); }