summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/testparse.cpp22
-rw-r--r--tests/testparse.h1
-rw-r--r--tests/testpicture.cpp40
4 files changed, 45 insertions, 19 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 294f26d05..2efacd706 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -27,7 +27,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
# - test binaries dependencies (see TEST macro)
set(WINDOWS_STAGING_TESTS ${CMAKE_BINARY_DIR}/staging_tests)
install(DIRECTORY ${SUBSURFACE_SOURCE}/dives DESTINATION ${WINDOWS_STAGING_TESTS})
- install(FILES ${SUBSURFACE_SOURCE}/wreck.jpg DESTINATION ${WINDOWS_STAGING_TESTS})
# Check if we can run tests locally using wine
# Add a fake test used to ensure data is deployed to WINDOWS_STAGING_TESTS before running
diff --git a/tests/testparse.cpp b/tests/testparse.cpp
index f9947fe95..9cea8c6c8 100644
--- a/tests/testparse.cpp
+++ b/tests/testparse.cpp
@@ -52,7 +52,7 @@ int TestParse::parseCSV(int units, std::string file)
char *params[55];
int pnr = 0;
- params[pnr++] = strdup(strdup("numberField"));
+ params[pnr++] = strdup("numberField");
params[pnr++] = intdup(0);
params[pnr++] = strdup("dateField");
params[pnr++] = intdup(1);
@@ -297,7 +297,7 @@ int TestParse::parseCSVmanual(int units, std::string file)
char *params[55];
int pnr = 0;
- params[pnr++] = strdup(strdup("numberField"));
+ params[pnr++] = strdup("numberField");
params[pnr++] = intdup(0);
params[pnr++] = strdup("dateField");
params[pnr++] = intdup(1);
@@ -370,9 +370,27 @@ void TestParse::exportCSVDiveDetails()
clear_dive_file_data();
}
+void TestParse::exportUDDF()
+{
+ parse_file(SUBSURFACE_TEST_DATA "/dives/test40.xml");
+
+ export_dives_xslt("testuddfexport.uddf", 0, 1, "uddf-export.xslt");
+
+ clear_dive_file_data();
+
+ parse_file("testuddfexport.uddf");
+ export_dives_xslt("testuddfexport2.uddf", 0, 1, "uddf-export.xslt");
+
+ FILE_COMPARE("testuddfexport.uddf",
+ "testuddfexport2.uddf");
+
+ clear_dive_file_data();
+}
+
void TestParse::testExport()
{
exportCSVDiveDetails();
+ exportUDDF();
}
diff --git a/tests/testparse.h b/tests/testparse.h
index 762b922e0..80c4dacfb 100644
--- a/tests/testparse.h
+++ b/tests/testparse.h
@@ -26,6 +26,7 @@ private slots:
int parseCSVmanual(int, std::string);
void exportCSVDiveDetails();
+ void exportUDDF();
void testExport();
private:
diff --git a/tests/testpicture.cpp b/tests/testpicture.cpp
index 3021ece46..38e8e3d5b 100644
--- a/tests/testpicture.cpp
+++ b/tests/testpicture.cpp
@@ -15,28 +15,36 @@ void TestPicture::initTestCase()
void TestPicture::addPicture()
{
struct dive *dive;
- struct picture *pic;
+ struct picture *pic1, *pic2;
verbose = 1;
QCOMPARE(parse_file(SUBSURFACE_TEST_DATA "/dives/test44.xml"), 0);
dive = get_dive(0);
QVERIFY(dive != NULL);
- pic = dive->picture_list;
+ pic1 = dive->picture_list;
// So far no picture in dive
- QVERIFY(pic == NULL);
-
- dive_create_picture(dive, SUBSURFACE_TEST_DATA "/wreck.jpg", 0, false);
- pic = dive->picture_list;
- // Now there is a picture
- QVERIFY(pic != NULL);
- // Appearing at time 21:01
- QVERIFY(pic->offset.seconds == 1261);
- QVERIFY(pic->latitude.udeg == 47934500);
- QVERIFY(pic->longitude.udeg == 11334500);
-
- QVERIFY(pic->hash == NULL);
- learnHash(pic, hashFile(localFilePath(pic->filename)));
- QCOMPARE(pic->hash, "929ad9499b7ae7a9e39ef63eb6c239604ac2adfa");
+ QVERIFY(pic1 == NULL);
+
+ dive_create_picture(dive, SUBSURFACE_TEST_DATA "/dives/images/wreck.jpg", 0, false);
+ dive_create_picture(dive, SUBSURFACE_TEST_DATA "/dives/images/data_after_EOI.jpg", 0, false);
+ pic1 = dive->picture_list;
+ pic2 = pic1->next;
+ // Now there are two picture2
+ QVERIFY(pic1 != NULL);
+ QVERIFY(pic2 != NULL);
+ // 1st appearing at time 21:01
+ // 2nd appearing at time 22:01
+ QVERIFY(pic1->offset.seconds == 1261);
+ QVERIFY(pic1->latitude.udeg == 47934500);
+ QVERIFY(pic1->longitude.udeg == 11334500);
+ QVERIFY(pic2->offset.seconds == 1321);
+
+ QVERIFY(pic1->hash == NULL);
+ QVERIFY(pic2->hash == NULL);
+ learnHash(pic1, hashFile(localFilePath(pic1->filename)));
+ learnHash(pic2, hashFile(localFilePath(pic2->filename)));
+ QCOMPARE(pic1->hash, "929ad9499b7ae7a9e39ef63eb6c239604ac2adfa");
+ QCOMPARE(pic2->hash, "fa8bd48f8f24017a81e1204f52300bd98b43d4a7");
}