summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools
Commit message (Collapse)AuthorAgeFilesLines
* QEasingCurve: implement move constructorMarc Mutz2012-02-211-0/+6
| | | | | | | | | | | | | | | | | | | | | The move constructor sets other.d_ptr to zero. This is safe, because after being moved from, the object is left in a state in which it can be safely destroyed (delete nullptr is a no-op). It cannot meaningfully be used anymore (most members will crash with a nullptr dereference), but in most cases, the moved-from object cannot be accessed anyway (not a named object), and if a named object is moved from, it must have been through explicit std::move(), as in the test case. The STL makes better guarantees (moved-from containers are .empty()), but I don't think it's worth introducing a null state into QEasingCurve just for supporting a use-case that should be considered a bug anyway. Change-Id: I4115b7386cdea6960507da6843a0d0196d8e4139 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEasingCurve: implement move-assignment operatorMarc Mutz2012-02-211-0/+19
| | | | | | | | Implemented as in QPen etc. Change-Id: I65b43c6ec7308ca4b44f614594c15c41ab2f89f9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEasingCurve: add member-swapMarc Mutz2012-02-211-0/+7
| | | | | | | | Implementated as in QPen etc. Change-Id: Ia08551bf7902b60e115d1b1d2353030597e34841 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QLocale autotest pass for shadow builds.Jason McDonald2012-02-201-7/+1
| | | | | | | | | | | | | | For shadow builds where "make install" had not been run, the tst_QLocale::emptyCtor test function would fail to find its helper application because QFINDTESTDATA was not searching for it in the build directory due to the test not instantiating QCoreApplication. This commit fixes the test by instantiating a QCoreApplication using the QTEST_MAIN macro, which also allows some special case code for Windows CE to be removed. Change-Id: Ic81d4699da2538c24b36b3d6bd52c4a02ad417f4 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Changed qcryptographichash unittest to work from installation directoryKurt Korbatits2012-02-172-12/+4
| | | | | | | | - Changed qcryptographichash to use TESTDATA and QFINDTESTDATA Change-Id: Ic3a1bdccc9f81605c648dab2a642421d17f7fe80 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Eliminate duplicate data row names from corelib autotests.Jason McDonald2012-02-1410-115/+115
| | | | | Change-Id: I57a37f19746b76c6c9c3534f5c66c5a5478dae24 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove HP PA-RISC atomic implementation.Bradley T. Hughes2012-02-131-5/+0
| | | | | | | | | | | This architecture is obsolete and discontinued. Support for PA-RISC can be re-added if needed, but it would be preferred to use the GCC intrinsic support from qatomic_gcc.h (on Linux/HPPA, for example). Change-Id: I952e521a2c8c68840df0d44843b5487d5c20b135 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make it possible to put QObject tracked with QWeakPointer inside QSharedPointerOlivier Goffart2012-02-101-8/+25
| | | | | | | | | | | | | | | | Do that by keeping the QWeakPointer that track QObject independent of the ones that track QSharedPointer. QSharedPointer do not touch the sharedRefCount in QObjectPrivate anymore When converting a QWeakPointer constructed from a QObject to a QSharedPointer, it will display a warning saying one should not do that. Task-number: QTBUG-22622 Change-Id: I3595e3e7401702410776c458687ab357ad9366ab Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fixed qsharedpointer unittest to run from installation directoryKurt Korbatits2012-02-101-1/+1
| | | | | | | | - Only run invalidConstructs() tests if not cross compiled Change-Id: If99fccdf9bca339507ca60c49aa89dc35c535d3d Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Make "nmake check" pass for corelib tests in Windows.Miikka Heikkinen2012-02-092-0/+5
| | | | | | | | | | | | | | | | | | - Marked four tests insignificant due to failures, these need to be fixed later and then re-enabled: - tst_qfilesystemwatcher - tst_qsettings - tst_qlibrary - tst_qsharedpointer - Skipped one invalid case (tst_QCoreApplication::argc()) - Ifdeffed around vsprintf issue in MSVC (tst_QByteArray::qvsnprintf()) Task-number: QTBUG-24157 Task-number: QTBUG-24146 Task-number: QTBUG-24128 Change-Id: I4db957a65fbf0093f5ae3dc1a04d792492818104 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* SIC: QLocale: Make QSystemLocale a private classJohn Layt2012-02-051-40/+0
| | | | | | | | | | As discussed on list and approved by Lars and Thiago. Make QSystemLocale private to give us time and space to change it to a better implementation. Change-Id: Ifd806972f3996c43a876f544f78c6557ad71cd75 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QString: Make convert to number methods only use C localeJohn Layt2012-02-051-149/+88
| | | | | | | | Ensure consistent conversions by not using the system default locale. Change-Id: I60db9fc4f465c0254f3213419e57d7879aaddd65 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add movability tests for QByteArray.Jędrzej Nowacki2012-02-051-1/+81
| | | | | | | QByteArray is declared as movable but it was not tested before. Change-Id: I4fb636f8705c3fd792a768872206203ee5fd4ddb Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* QDateTime: Remove Julian CalendarJohn Layt2012-02-052-51/+22
| | | | | | | | | Convert QDate to only use Gregorian calendar and not Julian calendar before 1582. In future the Julian can be used via proper calendar classes. Change-Id: I547a3550332057a0ab1be616706630b6afaceffc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime: Store Julian Day as qint64John Layt2012-02-052-75/+216
| | | | | | | | | | | | | | | Store the QDate Julian Day number as an qint64 instead of uint32 to enable support for dates before 2 January 4713 BCE. This changes the possible date range to be approx 2.5 Quadrillion BC to 2.5 Quadrillion AD. A qint32 was not used as it only covers 5 million BCE to 5 million CE which does include Geological or Astronomical time. The effective supported date range is currently 4800 BCE to 1.4 million CE due to restrictions in existing conversion formulas. The effective range will be extended later with new formulas. Change-Id: Ib4345369455b31d4edae8c933b7721e76414e914 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixed qsharedpointer unittest on windowsKurt Korbatits2012-02-031-1/+5
| | | | | | | - Use source file location as working directory for externaltests Change-Id: Ic05259f48eece920b348ccbde9ba80c90dedfdd2 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix QString::operator=(QLatin1String) for substringsKent Hansen2012-02-021-0/+23
| | | | | | | | | QLatin1String now has a constructor that takes explicit length, which makes it possible to create a QLatin1String that isn't null-terminated. Made QString::operator=(QLatin1String) work in that case. Change-Id: Ie77eabd2f8f036531d67cd8051a7b6305b386ccf Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix QString(QLatin1String) constructor for substringsKent Hansen2012-02-021-0/+9
| | | | | | | | | QLatin1String now has a constructor that takes explicit length, which makes it possible to create a QLatin1String that isn't null-terminated. Made the QString(QLatin1String) constructor work in that case. Change-Id: I4f4f07a956144b7ea4aa9c58a61c755fb99ef1b3 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix operator==(QLatin1String, QLatin1String) and friends for substringsKent Hansen2012-02-021-0/+83
| | | | | | | | | QLatin1String now has a constructor that takes explicit length, which makes it possible to create a QLatin1String that isn't null-terminated. Made the QLatin1String comparison operators work in that case. Change-Id: I234ba851e67a6f5cfbb46fb6f0b22623ce40be28 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove many deprecated methodsLars Knoll2012-01-311-1/+1
| | | | | | | | | | Remove methods that have been marked as deprecated before Qt 4.6. Keep others, but inline them where possible and mark them as QT_DEPRECATED_SINCE(5, 0). Change-Id: If881821ae095f054b31cc13464f19e2007c20ed7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* QDateTime: Add validity checksJohn Layt2012-01-312-2/+51
| | | | | | | Check the validity of date/time before attempting to perform maths. Change-Id: Ia6a2caf07c6c36f7d7fac713a77bc4eb456c6ed6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime: Add missing QDate Unit TestsJohn Layt2012-01-311-0/+137
| | | | | Change-Id: Idcc93cdc29739f0108b5629402b6b7a4b2c86657 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime: Deprecate setYMD()John Layt2012-01-311-0/+2
| | | | | | Change-Id: I077332df554fb750666d51486c97724411276679 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix bugs when using a non 0 terminated QLatin1StringLars Knoll2012-01-301-0/+7
| | | | | | | | | | A few methods in QString still assumed that QLatin1String is always 0 terminated. Change this to rely on the size provided by QLatin1String instead. Change-Id: I9145a46e52ed8811f3b4e3d72d8a81a12588760a Reviewed-by: Kevin Simons <kevin.simons@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3055-55/+55
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fixed QString::operator<(QLatin1String)Denis Dzyubenko2012-01-261-0/+12
| | | | | | | | | | | | | | QLatin1String now has a constructor that takes explicit length, which makes it possible to create QLatin1String that do not have null-termination character. Fixed QString::operator> and < to be safe in that case. In the same patch fixed qtjson which had operator< implemented in the same way. QString::compare(QLatin1String) is still broken and will be fixed separately. Change-Id: I48ec1183a6f44034129cc17312af854795085408 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix a couple of edge cases for WildcardUnix matchingAndy Shaw2012-01-261-1/+3
| | | | | | | | | | | | | | Fix a couple of cases where WildcardUnix was not matching when the string was just [] or ended with a \. The testWildcardEscaping() test has been extended to account for these two cases too. Integrate 7ce3726aea4be2dfdb57966a4482f66fec6f8f57 from 4.8 Task-number: QTBUG-20897 Change-Id: I7a07ac008473fa7a080db752e189f6404842603f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make mid() and midRef() properly return empty, non-null objectsGiuseppe D'Angelo2012-01-241-0/+8
| | | | | | | | | | | If we request a substring starting at the very end of the string, QString::mid should return an empty string, not a null string. For instance, QString("abc").mid(3, 0) used to return a null one, while this patch makes it return an empty one. The same thing applies to QString::midRef() and QByteArray::mid(). Change-Id: Ie9efd7a0622d429efd0fb682c19856c19e9469af Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2355-55/+55
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Minor style fixups.Robin Burchell2012-01-211-17/+12
| | | | | | | Add spaces where necessary, and pull braces back to the same line. Change-Id: If543686c9727a110f8a91f1a88e08d5d2ac12284 Reviewed-by: Richard J. Moore <rich@kde.org>
* Changed qsharedpointer unittest to use build qmake over system one.Kurt Korbatits2012-01-171-1/+12
| | | | | | | | | | - If we can find the qmake belonging to the build, use that instead of qmake from the PATH for compiling subtests. Change-Id: I9445754bb02dab11c3e1bbe9dc459ecc682689a4 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Changed unittests in corelib to use specific headers instead of super-headers.Kurt Korbatits2012-01-161-1/+1
| | | | | | | | | | | | Modified unittests to use specific class headers instead of using super-headers like QtCore that pull in all the headers for the module. - Decreasing build time. Change-Id: I9c3fd0767be15205893bb406f609c8283a2a3a5a Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Avoid using 'check' in QSharedPointer test.Stephen Kelly2012-01-091-42/+42
| | | | | | | Avoids conflict with macro on Mac OS. Change-Id: Ia8301f52c879d941eece0fa6ae47a4c21d4e6490 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove the Q_TYPENAME define.Stephen Kelly2012-01-081-1/+1
| | | | | | | | | | | | | It is mostly not used (most places in Qt use typename directly), so is already not very useful. For example typename is used in: QDataStream& operator<<(QDataStream& s, const QVector<T>& v) Change-Id: I85337ad7d8d4ebbb424bfa2ab9a356456ff3e90f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove redundant class from QStringMatcher test.Jason McDonald2012-01-061-10/+4
| | | | | | | | | The removed class was evidently attempting to promote protected members of its base class to public, but the way this was done doesn't work and doing so wasn't actually necessary for the test. Change-Id: I15e0c31891da08cacee1054e15596a79a058b466 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0555-55/+55
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Implement (and unit test) simple QVarLengthArray::first()/last().Robin Burchell2012-01-021-0/+46
| | | | | | | | | Pure syntactical sugar, to match up with what the other container classes offer. Change-Id: I0f97de011923d9d204cca0fa906b059dc5054a89 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Cleanup corelib autotests.Jason McDonald2011-12-281-0/+12
| | | | | | | | | | | | | When using QSignalSpy, always verify that the signal spy is valid. This will cause the test to give a meaningful failure when spying on a non-existant signal. Without this change, tests that spy on a signal to ensure that it is not emitted (i.e. by comparing the spy count to zero) could pass erroneously if something went wrong when creating the signal spy, as an invalid QSignalSpy will always return a count of zero. Change-Id: I41f4a63d9f0de9190a86de237662dc96be802446 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove mentions of Trolltech from QRegExp autotest.Jason McDonald2011-12-281-2/+2
| | | | | | | Task-number: QTBUG-19653 Change-Id: I55ae6bed6fb2177cdc842de34ef31ae98d0d3237 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* add tests and benchmarks for QString::toLower()/toUpper()/toCaseFolded()Konstantin Ritt2011-12-251-5/+87
| | | | | | | | | Merge-request: 70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Change-Id: I3929d4d8963c3cef6d2c6420d8ad1f7a45f7e042 Reviewed-by: Olivier Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove empty functions from QSet autotest.Jason McDonald2011-12-251-4/+0
| | | | | Change-Id: Id6fac3a83e3f4385ee1978a19e6dc92605f4abdb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QCryptographicHash: allow to hash the content of a QIODeviceSune Vuorela2011-12-224-0/+44
| | | | | | | | | | | This adds a new function (and tests) to give the possibility of doing a QCryptographicHash of a QIODevice, like a QFile or whatever people needs. It is a quite handy overload in many cases. Change-Id: I22fd272f05571844641b3daefcc6746be4e5c7c3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QT_NO_STL_WCHAR hackHarald Fernengel2011-12-221-7/+1
| | | | | | | We don't support gcc 2.95 any more. Change-Id: I842f1f8ac64b9006516c104add0991830ac9a46a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QVarLengthArray::length().Robin Burchell2011-12-121-0/+62
| | | | | | | | | | | This also adds a unit test for length()/count()/size(), since there wasn't one testing it explicitly. Change-Id: Ifb7f113aa97beef5f76e5fb246eb38495344b0ad Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Marco Schmidt <Marco.Schmidt@Taugamma.de> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove QMetaObject guards and deprecate QPointer.Bradley T. Hughes2011-12-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QWeakPointer is superior and preferred. Remove QMetaObject::addGuard(), QMetaObject::changeGuard(), QMetaObject::removeGuard(), and QObjectPrivate::clearGuards(). Implement QPointer using QWeakPointer<T> instead. This changes the behavior of QPointer in 2 ways: - During destruction of a QWidget. Previously, the destructor of QWidget would reset all QPointers so that they would return zero when destroying children. Update tst_QPointer to account for this change. - When constructing a QSharedPointer to take ownership of an object after a QPointer is already tracking the object. Previously, the shared pointer construction would not be affected by the QPointer, but now that QPointer is implemented using QWeakPoiner, constructing the QSharedPointer will cause an abort(). Fix tst_QSharedPointer by removing the use of QPointer in the objectCast() test. These behavior changes are documented in the QPointer class documentation and in the changes file. Change-Id: I92d0276219c076ece7bcb60f6e1b9120ce4f5747 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Port externaltests.cpp to QTemporaryDirDavid Faure2011-12-071-69/+23
| | | | | Change-Id: I6097ea92dd4b300cb562510e0ea27cee3c01b466 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix tst_QSharedPointer invalidConstructs:forward-declaration failureBradley T. Hughes2011-12-061-0/+6
| | | | | | | | | | When using clang, the forward-declaration test fails to link, unlike with other compilers. The standard says that deleting a forward-declared pointer is undefined behavior, so the link failure is a valid result of trying to do so. Change-Id: I527b91c15b7d51d9522d95af0630e7dacd26bb30 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove TESTED_CLASS/TESTED_FILES comments from tests.Jason McDonald2011-12-0633-99/+0
| | | | | | | | | These comments were mostly empty or inaccurate. Appropriate naming of tests and appropriate placement of tests within the directory tree provide more reliable indicators of what is being tested. Change-Id: Ib6bf373d9e79917e4ab1417ee5c1264a2c2d7027 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove cast and assignment operators from QAtomicInt and QAtomicPointerBradley T. Hughes2011-12-021-2/+2
| | | | | | | | | | | | | | | | | | | This is a source incompatible change. There is concern that the convenience of the implicit cast and assignment operators can lead to misuse. Several commits have already been done that remove excess use of the implicit cast, which is a *volatile* read every time it's used. Users of the QAtomic* API should have to think about when they are loading the value, and if they do or don't need the acquire memory barrier on load. The code that people would write using this API is meant to be multi-threaded, concurrent, and correct. The API should not allow them to inadvertently, possibly unknowingly, shoot themselves in the foot. SC-break-rubber-stamped-by: Lars Knoll Change-Id: I88fbc26d9db7b5ec80a58ad6271ffa13bbfd191f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixed installation of corelib testsRohan McGovern2011-12-0112-48/+26
| | | | | | | | | | | | | | | | | In .pro files, removed wince/symbian-specific DEPLOYMENT cases and replaced them with TESTDATA where appropriate. In .cpp files, removed SRCDIR and relative paths to testdata and replaced them with the QFINDTESTDATA macro where appropriate. Modified test helper apps/libs to install themselves under the test they relate to. This change allows corelib tests to be correctly installed, along with their testdata, via `make install'. Change-Id: I5e202e2f3b577af7e39072d5c9fe13e0ca125304 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>