Пример #1
0
        protected virtual void VisitSnippetStatement(SnippetStatement statement)
        {
            var value = statement.GetValue(this.SupportedDialects);

            if (statement.Arguments.Count > 0)
            {
                var index = 0;
                SnippetArgumentRegex.Replace(value, match =>
                {
                    if (match.Index > index)
                    {
                        State.Write(value.Substring(index, match.Index - index));
                    }
                    var argIndex = int.Parse(match.Groups["index"].Value);
                    VisitToken(statement.Arguments[argIndex]);
                    index = match.Index + match.Length;
                    return("");
                });
                State.Write(value.Substring(index));
            }
            else
            {
                State.Write(value);
            }
        }
        public void SnippetStatementHasProperty()
        {
            SnippetStatement statement = new SnippetStatement("");

            statement.Value = "3";

            Assert.AreEqual("3", statement.Value);
        }
        public void SnippetStatementHasProperty()
        {
            SnippetStatement statement = new SnippetStatement("");

            statement.Value = "3";

            Assert.AreEqual("3", statement.Value);
        }
        public void SnippetStatementProducesSnippet()
        {
            SnippetStatement statement = new SnippetStatement("yay!");

            Assert.AreEqual("yay!", statement.ToString());
        }
        public void SnippetStatementProducesSnippet()
        {
            SnippetStatement statement = new SnippetStatement("yay!");

            Assert.AreEqual("yay!", statement.ToString());
        }