Some work on parser, not used yet.

This commit is contained in:
eelke 2019-01-28 20:53:10 +01:00
parent 3b482c1c73
commit 39ac8ef02d
5 changed files with 50 additions and 9 deletions

View file

@ -15,7 +15,7 @@ error( "Couldn't find the common.pri file!" )
}
HEADERS +=
HEADERS +=
SOURCES += main.cpp \
tst_ExplainJsonParser.cpp \
@ -28,7 +28,8 @@ SOURCES += main.cpp \
tst_CodeBuilder.cpp \
tst_NameManglingRules.cpp \
tst_TypeMappings.cpp \
tst_Range.cpp
tst_Range.cpp \
tst_SqlParser.cpp
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../core/release/ -lcore
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../core/debug/ -lcore

View file

@ -0,0 +1,30 @@
#include <gtest/gtest.h>
#include <gmock/gmock-matchers.h>
#include "SqlLexer.h"
#include "SqlParser.h"
#include "SqlAstSelect.h"
#include "PrintTo_Qt.h"
using namespace testing;
TEST(SqlParser, emptyFile)
{
QString input;
SqlLexer lexer(input, LexerState::Null);
SqlParser parser(lexer);
auto res = parser.parse();
ASSERT_TRUE(res == nullptr);
}
TEST(SqlParser, select)
{
QString input("SELECT");
SqlLexer lexer(input, LexerState::Null);
SqlParser parser(lexer);
auto res = parser.parse();
ASSERT_TRUE(res != nullptr);
ASSERT_EQ(typeid(*res), typeid(SqlAst::Select));
}