Previously QAbstractTestLogger used a global variable for the file
pointer to which it was writing test output. This effectively meant
that only one instance of this or its derived classes could exist at any
time.
This commit moves the file pointer inside the class, so that multiple
loggers can exist at the same time. This means that the outputString()
method can no longer be static, which in turn means that several
functions used by QPlainTestLogger need to move from the QTest namespace
into the class, and also that QTestBasicStreamer must hold a non-const
pointer to its associated logger instead of a const pointer.
Task-number: QTBUG-20615
Change-Id: If941f1f9399cf20fb93e3e87f3390bceeca1cbfc
Reviewed-on: http://codereview.qt.nokia.com/3576
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This feature was undocumented and only worked if a secret environment
variable was set, the test output was going to a real console, and plain
text test results were being generated. Including code in testlib for
fancy presentation of test results conflicts with testlib's stated goal
of being a lightweight framework where every feature contributes to
finding bugs, so this feature is being removed. If fancy presentation
of test output is required, it should be achieved by post-processing the
test output outside of the test framework.
Change-Id: I872165c4d2c3d2498c3aa039070ecf319e237ca1
Reviewed-on: http://codereview.qt.nokia.com/3432
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Pass the output file name from the QTestLog to the test logger when
commencing logging rather than having the logger call back into the
QTestLog.
Change-Id: Id484635f9fcfca08a66c92f3442887e9473b6f9b
Reviewed-on: http://codereview.qt.nokia.com/3454
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The method is called when the text of a label is changed and setAccessibleName has
not been called on the label, as the text of the label acts as the accessible name
of the label.
Merge-request: 1301
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit a1f2b68e97477440cf508e6d497eb5f5d9971971)
Change-Id: Ic10f75e72ac3faa84777c444177b287b720a1dc2
Reviewed-on: http://codereview.qt.nokia.com/3040
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Q_GLOBAL_STATIC may be destroyed and we still send
ObjectDestroyed notifications.
This only shows now that we actually send the Destroyed notifications.
Change-Id: I3057556cdc897dab6adfc3274e4abc68473ffa7f
Reviewed-on: http://codereview.qt.nokia.com/3657
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Easily reproducible by testing Chinese with the threaded
renderer. The multi engine would then have a list of engines
with a single item, but the glyphs might belong to e.g. engine
11. In that case, engine() would assert when it couldn't find
the engine if the layout had been done in a different thread.
We force the loading of the required engine if it's not already
loaded.
Note that this fix does not work on Mac, as loadEngine() will
crash there, so the layout has to be done in the same thread
as the rendering, since loading the engines is part of the
layout process.
Task-number: QTBUG-21112
Change-Id: I71cc396664e3b95fbb4815a90873457e1f89528e
Reviewed-on: http://codereview.qt.nokia.com/3631
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
use qBinaryFind() with a case-sensitive string comparison
instead of QHash. This also improves startup time and reduces
runtime memory consumption.
Change-Id: I5c5f7cae5e42acb3fa727acac19fe39c53310329
Reviewed-on: http://codereview.qt.nokia.com/3673
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
replacing the if-else trees with the switch statement
gives a 2x-3x parsing performance boost on parsing these
expressions.
Change-Id: Ia0e76ae4e1ab6930dbecf1d4a5232a4cc7198654
Reviewed-on: http://codereview.qt.nokia.com/3672
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Instead of using the file output functions inherited from
QAbstractTestLogger, QTestLogger relied on QTestBasicStreamer having a
copy of these functions. This commit removes the copied functions from
QTestBasicStreamer and makes it and QTestLogger use the original
functions from QAbstractTestLogger.
Change-Id: Icac1ae9d85cd39efd4c67c79104404dd56766b17
Reviewed-on: http://codereview.qt.nokia.com/3565
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Could use || but it's only used for an if test anyway.
Change-Id: I97fe251ab4f27fb75981af12316aaf5da053d47a
Reviewed-on: http://codereview.qt.nokia.com/3431
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Since the trailing space is included in the QScriptLine, it may affect
the positions of preceding script items when the text is RTL. The best
solution for this would be to disregard the trailing space in the layout
process, or somehow make it have an advance of 0 so it doesn't affect
the layout. However, to minimize the impact of the change, and to be
consistent with previous work arounds such as
bf992df6434fc37715f728ca09601c5567dd83c9, we simply include the trailing
(visually leading) space in the justification pass for now.
Task-number: QTBUG-20920
Reviewed-by: Lars
(cherry picked from commit 1a8a36eb6b6df9e2550b5eaa4606f2d411fd4294)
Change-Id: I94972ebaea2e1bdb09950523c43844351b304abe
Reviewed-on: http://codereview.qt.nokia.com/3462
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This test sometimes passes and sometimes fails.
Task-number: QTBUG-21098
Change-Id: Ic56e93d12a7b3fa2e9c135e25610bf1119fa636e
Reviewed-on: http://codereview.qt.nokia.com/3548
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
QTBUG-21102 is currently blocking integration of several commits.
Marking the test as unstable until the bug has been fixed.
Change-Id: I9b630767fd1aa4369564f5e90c63e850808385e1
Reviewed-on: http://codereview.qt.nokia.com/3584
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
QApplication::keyboardModifiers returns the keyboard modifiers
from the last keypress event in this process, as documented. However
there are use cases for querying keyboard modifiers as they currently are,
see QTBUG-11243.
Merge-request: 585
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit 3b5354386225974ea6db78c12f32cb81e2d50104)
Change-Id: I9b4e54ac79fc225e3ed8d2bcaba953a6eb59f0d2
Reviewed-on: http://codereview.qt.nokia.com/3581
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Implement the IAccessible table2 interface for itemviews.
This is simpler than what we have in complexwidgets.
For now it is only used on Linux.
The new table2 interface is ifdef'ed to only be used on X11.
Improve handling of accessible events and clean up.
There are two xfails for the Table and Tree where sibling
navigation is not implemented yet.
Reviewed-by: Gabi
(cherry picked from commit e797ba558dddd45522b5a317316e497e9efc44a8)
(cherry picked from commit eff5ecc5d8f65fa25d6cfd6ed96a9d2a00d0c663)
(cherry picked from commit d29876008fad400bca8d6b37e5d5f61dd1bcb39d)
(cherry picked from commit 2a326fdc8f8bf2bd2c5764394616100906d9db2d)
(cherry picked from commit 9b72e79e20d0d3560e0b064b8b0d75e35feb720e)
(cherry picked from commit 075b0f744363842ed4179c644d933d461389544f)
Change-Id: I654f74991830ae1fc7df7cc91d930390fb88b2a4
Reviewed-on: http://codereview.qt.nokia.com/3274
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Several required fixes and changes to fix problems that arose
when porting SceneGraph's QSGTextInput and QSGTextEdit to
use QSGTextNode, especially related to having selections
on the text.
Also fixes crashes with the threaded renderer on Mac OS X
when using the TextEdit or TextInput elements.
Task-number: QTBUG-18019, QTBUG-20017
Change-Id: I67f24465352daa1d2cb12b6d2f378feb676c9804
Reviewed-on: http://codereview.qt.nokia.com/2864
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Loading of fallback fonts from the font cache was broken.
While iterating through fallback fonts, we would incorrectly skip any
fonts which were already in the cache. This would cause unstable lookup
results for some fonts, depending on the order in which fonts were
loaded during the current process.
Change-Id: I56a6a07e93196ed14f33f4cc181e41c5b8f19498
Reviewed-on: http://codereview.qt.nokia.com/3059
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This is more conforming to the AT-SPI specs.
Also we have working relations for the label when a buddy is set.
Reviewed-by: Gabi
(cherry picked from commit 8be3168aa2f300f9a93a53b417704f3f10b1dc8b)
Change-Id: I1831d5063b003df2d209aba99d54558b6493a3e9
Reviewed-on: http://codereview.qt.nokia.com/3027
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Add boundary helper functions to the QAccessibleTextInterface.
Move LineEdit over to use QTextBoundaryFinder.
Reviewed-by: Jan-Arve
(cherry picked from commit c1ec1a95806cda54d5b4e9f8ed159a611bd75964)
Change-Id: Ib93599c49110aab50debe1e3fb0073dd34071c87
Reviewed-on: http://codereview.qt.nokia.com/3025
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
According to the UBA, the object replacement character should be
considered ON. There's no reason to special case its directionality, as
the bidi algorithm will already have given it an implicit
directionality.
Task-number: QTBUG-20910
Reviewed-by: Lars
(cherry picked from commit 2657bfa7c4de9f114331d1714a306b3999ae30d8)
Change-Id: I1c8e45d67ef44b1b6f96edb2f5074331b5422eb7
Reviewed-on: http://codereview.qt.nokia.com/2999
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
When a virtual object is registered with the SubPath option
it will handle all dbus calls to itself and all child paths.
It needs to reimplement handleMessage for that purpose.
Introspection needs to be implemented manually in the introspect function.
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
(cherry picked from commit b07919b3de8cff3e44b7271062372b14bcda5b83)
(cherry picked from commit 997c2dfed7a04da2fac577f1c29b89bda4939e2d)
(cherry picked from commit c676b7095d826dc2d006f52a4b234546af5e2137)
Change-Id: I003007604b286af8000959756ce9d25c17306f5b
Reviewed-on: http://codereview.qt.nokia.com/3051
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Also return dock widget title.
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
(cherry picked from commit 276d16583b80da2838f9af47e15fe3a83cdb0485)
Change-Id: I8d66bec4212cc2b1df8c9b041375d7455c6a76a3
Reviewed-on: http://codereview.qt.nokia.com/3023
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Do not send accessibility focus events when menus are involved.
There are focus events to preserve the old focus when showing a new popup window.
Reviewed-by: Jan-Arve
(cherry picked from commit 32079bb0b348ef5f7126e69be9bcfb249c1a6412)
Change-Id: Id4838a3aede1d60a1850385e97660d085f055d64
Reviewed-on: http://codereview.qt.nokia.com/3021
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
This was known to be unstable on mac, but appears to be unstable on
Linux also.
Task-number: QTBUG-20987
Change-Id: I760533c32cf13d24f8428f120813eb590b202182
Reviewed-on: http://codereview.qt.nokia.com/3131
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
Wait for window shown on _all_ platforms, not just X11.
QEXPECT_FAIL a test which relies on QCursor::setPos, which is currently
unimplemented for qpa (QTBUG-20753).
Change-Id: I72412476afc7e52ccb6cab4306ff791b7e7d8d93
Reviewed-on: http://codereview.qt.nokia.com/3118
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
Throwing C++ exceptions through the event loop doesn't work if the Glib
event loop is used, so conditionally skip that part of the test.
Change-Id: Ic27ebf4eb75bd1cf7c7e35f371f29bcfc0e1844a
Reviewed-on: http://codereview.qt.nokia.com/2471
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
This test unstably fails because font lookup is somewhat broken for qpa.
Task-number: QTBUG-20986
Change-Id: Id4ebd35e979d8837d32b58e5ed9c1df3ac15827a
Reviewed-on: http://codereview.qt.nokia.com/3130
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
The necessary font handling code for qrawfont currently seems to be
unimplemented for all qpa backends.
Task-number: QTBUG-20976
Change-Id: I2b5c511936892e2754c0ee809b7a558f44d1d132
Reviewed-on: http://codereview.qt.nokia.com/3116
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>