Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F213321
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
6 KB
Subscribers
None
View Options
diff --git a/sqliter.pro b/sqliter.pro
new file mode 100644
--- /dev/null
+++ b/sqliter.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ sqliter \
+ tests
diff --git a/sqliter/sqliter.cpp b/sqliter/sqliter.cpp
new file mode 100644
--- /dev/null
+++ b/sqliter/sqliter.cpp
@@ -0,0 +1,6 @@
+#include "sqliter.h"
+
+
+Sqliter::Sqliter()
+{
+}
diff --git a/sqliter/sqliter.h b/sqliter/sqliter.h
new file mode 100644
--- /dev/null
+++ b/sqliter/sqliter.h
@@ -0,0 +1,13 @@
+#ifndef SQLITER_H
+#define SQLITER_H
+
+#include "sqliter_global.h"
+
+class SQLITERSHARED_EXPORT Sqliter
+{
+
+public:
+ Sqliter();
+};
+
+#endif // SQLITER_H
diff --git a/sqliter/sqliter.pro b/sqliter/sqliter.pro
new file mode 100644
--- /dev/null
+++ b/sqliter/sqliter.pro
@@ -0,0 +1,35 @@
+ #-------------------------------------------------
+#
+# Project created by QtCreator 2018-03-22T16:38:23
+#
+#-------------------------------------------------
+
+QT -= gui
+
+TARGET = sqliter
+TEMPLATE = lib
+
+DEFINES += SQLITER_LIBRARY
+
+# The following define makes your compiler emit warnings if you use
+# any feature of Qt which has been marked as deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if you use deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+ sqliter.cpp
+
+HEADERS += \
+ sqliter.h \
+ sqliter_global.h
+
+unix {
+ target.path = /usr/lib
+ INSTALLS += target
+}
diff --git a/sqliter/sqliter_global.h b/sqliter/sqliter_global.h
new file mode 100644
--- /dev/null
+++ b/sqliter/sqliter_global.h
@@ -0,0 +1,12 @@
+#ifndef SQLITER_GLOBAL_H
+#define SQLITER_GLOBAL_H
+
+#include <QtCore/qglobal.h>
+
+#if defined(SQLITER_LIBRARY)
+# define SQLITERSHARED_EXPORT Q_DECL_EXPORT
+#else
+# define SQLITERSHARED_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif // SQLITER_GLOBAL_H
diff --git a/tests/sqrtest.cpp b/tests/sqrtest.cpp
new file mode 100644
--- /dev/null
+++ b/tests/sqrtest.cpp
@@ -0,0 +1,100 @@
+#include <QSqlDatabase>
+#include <QSqlQuery>
+#include <QString>
+#include <QtTest>
+
+class SqliterTest : public QObject
+{
+ Q_OBJECT
+
+public:
+ SqliterTest() = default;
+
+private Q_SLOTS:
+ void initTestCase();
+ void testUpperDefault();
+ void testLowerDefault();
+ void testUpperR();
+ void testLowerR();
+};
+
+void SqliterTest::initTestCase()
+{
+ QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
+ db.setDatabaseName(":memory:");
+ QVERIFY(db.open());
+ QSqlQuery q;
+ QVERIFY(q.exec("CREATE TABLE tt1 (id INTEGER PRIMARY KEY, t TEXT)"));
+ QVERIFY(db.transaction());
+ QVERIFY(q.exec(QStringLiteral("INSERT INTO tt1 (id, t) VALUES (1, 'One')")));
+ QVERIFY(q.exec(QStringLiteral("INSERT INTO tt1 (id, t) VALUES (2, 'two')")));
+ QVERIFY(q.exec(QStringLiteral("INSERT INTO tt1 (id, t) VALUES (3, 'THREE')")));
+ QVERIFY(q.exec(QStringLiteral("INSERT INTO tt1 (id, t) VALUES (4, 'Четыре')")));
+ QVERIFY(q.exec(QStringLiteral("INSERT INTO tt1 (id, t) VALUES (5, 'пять')")));
+ QVERIFY(q.exec(QStringLiteral("INSERT INTO tt1 (id, t) VALUES (6, 'ШЕСТЬ')")));
+ QVERIFY(db.commit());
+}
+
+void SqliterTest::testUpperDefault()
+{
+ QStringList list;
+ QSqlQuery q;
+ QVERIFY(q.exec("SELECT UPPER(t) FROM tt1 ORDER BY id"));
+ while (q.next())
+ list.append(q.value(0).toString());
+ QVERIFY(list[0] == "ONE");
+ QVERIFY(list[1] == "TWO");
+ QVERIFY(list[2] == "THREE");
+ QVERIFY(list[3] == "Четыре");
+ QVERIFY(list[4] == "пять");
+ QVERIFY(list[5] == "ШЕСТЬ");
+}
+
+void SqliterTest::testLowerDefault()
+{
+ QStringList list;
+ QSqlQuery q;
+ QVERIFY(q.exec("SELECT LOWER(t) FROM tt1 ORDER BY id"));
+ while (q.next())
+ list.append(q.value(0).toString());
+ QVERIFY(list[0] == "one");
+ QVERIFY(list[1] == "two");
+ QVERIFY(list[2] == "three");
+ QVERIFY(list[3] == "Четыре");
+ QVERIFY(list[4] == "пять");
+ QVERIFY(list[5] == "ШЕСТЬ");
+}
+
+void SqliterTest::testUpperR()
+{
+ QStringList list;
+ QSqlQuery q;
+ QVERIFY(q.exec("SELECT UPPER(t) FROM tt1 ORDER BY id"));
+ while (q.next())
+ list.append(q.value(0).toString());
+ QVERIFY(list[0] == "ONE");
+ QVERIFY(list[1] == "TWO");
+ QVERIFY(list[2] == "THREE");
+ QVERIFY(list[3] == "ЧЕТЫРЕ");
+ QVERIFY(list[4] == "ПЯТЬ");
+ QVERIFY(list[5] == "ШЕСТЬ");
+}
+
+void SqliterTest::testLowerR()
+{
+ QStringList list;
+ QSqlQuery q;
+ QVERIFY(q.exec("SELECT LOWER(t) FROM tt1 ORDER BY id"));
+ while (q.next())
+ list.append(q.value(0).toString());
+ QVERIFY(list[0] == "one");
+ QVERIFY(list[1] == "two");
+ QVERIFY(list[2] == "three");
+ QVERIFY(list[3] == "четыре");
+ QVERIFY(list[4] == "пять");
+ QVERIFY(list[5] == "шесть");
+}
+
+QTEST_APPLESS_MAIN(SqliterTest)
+
+#include "sqrtest.moc"
diff --git a/tests/tests.pro b/tests/tests.pro
new file mode 100644
--- /dev/null
+++ b/tests/tests.pro
@@ -0,0 +1,32 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2018-03-22T16:40:26
+#
+#-------------------------------------------------
+
+TEMPLATE = app
+TARGET = sqrtest
+
+QT += testlib sql
+QT -= gui
+
+CONFIG += console
+CONFIG -= app_bundle
+
+
+# The following define makes your compiler emit warnings if you use
+# any feature of Qt which has been marked as deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if you use deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
+
+
+SOURCES += \
+ sqrtest.cpp
+
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, Jul 29, 5:38 AM (1 d, 15 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
139598
Attached To
rLSQLTR Библиотека sqliter
Event Timeline
Log In to Comment