auto generate md file for supported data types [skip ci]
This commit is contained in:
parent
ec449b0c8f
commit
35eb05ab8e
|
|
@ -1 +1,3 @@
|
||||||
#QT -= gui
|
#QT -= gui
|
||||||
|
|
||||||
|
DEFINES += DOC_PATH=\\\"$$PWD/../../doc\\\"
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,5 @@ SUBDIRS += \
|
||||||
tst_quuid \
|
tst_quuid \
|
||||||
tst_generators \
|
tst_generators \
|
||||||
tst_upgrades \
|
tst_upgrades \
|
||||||
tst_json \
|
tst_json
|
||||||
tst_supported_datatypes
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,12 @@ void GeneratorsTest::cleanupTestCase()
|
||||||
.arg(i.key(), i.value().sqlite, i.value().mysql,
|
.arg(i.key(), i.value().sqlite, i.value().mysql,
|
||||||
i.value().psql, i.value().mssql));
|
i.value().psql, i.value().mssql));
|
||||||
}
|
}
|
||||||
qDebug() << p.toStdString().c_str();
|
|
||||||
|
QFile file(DOC_PATH "/datatypes.md");
|
||||||
|
if (file.open(QIODevice::WriteOnly)) {
|
||||||
|
file.write(p.toUtf8());
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QTEST_MAIN(GeneratorsTest)
|
QTEST_MAIN(GeneratorsTest)
|
||||||
|
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
||||||
#include <QtTest>
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QSqlError>
|
|
||||||
#include <QElapsedTimer>
|
|
||||||
#include <tablemodel.h>
|
|
||||||
|
|
||||||
#include "tst_supported_datatypes.h"
|
|
||||||
|
|
||||||
#include "generators/sqlitegenerator.h"
|
|
||||||
#include "generators/postgresqlgenerator.h"
|
|
||||||
#include "generators/mysqlgenerator.h"
|
|
||||||
#include "generators/sqlservergenerator.h"
|
|
||||||
|
|
||||||
SupportedDataTypesTest::SupportedDataTypesTest(QObject *parent) : QObject(parent)
|
|
||||||
{
|
|
||||||
types
|
|
||||||
<< QMetaType::Bool
|
|
||||||
<< QMetaType::QBitArray
|
|
||||||
<< QMetaType::QByteArray
|
|
||||||
<< QMetaType::QDate
|
|
||||||
<< QMetaType::QDateTime
|
|
||||||
<< QMetaType::QTime
|
|
||||||
<< QMetaType::Double
|
|
||||||
<< QMetaType::Float
|
|
||||||
|
|
||||||
<< QMetaType::SChar
|
|
||||||
<< QMetaType::Char
|
|
||||||
<< QMetaType::UChar
|
|
||||||
<< QMetaType::Short
|
|
||||||
<< QMetaType::UShort
|
|
||||||
<< QMetaType::Int
|
|
||||||
<< QMetaType::UInt
|
|
||||||
<< QMetaType::Long
|
|
||||||
<< QMetaType::ULong
|
|
||||||
<< QMetaType::LongLong
|
|
||||||
<< QMetaType::ULongLong
|
|
||||||
|
|
||||||
<< QMetaType::QChar
|
|
||||||
|
|
||||||
<< QMetaType::QUrl
|
|
||||||
<< QMetaType::QJsonArray
|
|
||||||
<< QMetaType::QJsonValue
|
|
||||||
<< QMetaType::QJsonObject
|
|
||||||
<< QMetaType::QJsonDocument
|
|
||||||
<< QMetaType::QPoint
|
|
||||||
<< QMetaType::QPointF
|
|
||||||
<< QMetaType::QSize
|
|
||||||
<< QMetaType::QSizeF
|
|
||||||
<< QMetaType::QLine
|
|
||||||
<< QMetaType::QLineF
|
|
||||||
<< QMetaType::QRect
|
|
||||||
<< QMetaType::QRectF
|
|
||||||
<< QMetaType::QPolygon
|
|
||||||
<< QMetaType::QPolygonF
|
|
||||||
<< QMetaType::QStringList
|
|
||||||
<< QMetaType::QColor
|
|
||||||
<< QMetaType::QUuid
|
|
||||||
|
|
||||||
<< QMetaType::QString;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SupportedDataTypesTest::initTestCase()
|
|
||||||
{
|
|
||||||
Nut::SqliteGenerator sqlite;
|
|
||||||
Nut::SqlServerGenerator mssql;
|
|
||||||
Nut::PostgreSqlGenerator pgsql;
|
|
||||||
Nut::MySqlGenerator mysql;
|
|
||||||
|
|
||||||
Nut::FieldModel *field = new Nut::FieldModel;
|
|
||||||
foreach (QMetaType::Type type, types) {
|
|
||||||
field->type = type;
|
|
||||||
result.append(Result(
|
|
||||||
type,
|
|
||||||
mssql.fieldType(field),
|
|
||||||
sqlite.fieldType(field),
|
|
||||||
pgsql.fieldType(field),
|
|
||||||
mysql.fieldType(field)
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SupportedDataTypesTest::cleanupTestCase()
|
|
||||||
{
|
|
||||||
qDebug() << DOC_PATH;
|
|
||||||
QString md("| Type | Sqlite | MySql | Postgresql| Ms Sql server |\n");
|
|
||||||
md.append("|--------|--------|--------|--------|--------|\n");
|
|
||||||
foreach (Result r, result)
|
|
||||||
md.append(QString("| %1 | %2 | %3 | %4 | %5 |\n")
|
|
||||||
.arg(QMetaType::typeName(r.type), r.sqlite, r.mysql, r.pgsql, r.mssql));
|
|
||||||
|
|
||||||
QFile file(DOC_PATH "/datatypes.md");
|
|
||||||
if (file.open(QIODevice::WriteOnly)) {
|
|
||||||
file.write(md.toUtf8());
|
|
||||||
file.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QTEST_MAIN(SupportedDataTypesTest)
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
#ifndef MAINTEST_H
|
|
||||||
#define MAINTEST_H
|
|
||||||
|
|
||||||
#include <QtCore/QObject>
|
|
||||||
#include <QtCore/qglobal.h>
|
|
||||||
|
|
||||||
class SupportedDataTypesTest : public QObject
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
QList<QMetaType::Type> types;
|
|
||||||
|
|
||||||
struct Result
|
|
||||||
{
|
|
||||||
QMetaType::Type type;
|
|
||||||
QString mssql;
|
|
||||||
QString sqlite;
|
|
||||||
QString pgsql;
|
|
||||||
QString mysql;
|
|
||||||
|
|
||||||
Result(QMetaType::Type type, QString mssql, QString sqlite,
|
|
||||||
QString pgsql, QString mysql)
|
|
||||||
: type(type), mssql(mssql), sqlite(sqlite), pgsql(pgsql), mysql(mysql)
|
|
||||||
{}
|
|
||||||
};
|
|
||||||
QList<Result> result;
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit SupportedDataTypesTest(QObject *parent = nullptr);
|
|
||||||
|
|
||||||
signals:
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void initTestCase();
|
|
||||||
|
|
||||||
void cleanupTestCase();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // MAINTEST_H
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
QT += testlib sql gui
|
|
||||||
|
|
||||||
TARGET = tst_datatypes
|
|
||||||
TEMPLATE = app
|
|
||||||
|
|
||||||
CONFIG += warn_on c++11
|
|
||||||
|
|
||||||
DEFINES += DOC_PATH=\\\"$$PWD/../../doc\\\"
|
|
||||||
|
|
||||||
include(../common/nut-lib.pri)
|
|
||||||
|
|
||||||
SOURCES += \
|
|
||||||
tst_supported_datatypes.cpp
|
|
||||||
|
|
||||||
HEADERS += \
|
|
||||||
tst_supported_datatypes.h
|
|
||||||
|
|
||||||
include($$PWD/../../ci-test-init.pri)
|
|
||||||
Loading…
Reference in New Issue