aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
commit7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch)
treea35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp')
-rw-r--r--SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp73
1 files changed, 73 insertions, 0 deletions
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"