Tokenicer: Better identifier tokening.

This commit is contained in:
2019-12-02 07:56:12 +01:00
parent 13daa68c26
commit 379583607b
3 changed files with 40 additions and 5 deletions

View File

@@ -90,9 +90,9 @@ namespace VAR.ExpressionEvaluator.Tests
}
[TestMethod()]
public void Tokenizer__Keywords()
public void Tokenizer__Identifiers()
{
var testString = "null true false";
var testString = "null true false _$variable1 $variable2";
var t = new Tokenizer(new StringReader(testString));
// "null"
@@ -110,6 +110,16 @@ namespace VAR.ExpressionEvaluator.Tests
Assert.AreEqual(t.Text, "false");
t.NextToken();
// "_$variable1"
Assert.AreEqual(t.Token, Token.Identifier);
Assert.AreEqual(t.Text, "_$variable1");
t.NextToken();
// "$variable2"
Assert.AreEqual(t.Token, Token.Identifier);
Assert.AreEqual(t.Text, "$variable2");
t.NextToken();
Assert.AreEqual(t.Token, Token.EOF);
}