diff options
| author | 2014-12-06 17:33:25 -0500 | |
|---|---|---|
| committer | 2014-12-06 17:33:25 -0500 | |
| commit | 7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch) | |
| tree | a35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/Tests/DsvFormatsTest | |
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/Tests/DsvFormatsTest')
| -rw-r--r-- | SQLiteStudio3/Tests/DsvFormatsTest/DsvFormatsTest.pro | 20 | ||||
| -rw-r--r-- | SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp | 73 |
2 files changed, 93 insertions, 0 deletions
diff --git a/SQLiteStudio3/Tests/DsvFormatsTest/DsvFormatsTest.pro b/SQLiteStudio3/Tests/DsvFormatsTest/DsvFormatsTest.pro new file mode 100644 index 0000000..42a08d3 --- /dev/null +++ b/SQLiteStudio3/Tests/DsvFormatsTest/DsvFormatsTest.pro @@ -0,0 +1,20 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2014-11-21T20:58:39 +# +#------------------------------------------------- + +include($$PWD/../TestUtils/test_common.pri) + +QT += testlib + +QT -= gui + +TARGET = tst_dsvformatstesttest +CONFIG += console +CONFIG -= app_bundle + +TEMPLATE = app + +SOURCES += tst_dsvformatstesttest.cpp +DEFINES += SRCDIR=\\\"$$PWD/\\\" diff --git a/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp b/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp new file mode 100644 index 0000000..48e7280 --- /dev/null +++ b/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp @@ -0,0 +1,73 @@ +#include <QString> +#include <QList> +#include <QStringList> +#include <QtTest> +#include "tsvserializer.h" +#include "csvserializer.h" + +// TODO Add tests for CsvSerializer + +class DsvFormatsTestTest : public QObject +{ + Q_OBJECT + + public: + DsvFormatsTestTest(); + + private: + QList<QStringList> sampleData; + QString sampleTsv; + + private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void testTsv1(); +}; + +DsvFormatsTestTest::DsvFormatsTestTest() +{ +} + +void DsvFormatsTestTest::initTestCase() +{ + sampleData << QStringList{"a", "b c", "\"d\""}; + sampleData << QStringList{"a\"a\"", "\"b\"c\"", "d\"\"e"}; + sampleData << QStringList{"a\na", "b\tc", "d\t\"e"}; + +#ifdef Q_OS_MACX + QString lineSep = "\r"; +#else + QString lineSep = "\n"; +#endif + + sampleTsv = ""; + sampleTsv += "a\tb c\t\"d\""; + sampleTsv += lineSep; + sampleTsv += "a\"a\"\t\"b\"c\"\td\"\"e"; + sampleTsv += lineSep; + sampleTsv += "\"a\na\"\t\"b\tc\"\t\"d\t\"\"e\""; +} + +void DsvFormatsTestTest::cleanupTestCase() +{ +} + +void DsvFormatsTestTest::testTsv1() +{ + QString result = TsvSerializer::serialize(sampleData); + + QString common = ""; + int i; + if (result != sampleTsv) + { + int lgt = qMax(result.length(), sampleTsv.length()); + for (i = 0; i < lgt && result[i] == sampleTsv[i]; i++) + common.append(result[i]); + } + + QVERIFY2(result == sampleTsv, QString("Mismatch after %1: %2\nSample: %3\nGot : %4").arg(i).arg(common, sampleTsv, result).toLocal8Bit().data()); +} + +QTEST_APPLESS_MAIN(DsvFormatsTestTest) + +#include "tst_dsvformatstesttest.moc" |
