aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2015-04-04 14:41:04 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2015-04-04 14:41:04 -0400
commita5b034d4a9c44f9bc1e83b01de82530f8fc63013 (patch)
tree7a358206c4aff9c33df1752c92eafec97cee2244 /SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
parent306d6d3ca9c9ad774d19135681a7f9805f77035f (diff)
Imported Upstream version 3.0.4upstream/3.0.4
Diffstat (limited to 'SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp')
-rw-r--r--SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp b/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
index 48e7280..be0204c 100644
--- a/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
+++ b/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
@@ -15,24 +15,38 @@ class DsvFormatsTestTest : public QObject
DsvFormatsTestTest();
private:
+ QString toString(const QList<QStringList>& input);
+
QList<QStringList> sampleData;
+ QList<QStringList> sampleDeserializedData;
QString sampleTsv;
private Q_SLOTS:
void initTestCase();
void cleanupTestCase();
void testTsv1();
+ void testTsv2();
};
DsvFormatsTestTest::DsvFormatsTestTest()
{
}
+QString DsvFormatsTestTest::toString(const QList<QStringList>& input)
+{
+ QStringList outputLines;
+ for (const QStringList& list : input)
+ outputLines << "QStringList("+list.join(", ")+")";
+
+ return "QList(\n "+outputLines.join(",\n ")+"\n)";
+}
+
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"};
+ sampleData << QStringList{"a", "", "b", ""};
#ifdef Q_OS_MACX
QString lineSep = "\r";
@@ -46,6 +60,13 @@ void DsvFormatsTestTest::initTestCase()
sampleTsv += "a\"a\"\t\"b\"c\"\td\"\"e";
sampleTsv += lineSep;
sampleTsv += "\"a\na\"\t\"b\tc\"\t\"d\t\"\"e\"";
+ sampleTsv += lineSep;
+ sampleTsv += "a\t\tb\t";
+
+ sampleDeserializedData << QStringList{"a", "b c", "\"d\""};
+ sampleDeserializedData << QStringList{"a\"a\"", "\"b\"c\"", "d\"\"e"};
+ sampleDeserializedData << QStringList{"a\na", "\"b", "c\"", "\"d", "\"\"e\""};
+ sampleDeserializedData << QStringList{"a", "", "b", ""};
}
void DsvFormatsTestTest::cleanupTestCase()
@@ -68,6 +89,13 @@ void DsvFormatsTestTest::testTsv1()
QVERIFY2(result == sampleTsv, QString("Mismatch after %1: %2\nSample: %3\nGot : %4").arg(i).arg(common, sampleTsv, result).toLocal8Bit().data());
}
+void DsvFormatsTestTest::testTsv2()
+{
+ QList<QStringList> result = TsvSerializer::deserialize(sampleTsv);
+
+ QVERIFY2(result == sampleDeserializedData, QString("Sample: %1\nGot: %2").arg(toString(sampleDeserializedData), toString(result)).toLocal8Bit().data());
+}
+
QTEST_APPLESS_MAIN(DsvFormatsTestTest)
#include "tst_dsvformatstesttest.moc"