diff options
Diffstat (limited to 'SQLiteStudio3/Tests/DsvFormatsTest')
| -rw-r--r-- | SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp b/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp index bd55d53..903e6f6 100644 --- a/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp +++ b/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp @@ -14,7 +14,7 @@ class DsvFormatsTestTest : public QObject public: DsvFormatsTestTest(); - private: +private: QString toString(const QList<QStringList>& input); QList<QStringList> sampleData; @@ -27,6 +27,7 @@ class DsvFormatsTestTest : public QObject void testTsv1(); void testTsv2(); void testCsv1(); + void testCsvPerformance(); }; DsvFormatsTestTest::DsvFormatsTestTest() @@ -79,7 +80,7 @@ void DsvFormatsTestTest::testTsv1() QString result = TsvSerializer::serialize(sampleData); QString common = ""; - int i; + int i = 0; if (result != sampleTsv) { int lgt = qMax(result.length(), sampleTsv.length()); @@ -105,6 +106,30 @@ void DsvFormatsTestTest::testCsv1() QVERIFY(result.first().size() == 2); } +void DsvFormatsTestTest::testCsvPerformance() +{ + QString input; + for (int i = 0; i < 10000; i++) + input += "abc,d,g,\"jkl\nh\",mno\r\n"; + + QTemporaryFile theFile; + theFile.open(); + theFile.write(input.toLatin1()); + theFile.seek(0); + QTextStream stream(&theFile); + + QTime timer; + timer.start(); + QList<QStringList> result = CsvSerializer::deserialize(stream, CsvFormat::DEFAULT); + int time = timer.elapsed(); + + QVERIFY(result.size() == 10000); + QVERIFY(result.first().size() == 5); + QVERIFY(result.last().size() == 5); + + qDebug() << "Deserialization time:" << time; +} + QTEST_APPLESS_MAIN(DsvFormatsTestTest) #include "tst_dsvformatstesttest.moc" |
