private IStalkNode NewRegexLeafNode(XmlElement fragment) { RegexLeafNode node; switch (fragment.Name) { case "user": node = new UserStalkNode(); break; case "targetuser": node = new TargetUserStalkNode(); break; case "actinguser": node = new ActingUserStalkNode(); break; case "page": node = new PageStalkNode(); break; case "summary": node = new SummaryStalkNode(); break; case "flag": node = new FlagStalkNode(); break; case "log": node = new LogStalkNode(); break; case "additionaldata": node = new AdditionalDataNode(); break; default: throw new XmlException("Unknown element " + fragment.Name); } if (fragment.Attributes["caseinsensitive"] != null) { node.CaseInsensitive = XmlConvert.ToBoolean(fragment.Attributes["caseinsensitive"].Value); } node.SetMatchExpression(fragment.Attributes["value"].Value); return(node); }
public void ShouldSerialiseFlagCorrectly() { // arrange var node = new FlagStalkNode(); node.SetMatchExpression("abc"); var doc = new XmlDocument(); var snf = new StalkNodeFactory(this.phabExternalMock.Object); // act var result = snf.ToXml(doc, node); // assert Assert.AreEqual("<flag value=\"abc\" />", result.OuterXml); }