summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Fix QIODevice warning when running rcc.Mitch Curtis2012-06-261-0/+44
| | | | | | | | | | | | | | | | | | When opening a QFile on stdout, for example, we must not call seek as it is a sequential device. This has been flagged as a warning since commit Ie3a96d3a and has resulted in spurious warnings being emitted. In the case of opening a QFile in Append mode, QIODevice::open already sets the position marker, so calling seek is redundant. This is also true for the file engine's open function (called through openExternalFile()), which also ensures the handle or descriptor is repositioned appropriately. Task-number: QTBUG-26104 Change-Id: I71040c399efe54e7538f54433368b432e959e08d Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Add missing subdirs (the new QUrl unit tests were not compiled and run)David Faure2012-06-262-0/+3
| | | | | | Change-Id: I1b39d92b8a14d5aeca957180858e1980a534894b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QTBUG-26035: Remove positive sign from start of stringTarja Sundqvist2012-06-261-0/+18
| | | | | | | | | | | | Updated removeGroupSeparators(QLocalePrivate::CharBuff *num) so that it removes also positive sign ('+') at the start of the string. Auto test included. Task-number: QTBUG-26035 Change-Id: I8e0e071d6c682d9192a8c6bb2f282510e21b3c48 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Don't operate on bogus data, assert on preconditions insteadJoão Abecasis2012-06-231-8/+0
| | | | | | | | | | | | | | | | | | | | | | QVector::erase shouldn't try to make sense of iterators it doesn't own, so the validation being done here is bogus and dangerous. Instead, it's preferrable to assert, the user needs to ensure proper ownership. The case of erasing an empty sequence is not checked for preconditions to allow QVector v; v.erase(v.begin(), v.end()); , while being stricter on other uses. Autotests were using ill-formed calls to the single argument erase() function on an empty vector and were fixed. This function erases exactly one element, the one pointed to by abegin and require the element exist and be valid. Change-Id: I5f1a6d0d8da072eae0c73a3012620c4ce1065cf0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Skip 3 test methods if the test server isn't set up.David Faure2012-06-232-3/+8
| | | | | | | | This makes things easier for developers touching QtCore and running all QtCore unit tests. Change-Id: I7aa832a6a1be07d90cacad2eecb2364285ff3818 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix qdiriterator autotest build for WEC7.Janne Anttila2012-06-211-1/+1
| | | | | | Change-Id: I18b1bdd79905761eff7a5ddbe1c6538c33624a1f Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix qfile autotest build for WEC7Janne Anttila2012-06-212-3/+5
| | | | | | Change-Id: I6c4b4c91ea841ccb91ad685510caaecaf51baced Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Record if a metatype is a smart pointer to a QObject derived.Stephen Kelly2012-06-201-14/+17
| | | | | | | | | | | | This allows QVariant/QMetaType software (such as QtDeclarative) to deal with smart pointers in a similar way to how they can deal with naked pointers (accessing properties etc). This also adds a requirement that T be fully defined when QSharedPointer<T> is inserted into a QVariant. Change-Id: I29e12b8a6aa5f4aadbd62f92b89bc238f64b5725 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Add some internal API for extracting a QSharedPointer<T> from QVariant.Stephen Kelly2012-06-202-0/+108
| | | | | | | | | | | | | The T must be derived from QObject, or it will fail to compile. This will allow scripting or other 'wrapping' and runtime environments like QtDeclarative to handle QSharedPointers to types derived from QObject properly. A QSharedPointer<T> can be inserted into a QVariant, and where T derives from QObject, a QSharedPointer<QObject> can be extracted from the QVariant, and its properties are then accessible. Change-Id: I68d6d89aceceb019267bd7301baa2047f9c09b90 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge "Merge branch 'buildsystem'" into refs/staging/masterOswald Buddenhagen2012-06-201-2/+2
|\
| * make use of $$[FOO/get] propertiesOswald Buddenhagen2012-06-191-2/+2
| | | | | | | | | | | | | | | | this cleans up a lot of hacks supporting the build of qt, including the last bits of $QTDIR. Change-Id: Id119886ed8097967dad6cf86ebd4e71d90c42841 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* | Make QDateTime::fromString()/Time::fromString() adhere to ISO 8601.Mitch Curtis2012-06-202-20/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently QDateTime::fromString and QTime::fromString do not correctly handle fractional minutes and, in some cases, fractional seconds. In the case of reading fractional minutes, it has been decided to ignore invalid characters outside of the 5 character portion that we're interested in (see code comments in fromStringImpl() for info on why we read 5 digits). The motive is that there is a performance penalty for calling mid to get the portion of surplus string and also for converting to it to a float. This is also in line with what QDate does with surplus characters, for example. Task-number: QTBUG-14418 Task-number: QTBUG-25387 Change-Id: Ib742fe80686aff3c3770b995678cf838fb4e3bb4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Clean up QDateTime tests.Mitch Curtis2012-06-201-202/+115
| | | | | | | | | | | | | | | | Clean up and consolidate different tests in tst_qdatetime.cpp (that seem to be doing the same thing) into single tests. Change-Id: Ib6ceb1cb7fb4c6eca672495f96d9cfd907853c85 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add leading zeros to years below 1000 in QDate::toString().Mitch Curtis2012-06-201-14/+30
| | | | | | | | | | | | | | | | | | QDate::toString(Qt::ISODate) lacks prefixed 0's on years below 1000. The ISO 8601 standard dictates that this should be the case. Task-number: QTBUG-16476 Change-Id: I7e73152bba0f5894bcbaa3f4418732b74ce86bc5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add test for queued call of method with unregistered parameter typeKent Hansen2012-06-201-0/+15
|/ | | | | | | | | Verify that this produces a warning containing the relevant typename. Change-Id: I046c02585e410a211e9175600b1027dda83bdd9c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix tst_qfile opening of stdin/out/err: don't assumeThiago Macieira2012-06-181-29/+38
| | | | | | | | | | The standard streams can be redirected to a file, so don't assume anything, but try to get the actual size and position from the OS and from the C library (stdout is usually buffered, so the result of lseek might be different from ftell). Change-Id: Ice4a0aa21726671928f56a13cc07cc0e4b52091d Reviewed-by: Richard J. Moore <rich@kde.org>
* tst_QChar: drop outdated testcaseKonstantin Ritt2012-06-161-7/+0
| | | | | Change-Id: I0c06643165b299c552c697f400608e29ae4e7f7a Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make QTBF autotest support SMP code points in the test dataKonstantin Ritt2012-06-161-2/+6
| | | | | | | | I didn't do this earlier since the current test data doesn't contain any SMP code points, the Unicode 6.2 test data does - so, I can confirm this code really works. Change-Id: Ieae35e8480a89e22d846fd038e79592fefbbf2ee Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add automatic metatype declaration for QPointer and QWeakPointer.Stephen Kelly2012-06-151-8/+18
| | | | | Change-Id: Ic9a04fa68d0bb14ef07455a6559e59f4b887f38b Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Make QUnicodeTables::script() support SMP code pointsKonstantin Ritt2012-06-141-3/+31
| | | | | | | | | | | | | | | | | | | Instead of expanding the scripts table with script values for the code points >= 0x10000, it has been merged with the properties table in order to increase perfomance of the script itemization code (not affected yet). (Stats: the properties table grew up in 97428-89800 = 7628 bytes; the old scripts table was of size 7680 bytes) The outdated ScriptsInitial.txt and ScriptsCorrections.txt file has been removed (they were just empty, the "corrigendum" script corrections should be applied to Scripts.txt directly, *no customization allowed*!). More script testcases has been added - at least one per supported script. Task-number: QTBUG-6530 Change-Id: I40a9e76f681e2dd552fd4c61af0808d043962e79 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Don't use gcc extension for QByteArrayLiteral neitherLars Knoll2012-06-121-1/+1
| | | | | | | | | This extension doesn't work for e.g. default arguments in function declarations. Change-Id: I32b7afa6e01b6af55fb2409179b4fd94cb04cd8d Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Now merge the QtShared::ExternalRefCount class into QSharedPointerThiago Macieira2012-06-121-2/+2
| | | | | | | | | Completing the work of the previous commit: we don't need separate classes. Merge into the main class's body. Change-Id: I2f89b34cb6b7f5f9e8d8b809bebd86656f458644 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove "delete value" from QSharedPointerThiago Macieira2012-06-125-111/+38
| | | | | | | | | | | | | | | | | | | | | | | | This allows a QSharedPointer to be used in contexts where the class in question is still forward-declared. This produced a warning in Qt 4 due to the expansion of the template, even if there was no chance of the pointer being deleted there (because the reference count could not drop to zero). Now, not only is the warning removed, but you can actually have the reference count drop to zero in a forward-declared class and it will do the right thing. That's because the deleter function is always recorded from the point of construction and we're sure that it wasn't forward-declared. The unit test for forward-declarations had to be rewritten. The previous version was passing only because the QSharedPointer object was created under the "tracking pointers" mode, which causes a custom deleter to be used in all cases. Task-number: QTBUG-25819 Change-Id: Ife37a4cea4551d94084b49ee03504dd39b8802c1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix automatic declaration of QSharedPointer<T> metatypes.Stephen Kelly2012-06-121-4/+27
| | | | | | | | | | | | | | | | | | | | | | | QSharedPointer doesn't work like the other automatic template metatype declarations because in some cases T* is declared as a metatype, but we are interested in QSharedPointer<T> (eg QObject*). In other cases, T is declared as a metatype and we are interested in QSharedPointer<T> (eg char). In particular the macro used before this patch was attempting to get the metatype id of the element_type using for example qMetaTypeId<QObject>() instead of qMetaTypeId<QObject*>(), which did not work. Similarly, the variadic macro driven test is no good, because it was testing QSharedPointer<QObject*> instead of QSharedPointer<QObject>, so that is removed. In the end, the only thing we can sensibly automatically declare as metatypes are QSharedPointers to QObject derived types. That is also the type that makes the most sense in a QML context anyway. Change-Id: I13dd40147e2e6bedf38661f898102abaaaa96208 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Clean up and consolidate QDateTime-related tests.Mitch Curtis2012-06-123-210/+155
| | | | | | | | | | Some test functions that only test QDate and QTime were in tst_qdatetime.cpp. Upon moving these into tst_qdate.cpp and tst_qtime.cpp, there were already some similar tests so I consolidated them. Change-Id: I5f8758bf8b4804ae9d3a482f49d21de9f7a1dc03 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compilation of tests/auto/corelib/tools with QT_STRICT_ITERATORSThiago Macieira2012-06-122-22/+44
| | | | | | | | | Most fixes are simple and quite obvious. The ones more involved are the ones to QArrayData, which had probably not been compiled with strict iterators thus far. Change-Id: Ic4ff84c34fd9a04fd686fecaa98149b1c47c9346 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Use a QVector<int> instead of a QSet<int> in itemviews/models.Stephen Kelly2012-06-121-8/+6
| | | | | | | | | | | | | | The QSet<int> is a more expensive container to use and create, so it should be avoided. This is source incompatible compared to earlier Qt 5 for QAbstractItemView subclasses which reimplement dataChanged, but this patch changes nothing compared to already-present SiC compared to Qt 4. Change-Id: Id95391dfd62a0a7f487a8765790b007badefb937 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Avoid a type name normalization during auto-registration.Jędrzej Nowacki2012-06-121-1/+13
| | | | | | | Containers are auto-registered and use normalized names. Change-Id: Id65c3940401f69436929220e1f6a971135e147ed Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add a unit test to QSharedPointer being deleted by a C++11 lambdaThiago Macieira2012-06-121-0/+32
| | | | | | | | | This already worked, but let's have a test so we can be sure it doesn't regress. Change-Id: I358b436d216e3ec4310f05ccf4f70f9e7aad3281 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qmetaobject autotest independent of QtWidgetsDebao Zhang2012-06-112-9/+9
| | | | | Change-Id: I4340036a4e6024d9b8d0c7832ad7bfb28ec4bc99 Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Line Breaking Algorithm: handle the Object Replacement CharacterKonstantin Ritt2012-06-102-3/+1
| | | | | | | | See http://www.unicode.org/reports/tr14/#CB and http://www.unicode.org/reports/tr14/#LB20 for details Change-Id: Ice0aa2b2ce81f6e39839a353240420436eddd754 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Line Breaking Algorithm: don't break inside numeric expressionsKonstantin Ritt2012-06-101-25/+0
| | | | | Change-Id: I8362663454e4c6604ecb6289ae8009d47c78aeb1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update the Unicode Text Breaking Algorithm implementation testsKonstantin Ritt2012-06-105-669/+7659
| | | | | | | | | | | * The Line Breaking Algorithm implementation conformance tests has been added; * The Grapheme, Word, and Sentence Breaking Algorithm implementation conformance tests has been updated. Change-Id: Ia1a6eef6272d580964cb23788ddf30dfd5f4a5a3 Note: the Line Break test data contains some extended cases we don't currently support; just skip them for now. Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update the Unicode related autotestsKonstantin Ritt2012-06-103-76/+922
| | | | | | | | | | | Update NormalizationTest.txt data file with one from UCD 6.1; Add few more QChar::unicodeVersion() testcases; Add some line break class mapping testcases; Add some exceptional case mapping testcases; Add script class mapping test; Change-Id: I164394984abb2b893c8db62fb77e7bd87aa0850b Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qpointer autotest build without widgetsKent Hansen2012-06-102-1/+12
| | | | | | | Change-Id: Ibd05a49174e7055faa89c48659130a11418b9616 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Debao Zhang <dbzhang800@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow ISODate string without seconds in QTime::fromString().Mitch Curtis2012-06-081-0/+28
| | | | | | | | | According to ISO 8601 (section 4.2.2.3), seconds can be omitted from a string representing time. Task-number: QTBUG-2813 Change-Id: I2578f290845e46a8f49be489f1d7427984ae7f08 Reviewed-by: Thiago Macieira <thiago.macieira@intel.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 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>
* 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>
* 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-051-3/+3
| | | | | | | | 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>
* 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>