diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/testparse.cpp | 27 | ||||
-rw-r--r-- | tests/testparse.h | 2 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/testparse.cpp b/tests/testparse.cpp index 2bedc88bd..81e1ba575 100644 --- a/tests/testparse.cpp +++ b/tests/testparse.cpp @@ -1,6 +1,7 @@ #include "testparse.h" #include "dive.h" #include "file.h" +#include "divelist.h" #include <QTextStream> void TestParse::testParseCSV() @@ -57,6 +58,32 @@ void TestParse::testParseCompareOutput() QString readin = orgS.readAll(); QString written = outS.readAll(); QCOMPARE(readin, written); + clear_dive_file_data(); +} + +void TestParse::testParseDM4() +{ + sqlite3 *handle; + + QCOMPARE(sqlite3_open(SUBSURFACE_SOURCE "/dives/TestDiveDM4.db", &handle), 0); + QCOMPARE(parse_dm4_buffer(handle, 0, 0, 0, &dive_table), 0); + + sqlite3_close(handle); +} + +void TestParse::testParseCompareDM4Output() +{ + QCOMPARE(save_dives("./testdm4out.ssrf"), 0); + QFile org(SUBSURFACE_SOURCE "/dives/TestDiveDM4.xml"); + org.open(QFile::ReadOnly); + QFile out("./testdm4out.ssrf"); + out.open(QFile::ReadOnly); + QTextStream orgS(&org); + QTextStream outS(&out); + QString readin = orgS.readAll(); + QString written = outS.readAll(); + QCOMPARE(readin, written); + clear_dive_file_data(); } QTEST_MAIN(TestParse) diff --git a/tests/testparse.h b/tests/testparse.h index 5e1dc03d2..23a7c4901 100644 --- a/tests/testparse.h +++ b/tests/testparse.h @@ -11,6 +11,8 @@ private slots: void testParseV2NoQuestion(); void testParseV3(); void testParseCompareOutput(); + void testParseDM4(); + void testParseCompareDM4Output(); }; #endif |