summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Update the public suffix listHEADdevMårten Nordheim97 min.1-0/+0
| | | | | | | | Pick-to: 6.5 Task-number: QTBUG-110333 Change-Id: I741feee3a19d0a104496f543d35a1f311a7228d6 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QMimeDatabase: add a test to ensure we can detect Unix specialsThiago Macieira17 hours2-0/+82
| | | | | | Pick-to: 6.4 6.5 Change-Id: I570832c9ac8b4e03bde8fffd173f7e743f42f22b Reviewed-by: David Faure <david.faure@kdab.com>
* QMimeDatabase: don't stat() something that isn't a local fileThiago Macieira17 hours4-0/+61
| | | | | | | | | | | | | | | | We must check that the path is an actual file on the filesystem before using native APIs. This regression was introduced by commit 047d8f36de45ebb318726167f941b0dbc64754ba. [ChangeLog][QtCore][QMimeDatabase] Fixed a regression from 6.4.0 that made certain QMimeDatabase functions that inspected file contents to fail on Unix systems, if the file was not a native file (e.g., a Qt resource). Fixes: QTBUG-110707 Pick-to: 6.4 6.5 Change-Id: I570832c9ac8b4e03bde8fffd173f7b4c6b164192 Reviewed-by: Igor Kushnir <igorkuo@gmail.com> Reviewed-by: David Faure <david.faure@kdab.com>
* tst_QMimeDatabase: rename test to indicate what it really isThiago Macieira17 hours2-4/+5
| | | | | | | | | This test is calling mimeTypeForFileNameAndData(), so it doesn't actually use the files. Change-Id: I570832c9ac8b4e03bde8fffd173f77f138ef3434 Reviewed-by: Igor Kushnir <igorkuo@gmail.com> Reviewed-by: David Faure <david.faure@kdab.com>
* QSortFilterProxyModel: port to PMF connects for performance reasonsDavid Faure18 hours1-0/+14
| | | | | | | | | | | | | BEFORE: 0.21 msecs per iteration (total: 56, iterations: 256) 801,946 CPU cycles per iteration (total: 801,946, iterations: 1) AFTER: 0.084 msecs per iteration (total: 87, iterations: 1024) 300,259 CPU cycles per iteration (total: 300,259, iterations: 1) Change-Id: I5b2703c217bb25e18f1d9f6a1eda19c60e1edcb0 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* moc: Allow calling ctors on pre-allocated dataUlf Hermann23 hours1-0/+37
| | | | | | | | | | | | When calling a ctor this way, an object is created in the memory pointed to by _a[0] using the other arguments for the ctor. This allows separate allocation and initialization of an object through the metaobject system. Fixes: QTBUG-108879 Change-Id: Ifb154373ee42faab281cfb62aa14334980ec6b7d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QString: remove some redundant unittestsAhmad Samir24 hours1-12/+0
| | | | | | | | | | | | | The QChar::toLatin1() args in: str.replace(index, len, QChar(after[0]).toLatin1()) s2.replace(ch.toLatin1(), after, cs) will be converted to QChar, so it's always calling the same QString overload, I argue that we're not testing QChar implicit conversions here. Change-Id: I3962cab2b34684f970638575e6bd15dd1067a8c6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Q{Contacts,Calendar}Permission: bool readWrite → enum AccessModeMarc Mutz24 hours1-8/+8
| | | | | | | | | | | | | | The fact that read-access is always included makes a bool readWrite property a little awkward to document and explain. An AccessMode enum with values ReadOnly and ReadWrite is much easier, and will also lend itself more easily as a constructor argument than a boolean. Found in API review. Pick-to: 6.5 Change-Id: I4f20dbe9f19c7bdb52248a6e544e36d731d5a2ee Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QtNetwork: Split out QNativeSocketEnginePrivateFriedemann Kleint25 hours1-1/+1
| | | | | | | | | | | The aim is to have fewer files including <windows.h>. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: Id9cc08f54b5daf6d7e317fad27036dc2efaacbb8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QStandardPaths/unix: ignore relative paths in all $XDG_* env varsAhmad Samir42 hours1-0/+27
| | | | | | | | | | | | | This is a continuation of commit 5c9d671bfb5b511106. [ChangeLog][QtCore][QStandardPaths] Improved conformance to the Freedesktop basedir spec by ignoring any relative paths in XDG_* environment variables. Fixes: QTBUG-58043 Change-Id: I7c34143ced97d6d3de6ecbf13bccf9e935462d1e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add right and middle mouse button to tst_QLabel::mouseEventPropagationAxel Spoerl44 hours1-2/+11
| | | | | | | | | | | | The test function used only the left button to test mouse event propagation. This patch adds the right and middle buttons to the test data. Task-number: QTBUG-110055 Pick-to: 6.5 6.4 Change-Id: I02683168216843919e889987a8b0e8a0f1592d3a Reviewed-by: Doris Verria <doris.verria@qt.io>
* QtGui: Remove define Q_TEST_QPIXMAPCACHEFriedemann Kleint44 hours1-8/+8
| | | | | | | | | | | It causes clashes in CMake Unity (Jumbo) builds. Change the function to be Q_AUTOTEST_EXPORT'ed helpers. Pick-to: 6.5 Task-number: QTBUG-109394 Initial-patch-by: Amir Masoud Abdol <amir.abdol@qt.io> Change-Id: I2e4032e07e1c39432cae1eb2dfff94be33846c09 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QMimeDatabase: use unique QTest data tag namesAhmad Samir45 hours1-4/+4
| | | | | Change-Id: I5f0b270df344b0a8511d48f3cde34643f3115445 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QRegularExpression: fix count() when the RE matches a surrogateThiago Macieira2 days1-0/+15
| | | | | | | | | | | | | | | | When the match finds a surrogate pair as the first true Unicode character, then we need to skip both code units of the pair in order to restart the search. PCRE2 does not allow us to search for individual UTF-16 code units. That actually means that counting "." gives us the count of Unicode characters. Fixes: QTBUG-110586 Pick-to: 5.15 6.2 6.4 6.5 Change-Id: I194d0a32c94148f398e6fffd173d5b5be8137e19 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Update Harfbuzz to version 6.0.0Eskil Abrahamsen Blomfeldt3 days1-13/+31
| | | | | | | | | | | | | | | | Note: This requires an update to the tst_qtextlayout test, because the test assumed that the Arabic string would always yield a run of two glyphs. This was a side effect of how Harfbuzz handled Qt's test font, which has zero font tables and cannot be used for shaping. With the Harfbuzz update, the Arabic text here yields a single cluster instead, which actually makes more sense, so the test has been made a bit more robust to support both cases. Pick-to: 6.2 6.5 Task-number: QTBUG-110338 Change-Id: I93d4cf8e3046dc93224e144d4c81d86bef4918d1 Reviewed-by: Lars Knoll <lars@knoll.priv.no> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QString: don't detach in replace(QChar, QChar, case)Ahmad Samir4 days1-1/+8
| | | | | | | | | If the string is shared, instead of detaching, create a new string and copy the characters from this string, replacing the ones matching "before" with "after", to the new string. Change-Id: I2c33690230d40f3121e60e242666460559258b7b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Pass short time format to GetTimeFormat from GetLocaleInfoIlya Fedin4 days1-1/+1
| | | | | | | | | | TIME_NOSECONDS doesn't really switches to short time format, just removes the seconds from long time format Fixes: QTBUG-110627 Pick-to: 6.5 6.4 6.2 5.15 Change-Id: Ie799958f3942c657f00bc8196588258661ddc1d9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make tst_QFocusEvent::checkReason_ActiveWindow pass on macOSShawn Rutledge4 days1-2/+3
| | | | | | | | | | It seems that on macOS 13.2 and newer, it requires explicit activation, just as on the offscreen and minimal platforms. Pick-to: 6.5 6.4 6.2 Task-number: QTBUG-110703 Change-Id: I519eec872505ea3673111ae300c2494113f85c36 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Revert "Revert "Add binary compatibility file generated against 6.4.0""Jani Heikkinen11 days1-0/+27176
| | | | | | | | | | This reverts commit cebcb7991a26fdb583d216b9c18b8b51d1cabf5f. Reason for revert: We need to enable BIC tests again Pick-to: 6.5 Change-Id: Ibabe2c50547972d040d933a1027833426b018e81 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* tst_QUrlQuery: fix Clang 15 -Wself-moveMarc Mutz11 days1-2/+8
| | | | | | | | | | | | | | | | | | | | Says Clang 15: tst_qurlquery.cpp:193:11: warning: explicitly moving variable of type 'QUrlQuery' to itself [-Wself-move] moved = std::move(moved); ~~~~~ ^ ~~~~~ It's amazing how little it takes to throw this warning off guards: just use an alising reference instead of the same variable. Makes you wonder whether the time spent on detecting such trivialities in the compiler is really well spent. Amends fc8dad2f10e7976cfa778ca7d75e651012629b21. Pick-to: 6.5 Task-number: QTBUG-109842 Change-Id: I165af2a786aa0ba28b8dcd039a500f3494bc29a9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix two variables' "may be used uninitialized" compiler warningsAhmad Samir12 days2-2/+2
| | | | | Change-Id: Ie6063d7124b16681b3e39d465da21dd67206ebc3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* IPC: switch the default key type on Unix to POSIX realtimeThiago Macieira12 days1-2/+0
| | | | | | | | | | | | | Instead of the System V one. An important difference is that QSharedMemory does not clean after itself. Updated the configure summary output to include this information. Drive-by update to sorting order and I removed cpp-winrt from the listing because there's a warning at the end if it is not set. Change-Id: I12a088d1ae424825abd3fffd171e0eadcfd33426 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* IPC: add support for multiple backends to QSharedMemoryThiago Macieira12 days1-15/+56
| | | | | | | | Simultaneously. Change-Id: If4c23ea3719947d790d4fffd17152760989b9bc6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* IPC: add support for multiple backends to QSystemSemaphoreThiago Macieira12 days3-32/+130
| | | | | | | | Simultaneously. Change-Id: If4c23ea3719947d790d4fffd17152a29e6c217d3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* IPC: fix cleaning up after tst_QSharedMemory testsThiago Macieira12 days2-12/+34
| | | | | | | | | | | | | If a previous test in the same process or previously leaked a shared memory or semaphore handle, tests could fail and cascade down. They could also interfere with one another. So prevent this issue by assigning a monotonically-increasing identifier per test function or row tested and improving how we clean up those we did create. This shows we need the API to explicitly clean up. Change-Id: I12a088d1ae424825abd3fffd171db61d6b68a411 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* IPC: clean up #ifdef in tst_qsharedmemory.cppThiago Macieira12 days1-22/+2
| | | | | Change-Id: I12a088d1ae424825abd3fffd171db0debf823a12 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* IPC: add native key support to QSharedMemoryThiago Macieira12 days3-111/+177
| | | | | | | | | | | | | And deprecate the non-native key support API. Qt 7 may not even store the old, non-native key. Documentation in a new commit, when the dust settles. Drive-by updates to the tst_QSharedMemory::attach row names, to fix grammar and remove spaces and apostrophe. Change-Id: I12a088d1ae424825abd3fffd171d3025c77f94d2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* IPC: add native key support to QSystemSemaphoreThiago Macieira12 days2-34/+80
| | | | | | | | | | | And deprecate the non-native key support API. Qt 7 may not even store the old, non-native Qt. Documentation in a new commit, when the dust settles. Change-Id: I12a088d1ae424825abd3fffd171d2b549eeed040 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* IPC: Long live QNativeIpcKey keyThiago Macieira12 days3-0/+357
| | | | | | | | | Common to both QSharedMemory and QSystemSemaphore, this will hold the native key and will replace the concept of non-native key in those classes. Change-Id: Id8d5e3999fe94b03acc1fffd171c03197aea6016 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
* IPC: move makePlatformSafeKey to qtipccommon.cppThiago Macieira12 days1-2/+2
| | | | | | | | This removes the second portion of the #if mess of shared code between QSharedMemory and QSystemSemaphore for SystemV. Change-Id: Id8d5e3999fe94b03acc1fffd171c073c2873206e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* IPC: move the feature check to the ipc/ dir for tst_qsharedmemoryThiago Macieira12 days2-22/+16
| | | | | | Change-Id: Id8d5e3999fe94b03acc1fffd171c22d2e8752ffb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* IPC: Move QSharedMemory and QSystemSemaphore from kernel/ to ipc/Thiago Macieira12 days11-6/+12
| | | | | | | | | It's not a lot of files, but it's actually more in the same dir than mime/ does right now. I'm about to add two more files, though I'll also merge a few more later. Change-Id: Id8d5e3999fe94b03acc1fffd171bfe2ea36a35a7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QWidgetTextControl: Ignore unconsumed mouse release eventsAxel Spoerl13 days1-0/+82
| | | | | | | | | | | | | | | | | | | | | | QWidgetTextControlPrivate::mouseReleaseEvent() has early returns implemented, e.g. when link has been right clicked or no selection anchor has been found. These early returns, however, still consume the event. This leads to events getting lost instead of getting propagated: As an example, a QLabel with rich text uses QWidgetTextControl. While it propagates mouse press events back to its parent, mouse release events get lost. A QLabel with plain text propagates both events back correctly. This patch adds QEvent::ignore() to the early return. Since no test class exists for QWidgetTextControl, it adds a test in tst_QLabel. Fixes: QTBUG-110055 Pick-to: 6.5 6.4 Change-Id: I950f8c3f135793b01c59832835bb429db2282169 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix the broken test after the retirement of qt_parse_all_argumentsAmir Masoud Abdol14 days1-1/+1
| | | | | | | | | | As we are now processing the arguments with cmake_parse_arguments(PARSE_ARGV, we don't need to pass the escape characters anymore. Task-number: QTBUG-99238 Change-Id: Iea9cda4fe0ae56043cc4d7db29ce53d9d737d645 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* SQL tests: Fix for PostgreSQL 12 and aboveChristian Ehrlicher14 days1-1/+1
| | | | | | | | | | | The 'WITH OIDS' was deprecated some time ago and removed with PostgreSQL 12 so we have to adjust our test table creations. Don't know why it was used in the first place at all. Pick-to: 6.2 6.4 6.5 Change-Id: I6e18ac01e64368b1dd64e02bcb75fa70e05467a3 Reviewed-by: Dimitrios Apostolou <jimis@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QVarLengthArray: fix off-by-size() bug in growBy()Marc Mutz14 days1-0/+13
| | | | | | | | | | | | | | | | | The growBy() function takes the _increment_ of the size(), so needs to add size() to increment for the call to realloc(). Add a test which hangs (vanilla build) or explodes (valgrind build) without the fix. Amends 26b227e128475da3f88a6b34921a08994bf71cf4. Done-with: Eirik Aavitsland <eirik.aavitsland@qt.io> Pick-to: 6.5 6.4 Fixes: QTBUG-110412 Change-Id: I7ea91342fdcb779825c88013a3f86ba6d90ef530 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix build errors in manual testsAssam Boudjelthia14 days11-5/+13
| | | | | | | | various fixes like missing includes, linking, obsolete API usage, etc. Pick-to: 6.5 Change-Id: I786bff396933b87cd39559ac8964d386ef368df1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* tst_QUrlQuery: replace a few QVERIFY(~~ != ~~) with QCOMPARE_NEThiago Macieira2023-01-201-4/+4
| | | | | | | Pick-to: 6.5 Change-Id: I69ecc04064514f939896fffd17376aae3b8072b5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QUrlQuery: add missing move constructorThiago Macieira2023-01-201-0/+24
| | | | | | | | | | | It wasn't added when this class was created in 5.0 because we couldn't add move constructors and still keep the ability to compile Qt with C++98 compilers. We've forgot to correct this shortcoming since 5.6. Fixes: QTBUG-109842 Pick-to: 6.5 Change-Id: I69ecc04064514f939896fffd17376b8243b73c52 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QUrlQuery: fix operator== for emptied object caseThiago Macieira2023-01-201-0/+6
| | | | | | | | | | If an object had elements and then was emptied, it will have a non-null d pointer, which wasn't taken into account in the comparison. Fixes: QTBUG-109840 Pick-to: 6.5 6.4 6.2 Change-Id: I69ecc04064514f939896fffd17376aa18184653c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* tests: remove PlatformInputContext::filterEvent()Peter Varga2023-01-181-6/+0
| | | | | | | | This overridden function is not used and also can't be triggered by a synthetic input event in an auto test. Change-Id: Id8b69b440a90c18cf5870e34804fae3e6607e49f Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Merge integration refs/builds/qtci/dev/1673982362Qt CI Bot2023-01-182-1/+5
|\
| * tst_QHostInfo: use python3Thiago Macieira2023-01-171-1/+1
| | | | | | | | | | | | | | | | | | Because Python 2 reached end of life. I wonder how this even works on macOS, as my Monterey doesn't even have "python" any more. Pick-to: 6.2 6.4 6.5 Change-Id: Ibddb9b0ada5a4bbaa64bfffd173b239c6c4b66f3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * QLocale: add unittests for qstrtod of "NaN" and "nan"Ahmad Samir2023-01-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | The tests pass. Drive-by change: Amend qstrntod API docs, the addition is heavily inspired by cppreference's strtod docs. Change-Id: Ic8e138e117a3249c752ae5ef2a8a21feb010befa Task-number: QTBUG-74325 Pick-to: 6.5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QUrl: restore empty-but-not-null for components that are presentThiago Macieira2023-01-171-39/+43
|/ | | | | | | | | | | | | This got lost during the QStringView port that happend in Qt 6.0 (commit 548dcef08976649c820054f3db1ad108c72439cd) because QString::operator+=(QStringView) does not copy the nullness of the right side, whereas QString::operator+=(const QString &) does. Pick-to: 6.2 6.4 6.5 Fixes: QTBUG-84315 Change-Id: Ide4dbd0777a44ed0870efffd17399b772d34fd55 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Restrict the minimum supported ICU version to 50.1Alexey Edelev2023-01-171-1/+1
| | | | | | | | | | | | | ICU 50.1 was released May 11th, 2012. Despite of the restriction, all currently supported operating systems will continue to be supported. All mismatches described in QTBUG-99715 are fixed in this version. Restricting to 72.1 (latest version as per January 2023) or 63.1 (2018) would still exclude e.g. RHEL 9.0, which ships version 56.1. Task-number: QTBUG-109505 Pick-to: 6.5 Change-Id: Ic5cd7927d6f5fb60a89423c305796a9ed311bfa2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QVarLengthArray: cope with vector<unique_ptr>'s copyabilityMarc Mutz2023-01-161-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Despite being move-only, std::vector<unique_ptr> advertizes is_copyable: https://quuxplusone.github.io/blog/2020/02/05/vector-is-copyable-except-when-its-not/ Our combined reallocation and resizing function, reallocate_impl(), runs afoul of this when it uses std::is_copyable in a constexpr-if to implement resize(n, v) without running into problems with move-only types: the trait is true, but actual instantation runs into a static_assert in the STL implementation. To fix, move the problematic resize functionality out of reallocate_impl() and into the resp. resize_impl overloads. The shrink functionality remains in reallocate_impl(), because there are many more users, and it only requires destructible<T>, which isn't constraining at all. Amends a00a1d8806cfbf17e04b88d1b4ff4a9cf5b6294a. Fixes: QTBUG-109745 Pick-to: 6.5 6.4 Change-Id: Ibc5b9cf5375108eb3d8f6c8a16d4fd02dadd73b1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QPermission: replace T data<T>() with std::optional<T> value<T>()Marc Mutz2023-01-131-15/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in API review, the default-constructed T() returned from a mismatched data<T>() call is indistinguishable from a real T with default state. To make them distinguishable, return optional<T>. Call the new function value<T>(), mimicking QVariant::value<T>(), and suggested in API review, because data() is usually used to return raw pointers, not values. Remove the qWarning() on requestedType and actualType mismatch, as the new function can be used in std::get_if/dynamic_cast-like if-then-else chains, in which failure is part of the normal operation, and a warning message misplaced: if (auto loc = perm.value<QLocationPermission>()) ~~~ use *loc ~~~ else if (auto con = perm.value<QContactsPermission>()) ~~~ use *con ~~~ ~~~ etc ~~~ Pick-to: 6.5 Change-Id: I799a58e930307323ebce8f9ac50a42455e9c017f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add QString<->emscripten::val conversion functionsMikolaj Boc2023-01-133-0/+42
| | | | | | | | Following the QRect, add functions converting the QString to native emscripten::val and back: fromJsString, toJsString Change-Id: I2d0625ede3bbf7249e2e91b8de298b5b91df8ba2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* tst_QPermission: add more testsMarc Mutz2023-01-131-0/+71
| | | | | | | | | | | | | | | | The new test: - checks the properties of stateful Q<Typed>Permissions work - ensures that piping a Q<Typed>Permission through QPermission maintains state - also ensures that assignment of a Q<Typed>Permission to a QPermission works (via QPermission(Type) + move ctor) Pick-to: 6.5 Change-Id: I340e49b1ecc665702ccab26d9050ca158b0e7885 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>