From 5d9314f134ddd3dc4c853e398ac90ba247fb2e4f Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Mon, 13 Jun 2016 18:42:42 -0400 Subject: Imported Upstream version 3.1.0 --- SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'SQLiteStudio3/Tests/ParserTest') diff --git a/SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp b/SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp index 4cec515..0dc58b0 100644 --- a/SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp +++ b/SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp @@ -20,6 +20,7 @@ class ParserTest : public QObject Parser* parser3 = nullptr; private Q_SLOTS: + void test(); void testUniqConflict(); void testGetTableTokens(); void testGetTableTokens2(); @@ -46,6 +47,31 @@ ParserTest::ParserTest() { } +void ParserTest::test() +{ + QString sql = "CREATE TRIGGER param_insert_chk_enum " + "BEFORE INSERT " + "ON param " + "WHEN new.type = 'enum' AND " + "new.defval IS NOT NULL AND " + "new.defval != '' " + "BEGIN " + "SELECT RAISE(FAIL, 'param_insert_chk_enum failed') " + "WHERE NOT EXISTS ( " + "SELECT val " + "FROM valset " + "WHERE param_id = new.param_id AND " + "val = new.defval " + "); " + "END;"; + + parser3->parse(sql); + QVERIFY(parser3->getErrors().size() == 0); + + SqliteQueryPtr query = parser3->getQueries()[0]; + TokenList tokens = query->getContextTableTokens(); +} + void ParserTest::testGetTableTokens() { QString sql = "select someTable.* FROM someTable;"; -- cgit v1.2.3