public void LexText_ReturnsLexLeftMetaWhenFoundLeftMeta() { var lexer = new Lexer("{{ name }}"); var nextLexFunction = LexFunctions.LexText(lexer); Assert.AreEqual(LexFunctions.LexLeftMeta, nextLexFunction); }
public void LexText_ReturnsNullWhenFoundEof() { var lexer = new Lexer("Hello world"); var nextLexFunction = LexFunctions.LexText(lexer); Assert.IsNull(nextLexFunction); }
public void LexText_EmitsNoTextTokenWhenTextStartsWithLeftMeta() { var lexer = new Lexer("{{ name }}"); LexFunctions.LexText(lexer); var result = lexer.Tokens.ToArray(); Assert.AreEqual(0, result.Length); }
public void LexText_EmitsSingleTextTokenForTextPrecedingLeftMeta() { var lexer = new Lexer("Hello {{ name }}"); LexFunctions.LexText(lexer); var tokens = lexer.Tokens.ToArray(); Assert.AreEqual(1, tokens.Length); Assert.AreEqual(Lexeme.Text, tokens[0].Type); Assert.AreEqual("Hello ", tokens[0].Value); }
public void LexText_EmitsSingleTextTokenOnAllTextInput() { var lexer = new Lexer("Hello world"); LexFunctions.LexText(lexer); var tokens = lexer.Tokens.ToArray(); Assert.AreEqual(1, tokens.Length); Assert.AreEqual(Lexeme.Text, tokens[0].Type); Assert.AreEqual("Hello world", tokens[0].Value); }