summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* QObject: treat T* -> bool conversions as narrowingMarc Mutz2020-02-261-0/+6
| | | | | | | | | | | | | | | | | | | | Following wg21.link/LWG3228, it was found that a proper variant fix requires that T* -> bool conversions be treated as narrowing conversions in subclause wg21.link/dcl.init.lst. wg21.link/P1957R2 was accepted in Prague 2020 as a DR and retroactively applies to older C++ standards. Since we hard-code the algorithm of [dcl.init.lst], we can and must add this manually. [ChangeLog][QtCore][QObject] For the purposes of QT_NO_NARROWING_CONVERSIONS_IN_CONNECT, pointer (incl. pointer-to-member) to bool conversions are now considered narrowing. This matches the resolution of a defect report in C++ itself. Change-Id: Ifa9a3724c9c8ccd3dd6614928dbbe37477591dc1 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* tst_QSettings: Fix leaking registry keyFriedemann Kleint2020-02-251-2/+3
| | | | | | | | | | | | On Windows, the test was leaking a registry key HKEY_CURRENT_USER\Software\tst_QSettings_trailingWhitespace Fix by using .ini-Format in the temporary directory created by the test. Amends e66a878838f17a0626b0b10b340b1ca4dba56cc1. Task-number: QTBUG-22461 Change-Id: If141a9e72e8faebc3fc46b94dab7b4b728a75292 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tests/xcb: fix tst_QWidget::updateWhileMinimized() on mutter/GNOME ShellLiang Qi2020-02-252-6/+11
| | | | | | Task-number: QTBUG-68862 Change-Id: I6247867ae4ec126ab0549741f2d2d491a7f2e8a0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QAbstractItemView: Make sure to update the editor geometriesChristian Ehrlicher2020-02-231-0/+2
| | | | | | | | | | QAbstractItemView::setIndexWidget() does not trigger a relayouting when a new widget is set. This results in a wrong editor geometry under some circumstances. Fix it by triggering a delayed relayout. Fixes: QTBUG-81763 Change-Id: I75d0e19bd5e56d63effe4990d782d202fb39e3e6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* tst_qtcpsocket::bind - amend the recent fixTimur Pocheptsov2020-02-221-3/+24
| | | | | | | | | | | | | | | | | | 0. The recent patch fixed the case when we can suddenly (meaning from a particular version of Darwin) bind on a port number 1. Unfortunately, it's not the case for IPv4 and while fixing one test case, the patch broke another - so this patch addresses this. 1. Unfortunately, binding on a fixed port 1 on macOS made the test flaky - we run this 'bind' several times and sometimes OS thinks port is already bound (because of the previous test case) - closing the connection seems to fix this problem (thus this patch do this also). 2. As a bonus a proper resource management added (aka RAII) where we would previously leak a socket in case some QCOMPARE failed. Fixes: QTBUG-81905 Change-Id: I90c128a332903bb44ab37de4775ca00d390dc162 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Stabilize QFileSystemModel::dirsBeforeFiles testVolker Hilsheimer2020-02-221-10/+18
| | | | | | | | | | | | | | | | | | | | Make the test operate in its own temporary directory, so that entries left behind by other test functions don't impact this test. Also, call QFileSystemModel::sort explicitly; it would otherwise only be done once through a single-shot timer, and the test processes events until the model is populated, which might not process that delayed sorting. Since dirsBeforeFiles tests the sorting algorithm and not the sorting logic, best to do this explicitly. In case of sort failure, print diagnostics. Done-with: Friedemann Kleint <Friedemann.Kleint@qt.io> Fixes: QTBUG-75452 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 4e796e0b0dcf4c0848044471021db3afce16ee5d) Change-Id: I144b68a17280a38cc7d6daf7ec343eea4453623d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Detect double timer during single timeout in registerTimer test, and skipVolker Hilsheimer2020-02-221-5/+17
| | | | | | | | | | | | | | | | | We observe this happening on macOS in the CI system, and it might happen if a VM doesn't get CPU cycles for long enough time so that two timers time out. Then event processing will process two timer events, and we overwrite the timerIdFromEvent with the second event. Instead, skip the test when this happens. This is an ammendment to 5c520f4b0ad4b539dc0184c764ca9f12c98730d9 Fixes: QTBUG-71751 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 67491e2df5357706dbf88ddaf1f030ff095b4528) Change-Id: I30eef8cfc94988e6cad500dd5e6722488c2985be
* Discover the conditions under which registerTimer is flaky, and skipVolker Hilsheimer2020-02-221-0/+22
| | | | | | | | | | | On macOS, the registerTimer test case fails frequently, and blocks valid integrations. With this change we try to detect the condition and skip the test. Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 5c520f4b0ad4b539dc0184c764ca9f12c98730d9) Change-Id: I97644b5b4654b4c96fbc99858bbf191e6edb5977 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QShaderGenerator: Allow more expressions in input nodesNicolas Guichard2020-02-201-0/+50
| | | | | | | | | | | | | | | | | | Currently QShaderGenerator will crash when encountering some expressions in input nodes. For example, this node prototype would make it crash: "VERTEX_COLOR": { "outputs": ["color", "alpha"], "rules": [ "headerSnippets": ["in vec4 vertexColor;"], "substitution": "vec3 $color = vertexColor.rgb; float $alpha = vertexColor.a;" ] } Change-Id: I37abb8099d376843a4cb13228140467dc1b8f60c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QShaderGenerator: Don't crash when a node has multiple outputsNicolas Guichard2020-02-201-0/+73
| | | | | | | | | | | | | | | | | | | | | | It was already possible to declare a node prototype with multiple outputs, but trying to assign to all those outputs was not possible and instead resulted in a crash. It is now possible to declare nodes like this without crashing: "SEPERATE_XYZ": { "inputs": ["vector"], "outputs": ["x", "y", "z"], "rules": [ { "substitution": "float $x = $vector.x; float $y = $vector.y; float $z = $vector.z;" } ] } Change-Id: I748e77e84c9120dc688c573eee33dc13c6bfbace Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QShaderGraph: don't generate statements with undefined inputsNicolas Guichard2020-02-191-8/+4
| | | | | | | | | | | | | | | This fixes the shader generation for graphs like this one: Function0 ------> Output0 (with unbound input) Input ------> Function1 ------> Output1 With those graphs, createStatements will not return any statement for nodes Function0 and Output0. Change-Id: Iec32aa51623e176b03ae23e580f06d14df80a194 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix QShaderGenerator crashing when a node port name prefixed another oneNicolas Guichard2020-02-191-0/+70
| | | | | | | | | | | | | | QShaderGenerator didn't handle substitutions like `vec4 $color = mix($color1, $color2, $fac);` Note that `$color` is a prefix to `$color1` and `$color2`. For the substitution `QByteArray::replace` was used so if `$color` was handled first and replaced by `v1`, `$color1` and `$color2` were never correctly replaced and instead became `v11` and `v12` which caused a crash later on. Change-Id: Idaf800fdac468f33c323eb722701da5f8eb918d6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QShaderGraph: Fix statement creation for graphs with dangling branchesNicolas Guichard2020-02-171-0/+45
| | | | | | | | | | | | | | | | | | For graphs like this one: Input ----> Function1 ----> Output \ ---> Function2 (unbound output) We would have generated only 2 statements, for Function1 and Output. This change fixes this by treating Function2 like an output. Therefore it generates 4 statements: Input, Function1, Output and Function2. Change-Id: Iaada40b9b949d771806dd47efad4f7ef2a775b48 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Only read the first BOM as a BOM; the rest are ZWNBS !Edward Welbourne2020-02-141-0/+6
| | | | | | | | | | QUtf32::convertToUnicode() was forgetting to set headerdone when it dealt with the header (for contrast, Utf16::convertToUnicode() does). Fixes: QTBUG-62011 Change-Id: Ia254782ce0967a6cf9ce0e81eb06d41521150eed Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Autotest: adapt to certain OSes always allowing binding to low portsThiago Macieira2020-02-133-12/+33
| | | | | | | | Apple changed on macOS 10.14 (Mojave). Windows has always allowed. Fixes: QTBUG-81905 Change-Id: I572733186b73423b89e5fffd15f12fee3f03c055 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QTcpSocket::bind: fix issue found by BLACKLISTThiago Macieira2020-02-132-8/+1
| | | | | | | | | | | The comment in QNativeSocketEnginePrivate::fetchConnectionParameters() talked about IPv6 v4-mapped addresses. However, toIPv4Address also converts the unspecified address (::), which resulted in QAbstractSocket saying that it had bound to QHostAddress::Any instead of QHostAddress::AnyV6 Change-Id: I572733186b73423b89e5fffd15f138579c5c0c50 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Extend tst_qstringapisymmetry for member compare()Marc Mutz2020-02-091-2/+158
| | | | | | | | | | | | | | | | | | | | | There were a few surprises: - QByteArray::compare() are missing noexcept (will add) - ibid., called with non-ascii content and CaseInsensitive fails (this was discussed on the ML, with tentative agreement that it's a feature, not a bug; waiting for QUtf8String(View) for a fix, then). - As was the case when we did this exercise with the relational operators, QString(Ref)/QChar is not noexcept (will fix) These have been QEXPECT_FAIL'ed. Not much of the cartesian product is implemented at all, yet. These have been #ifdef'ed with NOT_YET_IMPLEMENTED to see what's still missing. Change-Id: I7d9b21e292b98f980aacdc6248e88188f7472ba2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QComboBox: send font change event to popup menu when font changedWang Chuan2020-02-071-0/+43
| | | | | | | | | | | | The font change in QComboBox might cause incorrect appearance of popup menu since it doesn't notify popup menu to relayout itself Fixes the issue by send font change event to the item view of popup menu when received a font change event in QComboBox Fixes: QTBUG-75846 Change-Id: I4821015cca95a7e233a22262596a6fbf27f10aef Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* uic/Python: Add imports for Q(Date)Time, QKeySequenceFriedemann Kleint2020-02-061-4/+4
| | | | | | | | | Those types are used as properties of Q(Date)TimeEdit, QKeySequenceEdit. Fixes: PYSIDE-1215 Change-Id: I8b9ffebb8229fff447aa7dd6bee6e037d708333c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* tst_qnetworkreply: Print proxy warning to stderr instead of stdoutMorten Johan Sørvig2020-02-051-3/+3
| | | | | | | This way we produce valid xml also for the no-proxy case. Change-Id: I5a277255d22c3814fe463c0cd013c04ddc6ad919 Reviewed-by: André Hartmann <aha_1980@gmx.de>
* widgets: Don't create winId when the widget is being destroyedVaL Doroshchuk2020-02-051-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QWidget is being destroyed, its winId is cleared, and a QEvent::WinIdChange is sent. If a listener of this event reacted by calling winId() again, we might crash. A crash can be observed when this child widget is destroyed in dtor of its parent. E.g. here is a hierarchy of widgets: 1:QWidget 2:QObject 3:QWidget 4:QWidget If a listener subscribed for WinIdChange events from (4), and there is a connection to destroy (4) when (2) is destroyed. This will lead to infinite loop: 1. QWidget::~QWidget 2. QWidget::destroy 3. QWidgetPrivate::setWinId(0) 4. QCoreApplication::sendEvent(q, QEvent::WinIdChange); 5. eventFilter 6. QWidget::winId 7. QWidgetPrivate::createWinId (this=0x555555957600) at kernel/qwidget.cpp:2380 8. QWidgetPrivate::createWinId (this=0x55555596b040) at kernel/qwidget.cpp:2387 9. QWidget::create (this=0x5555558f2010, window=0, initializeWindow=true, destroyOldWindow=true) at kernel/qwidget.cpp:1163 10. QWidgetPrivate::createWinId (this=0x55555596b040) at kernel/qwidget.cpp:2387 11. QWidget::create (this=0x5555558f2010, window=0, initializeWindow=true, destroyOldWindow=true) at kernel/qwidget.cpp:1163 12. QWidgetPrivate::createWinId (this=0x55555596b040) at kernel/qwidget.cpp:2387 Fixes: QTBUG-81849 Change-Id: Ib4c33ac97d9a79c701431ae107bddfb22720ba0d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* uic/Python: Set form object name correctlyFriedemann Kleint2020-02-051-1/+1
| | | | | | | | Add missing "not" for the isEmpty() check. Fixes: PYSIDE-1210 Change-Id: I3798d483df9d077300ff69dc5d3a8d08812f534e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Take care of NULL data from QStringView in QCollatorEdward Welbourne2020-02-051-1/+13
| | | | | | | | | | | | | Back-ends need to catch NULL data so as not to call system APIs with invalid pointers. [ChangeLog][QtCore][QCollator] Fixed a regression introduced in 5.14.0 that caused QCollator not to operate with default-constructed QStrings and print a warning on Windows. Fixes: QTBUG-81673 Change-Id: I2eafe1e188b436afcca3cf2ecdf98bba707c44c9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Enable system locale to skip digit-grouping if configured to do soEdward Welbourne2020-02-031-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS it's possible to configure the system locale to not do digit grouping (separating "thousands", in most western locales); it then returns an empty string when asked for the grouping character, which QLocale's system-configuration then ignored, falling back on using the base UI locale's grouping separator. This could lead to the same separator being used for decimal and grouping, which should never happen, least of all when configured to not group at all. In order to notice when this happens, query() must take care to return an empty QString (as a QVariant, which is then non-null) when it *has* a value for the locale property, and that value is empty, as opposed to a null QVariant when it doesn't find a configured value. The caller can then distinguish the two cases. Furthermore, the group and decimal separators need to be distinct, so we need to take care to avoid cases where the system overrides one with what the CLDR has given for the other and doesn't over-ride that other. Only presently implemented for macOS and MS-Win, since the (other) Unix implementation of the system locale returns single QChar values for the numeric tokens - see QTBUG-69324, QTBUG-81053. Fixes: QTBUG-80459 Change-Id: Ic3fbb0fb86e974604a60781378b09abc13bab15d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Markdown importer: properly set hyperlinksGiuseppe D'Angelo2020-02-032-0/+26
| | | | | | | | The "title" in markdown is the tooltip, not the name attribute of a link. Also, tell the char format that it's an anchor. Change-Id: I2978848ec6705fe16376d6fe17f31007cce4b801 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Pass QDate and QTime by value in manual calendar test codeEdward Welbourne2020-01-312-4/+4
| | | | | | | They're value types, pass them as such. Change-Id: I78e93165d431ac4eff145f47a9385d6bf5cd0c15 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Blacklist failing tests on macOS 10.14Morten Johan Sørvig2020-01-302-0/+3
| | | | | | | | | These tests fail locally, and have been reported to fail on the CI system. Change-Id: Ia76bb15c288af4171ebe47b3c30f3651a63df3f2 Task-number: QTBUG-75786 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QGraphicsProxyWidget: fix handling of proxy focusGiuseppe D'Angelo2020-01-291-0/+70
| | | | | | | | | | | If a widget inside a QGPW has a proxy focus, the code would keep sending focus in events to the proxy even if the proxy was already focused. Amend the check in place to prevent this from happening. Change-Id: Id28d3bfe4f396da5c9477df713441ca7d506662f Fixes: QTBUG-51856 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Merge remote-tracking branch 'origin/5.14.1' into 5.14Liang Qi2020-01-281-0/+24
|\ | | | | | | | | | | | | | | Conflicts: mkspecs/features/create_cmake.prf Done-With: Artem Pisarenko <artem.k.pisarenko@gmail.com> Change-Id: I2ecb9fdca06fe687be8ab3457a58dd81e5e81c4c
| * Merge 5.14 into 5.14.1Kari Oikarinen2020-01-1531-94/+280
| |\ | | | | | | | | | Change-Id: Ie90edfd16f48e1907fd18288473ac403f62b9032
| * | QSequentialIterableImpl: support appendFabian Kosmale2020-01-151-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-80916 Change-Id: I87e74da0ce454e56b5fe94d9db3693a587d35edf Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Make sure the focus is passed on correctly when back-tabbingAndy Shaw2020-01-251-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the tested widget has a focus proxy, then we should check if the current focus widget is not the same as that focus proxy before setting it to be the widget that gets focus. This ensures that when back-tabbing from a widget like QDoubleSpinBox that it will not get stuck inside that widget and will back-tab to the next correct one. Fixes: QTBUG-81097 Change-Id: I3f689c7715da7f3ce8c3d2f616041528f5778a2f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | QXmlStreamReader: early return in case of malformed attributesGiuseppe D'Angelo2020-01-232-0/+9005
| | | | | | | | | | | | | | | | | | | | | | | | There's no point at keep raising errors after encountering the first malformed attribute. Change-Id: Idb37e577ea96c3bd850b3caf008fe3ecd57dd32e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Flatten version-specific blacklisting on macOS to all macOS versionsTor Arne Vestbø2020-01-2215-61/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't know which versions these blacklistings actually apply on unless we actually get macOS 10.14 and 10.15 into the CI and running tests, so let's start with that, and then granularize the blacklists after that. Task-number: QTBUG-75786 Change-Id: Id79642afa50cb20efa2cd209286b6933918d3a4a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Blacklist tstPauseAnimation::noTimerUpdates on macOSTor Arne Vestbø2020-01-221-3/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-75786 Change-Id: I89d81a9d0f5f301f325044dee2395d441c0d5970 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Extend blacklisting for a few tests to include all macOS versionsTor Arne Vestbø2020-01-222-2/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-75786 Change-Id: I06867de99a19f9e46ac0eeea10a7365a30c49c6d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Blacklist two tst_QScroller tests on macOSTor Arne Vestbø2020-01-221-0/+5
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-75786 Change-Id: I43e0a9a6e28a67f6aa1f2adaecd60ed0d65601d4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Blacklist tst_QAbstractItemView::task200665_itemEntered on macOSTor Arne Vestbø2020-01-221-0/+2
| |/ |/| | | | | | | | | Task-number: QTBUG-75786 Change-Id: I74720b4015e38c846dbc5c6a93f056f8deb3552a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | uic/Python: Fix missing QCursor importFriedemann Kleint2020-01-141-1/+1
| | | | | | | | | | | | Fixes: PYSIDE-1182 Change-Id: I1ccc524a152ea75508166f3d2c0c60f8d829cd8f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Combine negativeYear() and printNegativeYear()Edward Welbourne2020-01-141-22/+17
| | | | | | | | | | | | | | | | | | | | They overlapped and the latter had duplicated code, so make them into a single data-driven test. At the same time, replace the '-' at the start of the expected string with QLocale::negativeSign(), since the test fails otherwise when LC_NUMERIC=nb_NO on Linux (Debian/testing). Change-Id: I051c75abff16b2e6f8278fcb152b6bde14c71f9a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | uic: add customwidget imports support for pythonCristián Maureira-Fredes2020-01-141-1/+1
| | | | | | | | | | | | Fixes: QTBUG-81073 Change-Id: I29659481b14927ffcb8f2cb1829b577a67e4b937 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Clarify blacklisting of tst_QWidget::childEvents on macOSTor Arne Vestbø2020-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | The test expects a very explicit list of events during show, but on macOS we also get an InputMethodQuery event as a result of the window becoming active. The test needs to be written significantly to support these kind of platform differences. Change-Id: I395c1e9e4e9baf7d9f88f0d067586fc15afb9a16 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Extend blacklisting of tst_QWidget::showMinimizedKeepsFocus to all macOS ↵Tor Arne Vestbø2020-01-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | versions For some reason the firstChild gets the focus when clearing the focus. This seems to be timing dependent, as removing the 30ms qWait 'fixes' the issue. So does a processEvent call before minimzing. Both of these require further investigation. Change-Id: I62833a5541712f97dc24bc63384fa4c051096537 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Blacklist tests on macOS that rely on moving the cursorTor Arne Vestbø2020-01-142-0/+6
| | | | | | | | | | | | Task-number: QTBUG-76312 Change-Id: Ibb29231141017ed608beaa12255cdd083317433c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Blacklist tst_QTableView::mouseWheel on macOSTor Arne Vestbø2020-01-141-0/+2
| | | | | | | | | | | | | | | | There's a timing issue that affects the position of the vertical scrollbar when scrolling by pixels. Change-Id: I29d73574785be539a5870b498a902b1aba887e9c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Blacklist tst_QStyleSheetStyle::widgetStylePropagation on macOSTor Arne Vestbø2020-01-141-0/+2
| | | | | | | | | | | | | | | | | | It's not clear why this is failing, but we need to blacklist it so that we can move over to testing macOS 10.14 and 10.15 in the CI. Task-number: QTBUG-75786 Change-Id: I208d5af92406c5da8d0210e0188568466b78b2a9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Skip tst_QMenu::pushButtonPopulateOnAboutToShow on macOSTor Arne Vestbø2020-01-141-0/+4
| | | | | | | | | | | | | | | | The combobox popup can overlap a little with the button, and that's the expected behavior. Change-Id: I245bfce85cb5ee661ceb51dbe0d844492878a2bc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Skip instead of fail tests when test server is not availableTor Arne Vestbø2020-01-1418-15/+92
| | | | | | | | | | | | | | | | | | | | We were being inconsistent in how we handled this, some tests skipping while others using QVERIFY. It makes more sense to skip the tests, since the problem is a missing pre-condition of the test, not the test itself being bad or exposing real failures in the implementation. Change-Id: I20eacfe12dbce0b0d926e48cbe2d2772819fa4a5 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Remove empty block at beginning of imported markdownRainer Keller2020-01-131-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | An empty QTextDocument already contains a block; so when the formatting is fully determined, if the document is still empty, then instead of inserting a new block, we can set formatting on the cursor, which affects the pre-existing block, before inserting text. This avoids leaving a blank line (the default block) above the inserted content. Fixes: QTBUG-81060 Change-Id: I14e45e300a602493aa59680417d74d4c2b25862d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QString::isLower/isUpper: redo the implementationGiuseppe D'Angelo2020-01-111-40/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QStringIterator rather than indexed loops. This fixes handling of non-BMP code points (which may be lower or uppercase, see the test). Change also the semantics of the functions, adopting Unicode §3.13 definitions: a string is lowercase/uppercase if it's equal to its own toLower/toUpper folding. As a side effect, empty strings are now correctly reported to be lowercase AND uppercase. [ChangeLog][Important Behavior Changes] The semantics of QString::isLower() and QString::isUpper() have been changed to match the Unicode specification. Now lowercase (resp. uppercase) strings are allowed to contain any character; a string is considered lowercase (resp. uppercase) if it's equal to its own toLower() (resp. toUpper()) folding. Previously, a non-letter character would make the string not lowercase nor uppercase, and the mere presence of an uppercase (resp. lowercase) letter would make isLower() (resp. isUpper()) return false, even if the letter wouldn't change under case folding. As a consequence, now empty strings are lowercase and uppercase. [ChangeLog][QtCore][QString] Fixed a number of bugs of QString::isLower() and QString::isUpper(). Empty strings are now correctly reported to be lowercase (resp. uppercase), and strings containing code points outside the BMP are now correctly handled. Note that the behavior of these functions has also been changed. Change-Id: Iba1398279a072399a9f21295fe75f6e414f3f813 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>