fix parsing quirky incomplete expressions

This commit is contained in:
Michael Go
2024-10-30 13:53:34 -03:00
parent 8e40f8050a
commit 12b5a35e26
+7
View File
@@ -136,4 +136,11 @@ class LexerUnitTest < Minitest::Test
def tokenize(input)
Lexer.new(input).tokenize
end
def test_tokenize_incomplete_expression
assert_equal([[:id, "false"], [:dash, "-"], [:end_of_string]], Lexer.new("false -").tokenize)
assert_equal([[:id, "false"], [:comparison, "<"], [:end_of_string]], Lexer.new("false <").tokenize)
assert_equal([[:id, "false"], [:comparison, ">"], [:end_of_string]], Lexer.new("false >").tokenize)
assert_equal([[:id, "false"], [:number, "1"], [:end_of_string]], Lexer.new("false 1").tokenize)
end
end