summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Shift positions for lineBreakTypeKonstantin Ritt2012-06-071-4/+4
| | | | | | | | | | | | | | | | | | | to keep them consistent with positions for all other flags. This changes the internal behavior so that attributes[0].lineBreakType now means "break opportunity at start of the text (before the first character in the string)" and is always assigned with HB_NoBreak to conform rule LB2 (see http://www.unicode.org/reports/tr14/#LB2). The current implementation is based on the sample implementation from tr14 that aimed to be as simple as possible rather than to be optimal. From now, we can use pieces of the attributes array "as is" without having to adjust some positions. Or we can analize some long text by chunks (e.g. paragraph by paragraph) and consume less memory. This introduces a minor overhead that will be eliminated shortly. Change-Id: Ic873a05a9d5203b1c3d5aff2e4445a3f034c4bd2 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QTextBoundaryFinder: Consider soft hyphen as line breaking opportunityKonstantin Ritt2012-06-071-1/+31
| | | | | | | SoftHyphen enum value was added to specify such a boundary reason Change-Id: I4248909eed6ab8cbca419de4dcf9fe917620a158 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qtexttable autotest build without widgetsKent Hansen2012-06-072-1/+8
| | | | | Change-Id: Id5f93dee0c4b5978c473838559f586ced35a2981 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make sql autotests build without widgetsKent Hansen2012-06-071-0/+2
| | | | | Change-Id: Icd4d2ef39961e2e0ec5c9e910c74b3e8a35503bf Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make "other" autotests build without widgetsKent Hansen2012-06-071-0/+14
| | | | | Change-Id: I49e73c31b98e43259771c0e265cf13fc167c45f2 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Don't build printsupport autotests when widgets aren't availableKent Hansen2012-06-071-1/+1
| | | | | Change-Id: Ida376a75f376fc0d3696d715648c7229aec301e2 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make animation autotests build without widgetsKent Hansen2012-06-071-0/+3
| | | | | Change-Id: Icb0560a26973921611f697240fbce121fff518e9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove widgets dependency from qdatastream autotestKent Hansen2012-06-072-1/+2
| | | | | | Change-Id: I30ce3ce2d5a0badc7a846256825b4deea8c0856a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qprocess autotest build without widgetsKent Hansen2012-06-072-0/+5
| | | | | Change-Id: I0a428852222accbea8446ba1c284f1c44b9d4bf3 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove widgets dependency from qstringlistmodel autotestKent Hansen2012-06-072-3/+2
| | | | | Change-Id: I9678f9ee3fd8b01648cf2524452145568cf6fb4f Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make itemmodels autotest build without widgetsKent Hansen2012-06-071-1/+3
| | | | | Change-Id: I7ff1a575c111452397c3461842c15bb01105cf95 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qstatemachine autotest build without widgetsKent Hansen2012-06-072-3/+16
| | | | | Change-Id: I3a58cb1cbe0c86aca6e533187e85c166bf0f8957 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qpixmap autotest build without widgetsKent Hansen2012-06-072-2/+11
| | | | | Change-Id: Iabf1e6815a2af79d9da84c0e2bb9c2de52cb698f Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qpicture autotest build without widgetsKent Hansen2012-06-072-1/+8
| | | | | Change-Id: Id2047dace7b3087f1c7b83545f5e122ab936d33c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qmovie autotest build without widgetsKent Hansen2012-06-072-1/+10
| | | | | Change-Id: Ie53b183e99de08c3cc35f4932b7aabf4bf5b0940 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make gui tests build when widgets aren't availableKent Hansen2012-06-071-0/+4
| | | | | Change-Id: I5b75116d148f84ae2f96dd6b573d14952c4b601c Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Make qpainter autotest build without widgetsKent Hansen2012-06-072-2/+31
| | | | | Change-Id: I4e05871e44f7a69aaa9cd5d876c249c7dd9d86e8 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Make qtextdocumentlayout autotest build without widgetsKent Hansen2012-06-072-1/+8
| | | | | Change-Id: Ib767f9cac5fc3274ed16e87f0c4da68102147645 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qtextobject autotest build without widgetsKent Hansen2012-06-072-1/+8
| | | | | Change-Id: I9ea79b62d22faeccc07d8c21a0d8f032b40abef0 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Check LANGUAGE as well in QSystemLocale::fallbackLocaleMike FABIAN2012-06-061-1/+1
| | | | | | | | | | | | Because QSystemLocale::fallbackLocale() is about UI languages, it makes sense to check LANGUAGE as well if appropriate. Adapt tst_qlocale.cpp accordingly. Suggested by Oswald Buddenhagen. Change-Id: Ib2c9674081809e3251be4e34456b05210eebc010 Reviewed-by: Oswald Buddenhagen Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* statemachine: Make delayed event posting work from secondary threadKent Hansen2012-06-061-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | postDelayedEvent() and cancelDelayedEvent() are marked as thread-safe in the documentation. Unfortunately, they didn't actually work when called from another thread; they just produced some warnings: QObject::startTimer: timers cannot be started from another thread QObject::killTimer: timers cannot be stopped from another thread As the warnings indicate, the issue was that postDelayedEvent() (cancelDelayedEvent()) unconditionally called QObject::startTimer() (stopTimer()), i.e. without considering which thread the function was called from. If the function is called from a different thread, the actual starting/stopping of the associated timer is now done from the correct thread, by asynchronously calling a private slot on the state machine. This also means that the raw timer id can no longer be used as the id of the delayed event, since a valid event id must be returned before the timer has started. The state machine now manages those ids itself (using a QFreeList, just like startTimer() and killTimer() do), and also keeps a mapping from timer id to event id once the timer has been started. This is inherently more complex than before, but at least the API should work as advertised/intended now. Task-number: QTBUG-17975 Change-Id: I3a866d01dca23174c8841112af50b87141df0943 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Remove insignificant_test for tst_qwindow on Mac OS XBradley T. Hughes2012-06-062-6/+6
| | | | | | | | | | | | | | tst_QWindow::positioning() still fails on Mac OS X, and it does so in several places. Skip this test for now as it causes isActive() to fail as well. With positioning() QSKIP()ed, all the other test functions pass: Totals: 19 passed, 0 failed, 1 skipped ********* Finished testing of tst_QWindow ********* Task-number: QTBUG-23059 Change-Id: I58d036120c0121f515813cd20955ab3b82f81fe1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: do not send multiple window activation eventsBradley T. Hughes2012-06-061-3/+0
| | | | | | | | | | | | | | When switching the active window within the same application, Cocoa sends us an NSWindowDidResignKeyNotification for the old activated window, then an NSWindowDidBecomeKeyNotificationfor the newly activated window. Our handling of this would first set Qt's active window to zero, then immediately reset it afterwards. Avoid this by checking the key window when handling the deactivation event, and don't set the active window to zero if a new window has become active. Task-number: QTBUG-24322 Change-Id: I8719fc501049eeaaebb75e9ea03261b2209458b6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Added QScreen::setOrientationUpdateMask().Samuel Rødal2012-06-061-0/+13
| | | | | | | | | | | | It might be too expensive to always have an accelerometer sensor running, so introduce API so that the application has to explictly ask to get the orientation updates it's interested in. Change-Id: Ib7dc5ad8807718409f744ebef53f4476aa05175d Reviewed-by: Ian Monroe <ian.monroe@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com>
* Fixed QJsonObject::find()Denis Dzyubenko2012-06-061-0/+10
| | | | | | | | | | The function returns mutable iterator on the object that can later be passed to e.g. erase(), hence it should detach() to be consistent with QJsonObject::begin() which also detaches. Change-Id: Id79e8e012fd5469e06b68fbc9eecb7c6848ce9c1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Use QPointer instead of QWeakPointer.Stephen Kelly2012-06-055-11/+11
| | | | | | | | The use of QWeakPointer for tracking QObject pointers is to be deprecated. Change-Id: If460ca7f515db77af24030152f4bd56e1a5fae7c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Write test to confirm QStateMachine calls connectNotify().Mitch Curtis2012-06-051-0/+35
| | | | | | | Task-number: QTBUG-16628 Change-Id: I77535fcb9a6ae306df8ccd670ee1bfc32721d66a Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Correctly locate files with relative pathsLars Knoll2012-06-051-2/+0
| | | | | | | | | | | | QUrl("relativefilename").toLocalFile() changed behavior and now returns an empty string if the scheme is not set. Setting the scheme to "file:" in setSource would however break some other assumptions in the code about relative url's. Task-number: QTBUG-22416 Change-Id: I1b3fcbef81f6e356935ec426903989e783ce9a78 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QIODevice::seek() return false for sequential files.Mitch Curtis2012-06-051-2/+2
| | | | | | | Task-number: QTBUG-18173 Change-Id: Ie3a96d3a6f60995b8ba7823153778869d0c2dc58 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* tst_qtoolbutton: stabilize and improve failure messageRohan McGovern2012-06-051-2/+7
| | | | | | | | | Allow for a little more leeway in timers. Task-number: QTBUG-26004 Change-Id: I59936d0f675b7f734e04b3f5e63631c74ca4f163 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Fix QTemporaryFile::open() failing after remove().Mitch Curtis2012-06-051-0/+20
| | | | | | | | | | | | | If a QTemporaryFile is constructed using a template file path, the path is generated in QTemporaryFileEngine::open() and then filePathIsTemplate is set to false. If remove() and then open() are called on the same QTemporaryFile, the path is not regenerated. This change ensures that if the file path was generated, it will be generated again in the scenario above. Task-number: QTBUG-2557 Change-Id: I718ceb89daa9a9d46fdbe811fecc3d57d6dc08c2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QString("inf").toFloat() return inf instead of zero.Mitch Curtis2012-06-051-0/+15
| | | | | | | | | | | Currently, QString::toFloat() returns 0 (and sets ok to false) if you try to convert "inf". This is because inf is greater than QT_MAX_FLOAT and there is currently no check to handle inf. Task-number: QTBUG-8629 Change-Id: I498daf4a7a6f880f928461fca628fcaf7d1d6d08 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Improve the QTextBoundaryFinder autotests a lotKonstantin Ritt2012-06-051-256/+394
| | | | | | | The existing tests has been retained, the new ones has been added. Change-Id: I12ae1b4e63dde46f3b14a7c1423c13d5881d4507 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add QDeferredDeleteEventBradley T. Hughes2012-06-051-1/+1
| | | | | | | | | | | Use this to store the loop-level counter needed by QCoreApplication when determining when it is safe to delete an object. This removes the hack to hijack the QEvent::d pointer (even though the pointer is unused). Change-Id: I91c0b1aa00235ec6e13feb30bf928e56d2f80026 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow 24:00:00 for ISO dates in QDateTime::fromString().Mitch Curtis2012-06-051-0/+16
| | | | | | | | | | | ISO 8601 section 4.2.3 states that "The end of one calendar day [24:00] coincides with [00:00] at the start of the next calendar day", so fromString() was updated to account for this. Task-number: QTBUG-25387 Change-Id: I391db0da755dbc822ba0820c302a2c10391e1f3b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Replace QTEST_APPLESS_MAIN with QTEST_MAIN in tests using QProcessRohan McGovern2012-06-053-3/+3
| | | | | | | | | | QProcess requires an application object to be created in order to work correctly on Windows. Task-number: QTBUG-26023 Task-number: QTBUG-26024 Change-Id: Ifa90946262bc7e2a7df6b6aad54e10b54473fc97 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Enter initial state before QStateMachine::started() is emittedKent Hansen2012-06-041-0/+18
| | | | | | | | | | | | | | | The documentation says that started() "is emitted when the state machine has entered its initial state", but the implementation didn't adhere to that. The consequence is that if you e.g. emitted a signal from a slot connected to started(), and that signal was used by a transition from the initial state, the signal would effectively get ignored and the state machine would remain in the initial state. Task-number: QTBUG-24307 Change-Id: Ibbeb627d517eaff821d88e256a949eacf6aae350 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix typos in QState sorting functionsKent Hansen2012-06-041-2/+17
| | | | | | | | | | | | | | A QObject can't be a child of itself, so the comparison always returned false. In practice, this was causing the entry/exit order of parallel states to be random. QObject::children() is documented to contain the children in the order in which they were added, so this fix actually achieves deterministic behavior. Task-number: QTBUG-25959 Change-Id: Id3f12d6bfbc249f1d4fed0bafb7d0217093e458e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* tst_languagechange: increased timeout on WindowsRohan McGovern2012-06-041-0/+1
| | | | | | | | | | | This test's runtime significantly varies on separate runs on Windows; runtimes from 10 to 830 seconds have been observed in CI. Increase the timeout to restore CI stability. Task-number: QTBUG-26006 Change-Id: Iba153e65264a177d146b2f3647ec6ba529af7135 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* avoid redundant testsOswald Buddenhagen2012-06-011-6/+2
| | | | | | | | tryRun() already implies tryLink() and tryCompile(), so there is no point in executing the stages separately ... Change-Id: Id7321efaca474e8c5db2bc246ac26323d8a99e58 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Marked expected failures in tst_qtextlayout on WindowsRohan McGovern2012-06-011-0/+14
| | | | | | Task-number: QTBUG-25924 Change-Id: I24a8ab6a695bf76f19e9082e1d8b11d8ec03fc4f Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Add private API for working with meta-methods in signal index rangeKent Hansen2012-06-012-1/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Internally, QObject and QMetaObject already leave out non-signal methods when working with signals. This is possible because the signals always come before other types of meta-method in the meta-object data. Ignoring irrelevant methods is faster and can save memory. QMetaObject provides internal indexed-based connect() and disconnect() functions. However, these functions currently take an absolute method index as the signal specifier, instead of an absolute _signal_ index. Hence, QMetaObject and friends must convert from the method index range to the signal index range. By providing an API that only considers signal indices, clients of the index-based QMetaObject::connect()/disconnect() can provide the proper signal index directly. Similarly, for the qtdeclarative integration (QDeclarativeData hooks) the signal index can be passed directly. This will eliminate most of the conversions back and forth between signal index and method index, and some other redundant work done by qtdeclarative's custom connection implementation. There are some places where the behavior can't be changed; for example, QObject::senderSignalIndex() will still need to return an index in the method range, since that function is public API. Changing QMetaObject::connect()/disconnect() to take an index in the signal range will be done in a separate commit; this commit is only an enabler for porting existing usage of those functions to the new behavior. Change-Id: Icb475b6bbdccc74b4e7ee5bf72b944b47159cebd Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix a bug in the case conversion codeLars Knoll2012-06-011-0/+2
| | | | | | | | | | | Chars that have a case conversion that converts them into several characters can't be handled by QChar::toUpper() etc and should get ignored. The code didn't do that correctly. Change-Id: I281d122e90bf49187b6449088d2fccef2ef75e86 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix the QVector build with C++11 initialiser listsThiago Macieira2012-06-011-2/+2
| | | | | | | | | | | | Initialiser lists were not tested before in the QVector rewrite, so the older malloc call was left behind. Also, std::initializer_list has const iterators returning const data and broke the build in a few places where const qualifiers were missing. Change-Id: I3c04e58361989aa7438621cda63c7df457d7dad8 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Make QVector compile with QT_STRICT_ITERATORS againThiago Macieira2012-06-011-0/+3
| | | | | | | | | | | | Move the iterator classes into QArrayTypedData and add constBegin() and constEnd() to that class. I also had to add an operator T*() to the strict iterators, since there are many places that expect the iterator to behave like a pointer (including in QVector itself). Change-Id: Icc5ed56ad47b013664a48eef9d31b5273aecb4e3 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Make tst_qabstractnetworkcache parallel-safeRohan McGovern2012-06-012-3/+5
| | | | | | | Use a unique QTemporaryDir instead of a fixed path for the test cache. Change-Id: Ib664033a509a6cefd7c323708f80ef595b202178 Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Mark tst_qfreelist as parallel-safeRohan McGovern2012-06-011-0/+1
| | | | | | | This autotest appears to be parallel-safe. Change-Id: I12f9202633941e9339de0709353efb2b41df4fa1 Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Fix crash in QStringBuilder when concatenating data-less QLatin1StringChris Adams2012-06-011-0/+7
| | | | | | | | | Previously, the append functions in QConcatenable in the QStringBuilder dereferenced the data() pointer of the argument QLatin1String without performing null check. Change-Id: I629f19fbce3113f1f80f4272fa7ae34e1dbc6bee Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix tst_qlistwidget::fastScroll test caseMiikka Heikkinen2012-06-011-0/+5
| | | | | | | | | | | tst_qlistwidget::fastScroll fails if the mouse cursor happens to be over the tested widget, because that causes an item to highlight, resulting in unexpected region of widget to be painted. Fixed by forcing the mouse cursor off the widget before the test. Task-number: QTBUG-24299 Change-Id: I8f45541feda44681179d43eda67d970d5fea4e40 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QPA tablet event supportLaszlo Agocs2012-05-311-0/+58
| | | | | | | | | | Should be sufficient to allow implementing the actual functionality in xcb/cocoa/windows to match the Qt 4 level of tablet event support. Task-number: QTBUG-25864 Change-Id: Iebcca256dfba841d8976b58fda1b76026d3133a3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>