Exemple #1
0
        public void LexLeftMeta_AdvancesPosByTwo()
        {
            var lexer = new Lexer("{{ name }}");

            LexFunctions.LexLeftMeta(lexer);

            Assert.AreEqual(2, lexer.Pos);
        }
Exemple #2
0
        public void LexLeftMeta_AdvancesStartToPos()
        {
            var lexer = new Lexer("{{ name }}");

            LexFunctions.LexLeftMeta(lexer);

            Assert.AreEqual(lexer.Pos, lexer.Start);
        }
Exemple #3
0
        public void LexLeftMeta_ReturnsLexInsideAction()
        {
            var lexer = new Lexer("{{ name }}");

            var nextLexFunction = LexFunctions.LexLeftMeta(lexer);

            Assert.AreEqual(LexFunctions.LexInsideAction, nextLexFunction);
        }
Exemple #4
0
        public void LexLeftMeta_EmitsLeftMeta()
        {
            var lexer = new Lexer("{{ name }}");

            LexFunctions.LexLeftMeta(lexer);

            var tokens = lexer.Tokens.ToArray();

            Assert.AreEqual(1, tokens.Length);
            Assert.AreEqual(Lexeme.LeftMeta, tokens[0].Type);
            Assert.AreEqual("{{", tokens[0].Value);
        }