From 649bbdf8d3fdda4423f2f30bbf98698e8f2faa07 Mon Sep 17 00:00:00 2001 From: JP Appel Date: Sun, 15 Jun 2025 21:14:42 -0400 Subject: Identify lexer error --- pkg/query/lexer_test.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'pkg/query/lexer_test.go') diff --git a/pkg/query/lexer_test.go b/pkg/query/lexer_test.go index d931b96..e88c637 100644 --- a/pkg/query/lexer_test.go +++ b/pkg/query/lexer_test.go @@ -94,6 +94,17 @@ func TestLex(t *testing.T) { {Type: TOK_CLAUSE_END}, {Type: TOK_CLAUSE_END}, }}, + {"consecutive clause starts", "a:a (or (and a:b a:c) a:d)", []Token{ + {Type: TOK_CLAUSE_START}, {TOK_CLAUSE_AND, "and"}, + {TOK_CAT_AUTHOR, "a"}, {TOK_OP_AP, ":"}, {TOK_VAL_STR, "a"}, + {Type: TOK_CLAUSE_START}, {TOK_CLAUSE_OR, "or"}, + {Type: TOK_CLAUSE_START}, {TOK_CLAUSE_AND, "and"}, + {TOK_CAT_AUTHOR, "a"}, {TOK_OP_AP, ":"}, {TOK_VAL_STR, "b"}, + {TOK_CAT_AUTHOR, "a"}, {TOK_OP_AP, ":"}, {TOK_VAL_STR, "c"}, + {Type: TOK_CLAUSE_END}, + {TOK_CAT_AUTHOR, "a"}, {TOK_OP_AP, ":"}, {TOK_VAL_STR, "d"}, + {Type: TOK_CLAUSE_END}, + }}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { -- cgit v1.2.3