From 2861cfb6f851d7cee503b19f0e800a33374db66c Mon Sep 17 00:00:00 2001 From: Jonas Karlsson Date: Thu, 4 Feb 2021 15:37:53 +0100 Subject: QTextureFileData: support key value metadata Task-Id: QTBUG-76970 Pick-to: 6.1 Change-Id: I9dba1b373250cea4d0c806997290a7afcdc900d7 Reviewed-by: Eirik Aavitsland --- tests/auto/gui/util/qtexturefilereader/CMakeLists.txt | 1 + .../gui/util/qtexturefilereader/qtexturefilereader.qrc | 1 + .../texturefiles/cubemap_metadata.ktx | Bin 0 -> 4916 bytes .../util/qtexturefilereader/tst_qtexturefilereader.cpp | 17 +++++++++++++++++ 4 files changed, 19 insertions(+) create mode 100644 tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_metadata.ktx (limited to 'tests') diff --git a/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt b/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt index e1731a45d5..de809f577d 100644 --- a/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt +++ b/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt @@ -17,6 +17,7 @@ set(qtexturefilereader_resource_files "texturefiles/car.ktx" "texturefiles/car_mips.ktx" "texturefiles/cubemap_float32_rgba.ktx" + "texturefiles/cubemap_metadata.ktx" "texturefiles/newlogo.astc" "texturefiles/newlogo_srgb.astc" "texturefiles/pattern.pkm" diff --git a/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc index a014c0367a..c4cef6cc44 100644 --- a/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc +++ b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc @@ -2,6 +2,7 @@ texturefiles/car.ktx texturefiles/cubemap_float32_rgba.ktx + texturefiles/cubemap_metadata.ktx texturefiles/pattern.pkm texturefiles/car_mips.ktx texturefiles/newlogo_srgb.astc diff --git a/tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_metadata.ktx b/tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_metadata.ktx new file mode 100644 index 0000000000..a29f68a7c9 Binary files /dev/null and b/tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_metadata.ktx differ diff --git a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp index cd90914bd9..89144eb245 100644 --- a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp +++ b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp @@ -36,6 +36,7 @@ class tst_qtexturefilereader : public QObject private slots: void checkHandlers_data(); void checkHandlers(); + void checkMetadata(); }; void tst_qtexturefilereader::checkHandlers_data() @@ -148,6 +149,22 @@ void tst_qtexturefilereader::checkHandlers() } } +void tst_qtexturefilereader::checkMetadata() +{ + QFile f(":/texturefiles/cubemap_metadata.ktx"); + QVERIFY(f.open(QIODevice::ReadOnly)); + QTextureFileReader r(&f); + QTextureFileData d = r.read(); + auto kvs = d.keyValueMetadata(); + + QVERIFY(kvs.contains("test A")); + QVERIFY(kvs.contains("test B")); + QVERIFY(kvs.contains("test C")); + QCOMPARE(kvs.value("test A"), QByteArrayLiteral("1\x0000")); + QCOMPARE(kvs.value("test B"), QByteArrayLiteral("2\x0000")); + QCOMPARE(kvs.value("test C"), QByteArrayLiteral("3\x0000")); +} + QTEST_MAIN(tst_qtexturefilereader) #include "tst_qtexturefilereader.moc" -- cgit v1.2.3