Modules/Objects/tests/TestParser.cpp
2024-03-25 11:20:15 +03:00

63 lines
No EOL
939 B
C++

#include "ObjectTests.hpp"
#include "parser/Parser.hpp"
using namespace tp;
using namespace obj;
SUITE(Parser) {
TEST(Basic) {
objTestModule.initialize();
{
Parser parser;
std::string stream = "";
auto res = parser.parse(stream);
CHECK(!res.isError);
delete res.scope;
}
{
Parser parser;
std::string stream = "var i = true;";
auto res = parser.parse(stream);
CHECK(!res.isError);
delete res.scope;
}
{
Parser parser;
std::string stream = "var i = true; print (i + 1) * 10;";
auto res = parser.parse(stream);
CHECK(!res.isError);
delete res.scope;
}
objTestModule.deinitialize();
}
TEST(ErrorHandling) {
objTestModule.initialize();
{
Parser parser;
std::string stream = "var i = true; print (i + 1) * 10; invalidCharacter ";
auto res = parser.parse(stream);
CHECK(res.isError);
delete res.scope;
}
objTestModule.deinitialize();
}
}