From f5eafe2a713998b345027373a26ad73af9e060b5 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 18 Feb 2018 14:57:42 +0100 Subject: Cleanup: Fold add_hash() call into learnHash() function learnHash() was always called in conjunction with add_hash(). The pattern was that a local filename and a hash were connected in the hash-to-filename and the filename-to-hash maps. Then, the original picture-filename or url were registered in the filename-to-hash map. This commit changes learnHash() to take three parameters (original-filename, local-filename and hash) and do all of the above. The new code is simpler because no dummy picture struct has to be generated in DiveListView::loadImageFromURL(). The tests were extended to check for all hash<->filename associations. Signed-off-by: Berthold Stoeger --- tests/testpicture.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/testpicture.cpp b/tests/testpicture.cpp index 94b1fe0ee..752166cd4 100644 --- a/tests/testpicture.cpp +++ b/tests/testpicture.cpp @@ -12,6 +12,11 @@ void TestPicture::initTestCase() Q_INIT_RESOURCE(subsurface); } +#define PIC1_NAME "/dives/images/wreck.jpg" +#define PIC2_NAME "/dives/images/data_after_EOI.jpg" +#define PIC1_HASH "929ad9499b7ae7a9e39ef63eb6c239604ac2adfa" +#define PIC2_HASH "fa8bd48f8f24017a81e1204f52300bd98b43d4a7" + void TestPicture::addPicture() { struct dive *dive; @@ -41,10 +46,16 @@ void TestPicture::addPicture() QVERIFY(pic1->hash == NULL); QVERIFY(pic2->hash == NULL); - learnHash(pic1, hashFile(localFilePath(pic1->filename))); - learnHash(pic2, hashFile(localFilePath(pic2->filename))); - QCOMPARE(hashstring(pic1->filename), "929ad9499b7ae7a9e39ef63eb6c239604ac2adfa"); - QCOMPARE(hashstring(pic2->filename), "fa8bd48f8f24017a81e1204f52300bd98b43d4a7"); + QByteArray hash1 = hashFile(localFilePath(pic1->filename)); + QByteArray hash2 = hashFile(localFilePath(pic2->filename)); + learnHash(pic1->filename, PIC1_NAME, hash1); + learnHash(pic2->filename, PIC2_NAME, hash2); + QCOMPARE(hashstring(pic1->filename), PIC1_HASH); + QCOMPARE(hashstring(pic2->filename), PIC2_HASH); + QCOMPARE(hashstring(PIC1_NAME), PIC1_HASH); + QCOMPARE(hashstring(PIC2_NAME), PIC2_HASH); + QCOMPARE(fileFromHash(PIC1_HASH), QString(PIC1_NAME)); + QCOMPARE(fileFromHash(PIC2_HASH), QString(PIC2_NAME)); } -- cgit v1.2.3-70-g09d2