summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/lexer/lexer_ut.cpp
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-02-19 17:28:26 +0300
committervvvv <[email protected]>2025-02-19 17:46:38 +0300
commit52daccf61e2e827114cfb3372071cddaec7974ba (patch)
tree07404f6ec241c8a2b96a4da07dc0f0d0c247799c /yql/essentials/sql/v1/lexer/lexer_ut.cpp
parentca4b5f28703b0d06599c94f3eacc5d6c498c31d5 (diff)
YQL-19594 Explicit lexers & parsers
commit_hash:6be543b7c5bff6ee474ee606c920197fb2569767
Diffstat (limited to 'yql/essentials/sql/v1/lexer/lexer_ut.cpp')
-rw-r--r--yql/essentials/sql/v1/lexer/lexer_ut.cpp33
1 files changed, 26 insertions, 7 deletions
diff --git a/yql/essentials/sql/v1/lexer/lexer_ut.cpp b/yql/essentials/sql/v1/lexer/lexer_ut.cpp
index 7dc84162890..2f0c8bb8e2b 100644
--- a/yql/essentials/sql/v1/lexer/lexer_ut.cpp
+++ b/yql/essentials/sql/v1/lexer/lexer_ut.cpp
@@ -2,6 +2,8 @@
#include <yql/essentials/core/issue/yql_issue.h>
#include <yql/essentials/sql/settings/translation_settings.h>
+#include <yql/essentials/sql/v1/lexer/antlr3/lexer.h>
+#include <yql/essentials/sql/v1/lexer/antlr4/lexer.h>
#include <library/cpp/testing/unittest/registar.h>
@@ -74,8 +76,12 @@ Y_UNIT_TEST_SUITE(SQLv1Lexer) {
"\"select\"select",
};
- auto lexer3 = MakeLexer(/* ansi = */ false, /* antlr4 = */ false);
- auto lexer4 = MakeLexer(/* ansi = */ false, /* antlr4 = */ true);
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr3 = NSQLTranslationV1::MakeAntlr3LexerFactory();
+ lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory();
+
+ auto lexer3 = MakeLexer(lexers, /* ansi = */ false, /* antlr4 = */ false);
+ auto lexer4 = MakeLexer(lexers, /* ansi = */ false, /* antlr4 = */ true);
for (const auto& query : queriesUtf8) {
auto [tokens3, issues3] = Tokenize(lexer3, query);
@@ -89,7 +95,11 @@ Y_UNIT_TEST_SUITE(SQLv1Lexer) {
TVector<TString> InvalidQueries();
void TestInvalidTokensSkipped(bool antlr4, const TVector<TVector<TString>>& expected) {
- auto lexer = MakeLexer(/* ansi = */ false, antlr4);
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr3 = NSQLTranslationV1::MakeAntlr3LexerFactory();
+ lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory();
+
+ auto lexer = MakeLexer(lexers, /* ansi = */ false, antlr4);
auto input = InvalidQueries();
UNIT_ASSERT_VALUES_EQUAL(input.size(), expected.size());
@@ -144,8 +154,12 @@ Y_UNIT_TEST_SUITE(SQLv1Lexer) {
}
Y_UNIT_TEST(IssuesCollected) {
- auto lexer3 = MakeLexer(/* ansi = */ false, /* antlr4 = */ false);
- auto lexer4 = MakeLexer(/* ansi = */ false, /* antlr4 = */ true);
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr3 = NSQLTranslationV1::MakeAntlr3LexerFactory();
+ lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory();
+
+ auto lexer3 = MakeLexer(lexers, /* ansi = */ false, /* antlr4 = */ false);
+ auto lexer4 = MakeLexer(lexers, /* ansi = */ false, /* antlr4 = */ true);
for (const auto& query : InvalidQueries()) {
auto issues3 = GetIssueMessages(lexer3, query);
@@ -157,7 +171,9 @@ Y_UNIT_TEST_SUITE(SQLv1Lexer) {
}
Y_UNIT_TEST(IssueMessagesAntlr3) {
- auto lexer3 = MakeLexer(/* ansi = */ false, /* antlr4 = */ false);
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr3 = NSQLTranslationV1::MakeAntlr3LexerFactory();
+ auto lexer3 = MakeLexer(lexers, /* ansi = */ false, /* antlr4 = */ false);
auto actual = GetIssueMessages(lexer3, "\xF0\x9F\x98\x8A SELECT * FR");
@@ -172,7 +188,10 @@ Y_UNIT_TEST_SUITE(SQLv1Lexer) {
}
Y_UNIT_TEST(IssueMessagesAntlr4) {
- auto lexer4 = MakeLexer(/* ansi = */ false, /* antlr4 = */ true);
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory();
+
+ auto lexer4 = MakeLexer(lexers, /* ansi = */ false, /* antlr4 = */ true);
auto actual = GetIssueMessages(lexer4, "\xF0\x9F\x98\x8A SELECT * FR");