auto generate md file for supported data types [skip ci]
This commit is contained in:
parent
ec449b0c8f
commit
35eb05ab8e
|
|
@ -1 +1,3 @@
|
|||
#QT -= gui
|
||||
|
||||
DEFINES += DOC_PATH=\\\"$$PWD/../../doc\\\"
|
||||
|
|
|
|||
|
|
@ -8,6 +8,5 @@ SUBDIRS += \
|
|||
tst_quuid \
|
||||
tst_generators \
|
||||
tst_upgrades \
|
||||
tst_json \
|
||||
tst_supported_datatypes
|
||||
tst_json
|
||||
|
||||
|
|
|
|||
|
|
@ -139,7 +139,12 @@ void GeneratorsTest::cleanupTestCase()
|
|||
.arg(i.key(), i.value().sqlite, i.value().mysql,
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -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