Exemplo n.º 1
0
        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);
        }