aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp')
-rw-r--r--SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp29
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"