From d9aa870e5d509cc7309ab82dd102a937ab58613a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Thu, 9 Feb 2017 04:36:04 -0500 Subject: Imported Upstream version 3.1.1+dfsg1 --- SQLiteStudio3/Tests/UtilsTest/tst_utilssqltest.cpp | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 SQLiteStudio3/Tests/UtilsTest/tst_utilssqltest.cpp (limited to 'SQLiteStudio3/Tests/UtilsTest/tst_utilssqltest.cpp') diff --git a/SQLiteStudio3/Tests/UtilsTest/tst_utilssqltest.cpp b/SQLiteStudio3/Tests/UtilsTest/tst_utilssqltest.cpp new file mode 100644 index 0000000..97c9234 --- /dev/null +++ b/SQLiteStudio3/Tests/UtilsTest/tst_utilssqltest.cpp @@ -0,0 +1,75 @@ +#include +#include +#include "common/utils_sql.h" + +class UtilsSqlTest : public QObject +{ + Q_OBJECT + +public: + UtilsSqlTest(); + +private Q_SLOTS: + void testCaseDefault(); + void testRemoveEmpties(); + void testRemoveComments(); + void testRemoveCommentsAndEmpties(); +}; + +UtilsSqlTest::UtilsSqlTest() +{ +} + +void UtilsSqlTest::testCaseDefault() +{ + QString sql = "select 'dfgh ;sdg '' dfga' from aa; insert into x values ('sdg', ';drghd;;;''', 4); select 1, ''; select 2;"; + QStringList sp = quickSplitQueries(sql); + + QString failure = "Failure, got: \"%1\""; + + QVERIFY2(sp.size() == 4, failure.arg(sp.size()).toLatin1().data()); + QVERIFY2(sp[0] == "select 'dfgh ;sdg '' dfga' from aa;", failure.arg(sp[0]).toLatin1().data()); + QVERIFY2(sp[1] == " insert into x values ('sdg', ';drghd;;;''', 4);", failure.arg(sp[1]).toLatin1().data()); + QVERIFY2(sp[2] == " select 1, '';", failure.arg(sp[2]).toLatin1().data()); + QVERIFY2(sp[3] == " select 2;", failure.arg(sp[3]).toLatin1().data()); +} + +void UtilsSqlTest::testRemoveEmpties() +{ + QString sql = "select 'dfgh ;sdg '' dfga' from aa; ; select 1, '';"; + QStringList sp = quickSplitQueries(sql, false); + + QString failure = "Failure, got: \"%1\""; + + QVERIFY2(sp.size() == 2, failure.arg(sp.size()).toLatin1().data()); + QVERIFY2(sp[0] == "select 'dfgh ;sdg '' dfga' from aa;", failure.arg(sp[0]).toLatin1().data()); + QVERIFY2(sp[1] == " select 1, '';", failure.arg(sp[1]).toLatin1().data()); +} + +void UtilsSqlTest::testRemoveComments() +{ + QString sql = "select 'dfgh ;sdg '' dfga' from aa; select 1/*, ''*/;--select 1\nselect 2;"; + QStringList sp = quickSplitQueries(sql, true, true); + + QString failure = "Failure, got: \"%1\""; + + QVERIFY2(sp.size() == 3, failure.arg(sp.size()).toLatin1().data()); + QVERIFY2(sp[0] == "select 'dfgh ;sdg '' dfga' from aa;", failure.arg(sp[0]).toLatin1().data()); + QVERIFY2(sp[1] == " select 1;", failure.arg(sp[1]).toLatin1().data()); + QVERIFY2(sp[2] == "select 2;", failure.arg(sp[2]).toLatin1().data()); +} + +void UtilsSqlTest::testRemoveCommentsAndEmpties() +{ + QString sql = "select 'dfgh ;sdg /*''*/ dfga' from aa; /*select 1, ''*/;--select 1\n--select 2;"; + QStringList sp = quickSplitQueries(sql, false, true); + + QString failure = "Failure, got: \"%1\""; + + QVERIFY2(sp.size() == 1, failure.arg(sp.size()).toLatin1().data()); + QVERIFY2(sp[0] == "select 'dfgh ;sdg /*''*/ dfga' from aa;", failure.arg(sp[0]).toLatin1().data()); +} + +QTEST_APPLESS_MAIN(UtilsSqlTest) + +#include "tst_utilssqltest.moc" -- cgit v1.2.3