Test for adding a picture with data after JFIF EOI to a dive

Add one more picture to the already existing test.
This new picture is a JPEG and has data after JFIF EOI tag.

Suggested-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
Stefan Fuchs 2017-05-06 15:36:29 +02:00 committed by Dirk Hohndel
parent 462797396b
commit 67fbf6009a
4 changed files with 22 additions and 15 deletions

BIN
dives/images/data_after_EOI.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

View file

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View file

@ -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

View file

@ -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);
QVERIFY(pic1 == 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);
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(pic->hash == NULL);
learnHash(pic, hashFile(localFilePath(pic->filename)));
QCOMPARE(pic->hash, "929ad9499b7ae7a9e39ef63eb6c239604ac2adfa");
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");
}