示例#1
0
 /// <summary>
 /// Initializes a new BBCode parser
 /// </summary>
 /// <param name="code"></param>
 public BBParser(string code)
 {
     _reader    = new StringReader(code);
     _lexer     = BBLexer.Lex(_reader).GetEnumerator();
     _nodeStack = new Stack <BBTagNode>();
     _parsed    = null;
 }
示例#2
0
        private static void AssertTokenStream(string str, params BBToken[] expectedTokens)
        {
            using var reader = new StringReader(str);
            var gottenTokens = BBLexer.Lex(reader).ToArray();

            foreach ((var expected, var gotten) in expectedTokens.Zip(gottenTokens, (a, b) => (a, b)))
            {
                Assert.AreEqual(expected, gotten);
            }

            Assert.AreEqual(expectedTokens.Length, gottenTokens.Length, "Got a different amount of tokens than expected");
        }