diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-02-12 01:13:46 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-02-12 01:13:46 (GMT) |
commit | 0f6b319105b7e4305bc5ac1c5091f8a55be9b545 (patch) | |
tree | 24916212a2e49bf623f6a6f265c5643128c204fb /tests | |
parent | c633ce4346fa04584e5168b77924ca6a42601435 (diff) | |
parent | 86372d8d9bf081b2a1ab2df7942f41309b1842fa (diff) | |
download | Qt-0f6b319105b7e4305bc5ac1c5091f8a55be9b545.zip Qt-0f6b319105b7e4305bc5ac1c5091f8a55be9b545.tar.gz Qt-0f6b319105b7e4305bc5ac1c5091f8a55be9b545.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/mobility-staging into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/mobility-staging: (165 commits)
Add 'We mean it.' header.
Use provided typedef for QNetworkConfigurationPrivatePointer.
Fix public includes.
Document networkSessionOnline() signal and mark as internal.
Tag new classes as since 4.7.
Fix documentation.
Remove debug.
Update copyright year to 2010.
We don't need to migrate cached replies.
Fix after reworking to use signals/slots.
Remove debug.
Rename and remove unused private slots.
Add comments to private state enums.
Revert "(ODBC) Use wchar_t instead of assuming 2 bytes."
Move check for range header support to before deleting backend.
Don't try to migrate finished or aborted requests.
Clarify TemporaryNetworkFailureError docs.
Remove functions used for testing.
Connect signals between QNAM and QNetworkReplyImpl.
Fix networkAccessEnabled implementation.
...
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/auto.pro | 3 | ||||
-rw-r--r-- | tests/auto/qabstractitemview/tst_qabstractitemview.cpp | 11 | ||||
-rw-r--r-- | tests/auto/qbearertestcommon.h | 74 | ||||
-rw-r--r-- | tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 2 | ||||
-rw-r--r-- | tests/auto/qimagereader/tst_qimagereader.cpp | 29 | ||||
-rw-r--r-- | tests/auto/qlineedit/tst_qlineedit.cpp | 28 | ||||
-rw-r--r-- | tests/auto/qlistview/tst_qlistview.cpp | 86 | ||||
-rw-r--r-- | tests/auto/qnetworkconfigmanager/qnetworkconfigmanager.pro | 15 | ||||
-rw-r--r-- | tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp | 335 | ||||
-rw-r--r-- | tests/auto/qnetworkconfiguration/qnetworkconfiguration.pro | 15 | ||||
-rw-r--r-- | tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp | 303 | ||||
-rw-r--r-- | tests/auto/qnetworksession/lackey/lackey.pro | 10 | ||||
-rw-r--r-- | tests/auto/qnetworksession/lackey/main.cpp | 145 | ||||
-rw-r--r-- | tests/auto/qnetworksession/qnetworksession.pro | 2 | ||||
-rw-r--r-- | tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp | 919 | ||||
-rw-r--r-- | tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.pro | 15 | ||||
-rw-r--r-- | tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp | 1 | ||||
-rw-r--r-- | tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp | 64 | ||||
-rw-r--r-- | tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp | 14 | ||||
-rw-r--r-- | tests/auto/qscriptvalue/testgen/data.txt | 4 | ||||
-rwxr-xr-x | tests/auto/qscriptvalue/testgen/gen.py | 2 | ||||
-rw-r--r-- | tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp | 127 | ||||
-rw-r--r-- | tests/auto/qsqldatabase/tst_qsqldatabase.cpp | 20 | ||||
-rw-r--r-- | tests/auto/qtextcodec/tst_qtextcodec.cpp | 46 | ||||
-rw-r--r-- | tests/auto/qwidget/tst_qwidget.cpp | 11 | ||||
-rw-r--r-- | tests/benchmarks/benchmarks.pro | 52 | ||||
-rw-r--r-- | tests/benchmarks/corelib/corelib.pro | 6 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/io.pro | 9 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qdir/qdir.pro (renamed from tests/benchmarks/qdir/qdir.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qdir/tst_qdir.cpp (renamed from tests/benchmarks/qdir/tst_qdir.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qdiriterator/main.cpp (renamed from tests/benchmarks/qdiriterator/main.cpp) | 0 | ||||
-rwxr-xr-x | tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro (renamed from tests/benchmarks/qdiriterator/qdiriterator.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp (renamed from tests/benchmarks/qdiriterator/qfilesystemiterator.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.h (renamed from tests/benchmarks/qdiriterator/qfilesystemiterator.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qfile/main.cpp (renamed from tests/benchmarks/qfile/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qfile/qfile.pro (renamed from tests/benchmarks/qfile/qfile.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qfileinfo/main.cpp (renamed from tests/benchmarks/qfileinfo/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro (renamed from tests/benchmarks/qfileinfo/qfileinfo.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qiodevice/main.cpp (renamed from tests/benchmarks/qiodevice/main.cpp) | 0 | ||||
-rwxr-xr-x | tests/benchmarks/corelib/io/qiodevice/qiodevice.pro (renamed from tests/benchmarks/qiodevice/qiodevice.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qtemporaryfile/main.cpp (renamed from tests/benchmarks/qtemporaryfile/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/io/qtemporaryfile/qtemporaryfile.pro (renamed from tests/benchmarks/qtemporaryfile/qtemporaryfile.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/events/events.pro (renamed from tests/benchmarks/events/events.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/events/main.cpp (renamed from tests/benchmarks/events/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/kernel.pro | 6 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/qmetaobject/main.cpp (renamed from tests/benchmarks/qmetaobject/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/qmetaobject/qmetaobject.pro (renamed from tests/benchmarks/qmetaobject/qmetaobject.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/qobject/main.cpp (renamed from tests/benchmarks/qobject/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/qobject/object.cpp (renamed from tests/benchmarks/qobject/object.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/qobject/object.h (renamed from tests/benchmarks/qobject/object.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/qobject/qobject.pro (renamed from tests/benchmarks/qobject/qobject.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/qvariant/qvariant.pro (renamed from tests/benchmarks/qvariant/qvariant.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp (renamed from tests/benchmarks/qvariant/tst_qvariant.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/thread/qthreadstorage/qthreadstorage.pro (renamed from tests/benchmarks/qthreadstorage/qthreadstorage.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp (renamed from tests/benchmarks/qthreadstorage/tst_qthreadstorage.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/thread/thread.pro | 3 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/containers-associative/containers-associative.pro (renamed from tests/benchmarks/containers-associative/containers-associative.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/containers-associative/main.cpp (renamed from tests/benchmarks/containers-associative/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/containers-sequential/containers-sequential.pro (renamed from tests/benchmarks/containers-sequential/containers-sequential.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/containers-sequential/main.cpp (renamed from tests/benchmarks/containers-sequential/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qbytearray/main.cpp (renamed from tests/benchmarks/qbytearray/main.cpp) | 0 | ||||
-rwxr-xr-x | tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro (renamed from tests/benchmarks/qbytearray/qbytearray.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qrect/main.cpp (renamed from tests/benchmarks/qrect/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qrect/qrect.pro (renamed from tests/benchmarks/qrect/qrect.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qregexp/main.cpp (renamed from tests/benchmarks/qregexp/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qregexp/qregexp.pro (renamed from tests/benchmarks/qregexp/qregexp.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qstring/main.cpp (renamed from tests/benchmarks/qstring/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qstring/qstring.pro (renamed from tests/benchmarks/qstring/qstring.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qstring/utf-8.txt (renamed from tests/benchmarks/qstring/utf-8.txt) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qstringbuilder/main.cpp (renamed from tests/benchmarks/qstringbuilder/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qstringbuilder/qstringbuilder.pro (renamed from tests/benchmarks/qstringbuilder/qstringbuilder.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qstringlist/.gitignore (renamed from tests/benchmarks/qstringlist/.gitignore) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qstringlist/main.cpp (renamed from tests/benchmarks/qstringlist/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qstringlist/qstringlist.pro (renamed from tests/benchmarks/qstringlist/qstringlist.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/tools.pro | 10 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/animation.pro | 2 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/qanimation/dummyanimation.cpp (renamed from tests/benchmarks/qanimation/dummyanimation.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/qanimation/dummyanimation.h (renamed from tests/benchmarks/qanimation/dummyanimation.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/qanimation/dummyobject.cpp (renamed from tests/benchmarks/qanimation/dummyobject.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/qanimation/dummyobject.h (renamed from tests/benchmarks/qanimation/dummyobject.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/qanimation/main.cpp (renamed from tests/benchmarks/qanimation/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/qanimation/qanimation.pro (renamed from tests/benchmarks/qanimation/qanimation.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/qanimation/rectanimation.cpp (renamed from tests/benchmarks/qanimation/rectanimation.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/animation/qanimation/rectanimation.h (renamed from tests/benchmarks/qanimation/rectanimation.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/graphicsview.pro | 7 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/qgraphicsanchorlayout.pro (renamed from tests/benchmarks/qgraphicsanchorlayout/qgraphicsanchorlayout.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp (renamed from tests/benchmarks/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsitem/qgraphicsitem.pro (renamed from tests/benchmarks/qgraphicsitem/qgraphicsitem.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp (renamed from tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsscene/qgraphicsscene.pro (renamed from tests/benchmarks/qgraphicsscene/qgraphicsscene.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp (renamed from tests/benchmarks/qgraphicsscene/tst_qgraphicsscene.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.debug (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug) | bin | 863805 -> 863805 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.h (renamed from tests/benchmarks/qgraphicsview/chiptester/chip.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.pro (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/fileprint.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png) | bin | 1456 -> 1456 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/images.qrc (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/main.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.h (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/qt4logo.png (renamed from tests/benchmarks/qgraphicsview/chiptester/qt4logo.png) | bin | 48333 -> 48333 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateleft.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png) | bin | 1754 -> 1754 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateright.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png) | bin | 1732 -> 1732 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.h (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomin.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png) | bin | 1622 -> 1622 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomout.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png) | bin | 1601 -> 1601 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/moveItems.pro (renamed from tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp (renamed from tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/scrolltest.pro (renamed from tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.cpp (renamed from tests/benchmarks/qgraphicsview/chiptester/chip.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.h (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.cpp (renamed from tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.h (renamed from tests/benchmarks/qgraphicsview/chiptester/chiptester.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.pri (renamed from tests/benchmarks/qgraphicsview/chiptester/chiptester.pri) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/images.qrc (renamed from tests/benchmarks/qgraphicsview/chiptester/images.qrc) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/qt4logo.png (renamed from tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png) | bin | 48333 -> 48333 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/images/designer.png (renamed from tests/benchmarks/qgraphicsview/images/designer.png) | bin | 4205 -> 4205 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine-big.jpeg (renamed from tests/benchmarks/qgraphicsview/images/wine-big.jpeg) | bin | 12249 -> 12249 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine.jpeg (renamed from tests/benchmarks/qgraphicsview/images/wine.jpeg) | bin | 2265 -> 2265 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro (renamed from tests/benchmarks/qgraphicsview/qgraphicsview.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.qrc (renamed from tests/benchmarks/qgraphicsview/qgraphicsview.qrc) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/random.data (renamed from tests/benchmarks/qgraphicsview/random.data) | bin | 800 -> 800 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp (renamed from tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp) | 28 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicswidget/qgraphicswidget.pro (renamed from tests/benchmarks/qgraphicswidget/qgraphicswidget.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp (renamed from tests/benchmarks/qgraphicswidget/tst_qgraphicswidget.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/gui.pro | 11 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/blendbench/blendbench.pro (renamed from tests/benchmarks/blendbench/blendbench.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/blendbench/main.cpp (renamed from tests/benchmarks/blendbench/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/image.pro | 6 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/16bpp.bmp (renamed from tests/benchmarks/qimagereader/images/16bpp.bmp) | bin | 153654 -> 153654 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/4bpp-rle.bmp (renamed from tests/benchmarks/qimagereader/images/4bpp-rle.bmp) | bin | 23662 -> 23662 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.jpg (renamed from tests/benchmarks/qimagereader/images/YCbCr_cmyk.jpg) | bin | 3699 -> 3699 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.png (renamed from tests/benchmarks/qimagereader/images/YCbCr_cmyk.png) | bin | 230 -> 230 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/YCbCr_rgb.jpg (renamed from tests/benchmarks/qimagereader/images/YCbCr_rgb.jpg) | bin | 2045 -> 2045 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/away.png (renamed from tests/benchmarks/qimagereader/images/away.png) | bin | 753 -> 753 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/ball.mng (renamed from tests/benchmarks/qimagereader/images/ball.mng) | bin | 34394 -> 34394 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/bat1.gif (renamed from tests/benchmarks/qimagereader/images/bat1.gif) | bin | 953 -> 953 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/bat2.gif (renamed from tests/benchmarks/qimagereader/images/bat2.gif) | bin | 980 -> 980 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/beavis.jpg (renamed from tests/benchmarks/qimagereader/images/beavis.jpg) | bin | 20688 -> 20688 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/black.png (renamed from tests/benchmarks/qimagereader/images/black.png) | bin | 697 -> 697 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/black.xpm (renamed from tests/benchmarks/qimagereader/images/black.xpm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/colorful.bmp (renamed from tests/benchmarks/qimagereader/images/colorful.bmp) | bin | 65002 -> 65002 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt-colors.xpm (renamed from tests/benchmarks/qimagereader/images/corrupt-colors.xpm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt-data.tif (renamed from tests/benchmarks/qimagereader/images/corrupt-data.tif) | bin | 8590 -> 8590 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt-pixels.xpm (renamed from tests/benchmarks/qimagereader/images/corrupt-pixels.xpm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt.bmp (renamed from tests/benchmarks/qimagereader/images/corrupt.bmp) | bin | 116 -> 116 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt.gif (renamed from tests/benchmarks/qimagereader/images/corrupt.gif) | bin | 2608 -> 2608 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt.jpg (renamed from tests/benchmarks/qimagereader/images/corrupt.jpg) | bin | 18 -> 18 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt.mng (renamed from tests/benchmarks/qimagereader/images/corrupt.mng) | bin | 183 -> 183 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt.png (renamed from tests/benchmarks/qimagereader/images/corrupt.png) | bin | 95 -> 95 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/corrupt.xbm (renamed from tests/benchmarks/qimagereader/images/corrupt.xbm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/crash-signed-char.bmp (renamed from tests/benchmarks/qimagereader/images/crash-signed-char.bmp) | bin | 45748 -> 45748 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/earth.gif (renamed from tests/benchmarks/qimagereader/images/earth.gif) | bin | 51712 -> 51712 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/fire.mng (renamed from tests/benchmarks/qimagereader/images/fire.mng) | bin | 44430 -> 44430 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/font.bmp (renamed from tests/benchmarks/qimagereader/images/font.bmp) | bin | 1026 -> 1026 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/gnus.xbm (renamed from tests/benchmarks/qimagereader/images/gnus.xbm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/image.pbm (renamed from tests/benchmarks/qimagereader/images/image.pbm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/image.pgm (renamed from tests/benchmarks/qimagereader/images/image.pgm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/image.png (renamed from tests/benchmarks/qimagereader/images/image.png) | bin | 549 -> 549 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/image.ppm (renamed from tests/benchmarks/qimagereader/images/image.ppm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/kollada-noext (renamed from tests/benchmarks/qimagereader/images/kollada-noext) | bin | 13907 -> 13907 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/kollada.png (renamed from tests/benchmarks/qimagereader/images/kollada.png) | bin | 13907 -> 13907 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/marble.xpm (renamed from tests/benchmarks/qimagereader/images/marble.xpm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/namedcolors.xpm (renamed from tests/benchmarks/qimagereader/images/namedcolors.xpm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/negativeheight.bmp (renamed from tests/benchmarks/qimagereader/images/negativeheight.bmp) | bin | 24630 -> 24630 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/noclearcode.bmp (renamed from tests/benchmarks/qimagereader/images/noclearcode.bmp) | bin | 326 -> 326 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/noclearcode.gif (renamed from tests/benchmarks/qimagereader/images/noclearcode.gif) | bin | 130 -> 130 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/nontransparent.xpm (renamed from tests/benchmarks/qimagereader/images/nontransparent.xpm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/pngwithcompressedtext.png (renamed from tests/benchmarks/qimagereader/images/pngwithcompressedtext.png) | bin | 757 -> 757 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/pngwithtext.png (renamed from tests/benchmarks/qimagereader/images/pngwithtext.png) | bin | 796 -> 796 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/rgba_adobedeflate_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_adobedeflate_littleendian.tif) | bin | 4784 -> 4784 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/rgba_lzw_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_lzw_littleendian.tif) | bin | 26690 -> 26690 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_bigendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_nocompression_bigendian.tif) | bin | 160384 -> 160384 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_nocompression_littleendian.tif) | bin | 160388 -> 160388 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/rgba_packbits_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_packbits_littleendian.tif) | bin | 161370 -> 161370 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/rgba_zipdeflate_littleendian.tif (renamed from tests/benchmarks/qimagereader/images/rgba_zipdeflate_littleendian.tif) | bin | 14728 -> 14728 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/runners.ppm (renamed from tests/benchmarks/qimagereader/images/runners.ppm) | bin | 960016 -> 960016 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/task210380.jpg (renamed from tests/benchmarks/qimagereader/images/task210380.jpg) | bin | 975535 -> 975535 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/teapot.ppm (renamed from tests/benchmarks/qimagereader/images/teapot.ppm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/test.ppm (renamed from tests/benchmarks/qimagereader/images/test.ppm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/test.xpm (renamed from tests/benchmarks/qimagereader/images/test.xpm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/transparent.xpm (renamed from tests/benchmarks/qimagereader/images/transparent.xpm) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/trolltech.gif (renamed from tests/benchmarks/qimagereader/images/trolltech.gif) | bin | 42629 -> 42629 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/tst7.bmp (renamed from tests/benchmarks/qimagereader/images/tst7.bmp) | bin | 582 -> 582 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/images/tst7.png (renamed from tests/benchmarks/qimagereader/images/tst7.png) | bin | 167 -> 167 bytes | |||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/qimagereader.pro (renamed from tests/benchmarks/qimagereader/qimagereader.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp (renamed from tests/benchmarks/qimagereader/tst_qimagereader.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qpixmap/qpixmap.pro (renamed from tests/benchmarks/qpixmap/qpixmap.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp (renamed from tests/benchmarks/qpixmap/tst_qpixmap.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qpixmapcache/qpixmapcache.pro (renamed from tests/benchmarks/qpixmapcache/qpixmapcache.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/image/qpixmapcache/tst_qpixmapcache.cpp (renamed from tests/benchmarks/qpixmapcache/tst_qpixmapcache.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/itemviews/itemviews.pro | 3 | ||||
-rw-r--r-- | tests/benchmarks/gui/itemviews/qtableview/qtableview.pro (renamed from tests/benchmarks/qtableview/qtableview.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/itemviews/qtableview/tst_qtableview.cpp (renamed from tests/benchmarks/qtableview/tst_qtableview.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/kernel/kernel.pro | 4 | ||||
-rw-r--r-- | tests/benchmarks/gui/kernel/qapplication/main.cpp (renamed from tests/benchmarks/qapplication/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/kernel/qapplication/qapplication.pro (renamed from tests/benchmarks/qapplication/qapplication.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/kernel/qwidget/qwidget.pro (renamed from tests/benchmarks/qwidget/qwidget.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp (renamed from tests/benchmarks/qwidget/tst_qwidget.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/math3d/math3d.pro | 4 | ||||
-rw-r--r-- | tests/benchmarks/gui/math3d/qmatrix4x4/qmatrix4x4.pro (renamed from tests/benchmarks/qmatrix4x4/qmatrix4x4.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/math3d/qmatrix4x4/tst_qmatrix4x4.cpp (renamed from tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/math3d/qquaternion/qquaternion.pro (renamed from tests/benchmarks/qquaternion/qquaternion.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/math3d/qquaternion/tst_qquaternion.cpp (renamed from tests/benchmarks/qquaternion/tst_qquaternion.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/painting/painting.pro | 5 | ||||
-rw-r--r-- | tests/benchmarks/gui/painting/qpainter/qpainter.pro (renamed from tests/benchmarks/qpainter/qpainter.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp (renamed from tests/benchmarks/qpainter/tst_qpainter.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/painting/qregion/main.cpp (renamed from tests/benchmarks/qregion/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/painting/qregion/qregion.pro (renamed from tests/benchmarks/qregion/qregion.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/painting/qtransform/qtransform.pro (renamed from tests/benchmarks/qtransform/qtransform.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp (renamed from tests/benchmarks/qtransform/tst_qtransform.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp (renamed from tests/benchmarks/qstylesheetstyle/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/styles/qstylesheetstyle/qstylesheetstyle.pro (renamed from tests/benchmarks/qstylesheetstyle/qstylesheetstyle.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/styles/styles.pro | 3 | ||||
-rw-r--r-- | tests/benchmarks/gui/text/qfontmetrics/main.cpp (renamed from tests/benchmarks/qfontmetrics/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/text/qfontmetrics/qfontmetrics.pro (renamed from tests/benchmarks/qfontmetrics/qfontmetrics.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/text/qtext/bidi.txt (renamed from tests/benchmarks/qtext/bidi.txt) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/text/qtext/main.cpp (renamed from tests/benchmarks/qtext/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/text/qtext/qtext.pro (renamed from tests/benchmarks/qtext/qtext.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/gui/text/text.pro | 4 | ||||
-rw-r--r-- | tests/benchmarks/network/access/access.pro | 4 | ||||
-rw-r--r-- | tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/main.cpp (renamed from tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp) | 2 | ||||
-rw-r--r-- | tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro (renamed from tests/benchmarks/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/network/access/qnetworkreply/qnetworkreply.pro (renamed from tests/benchmarks/qnetworkreply/qnetworkreply.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp (renamed from tests/benchmarks/qnetworkreply/tst_qnetworkreply.cpp) | 2 | ||||
-rw-r--r-- | tests/benchmarks/network/kernel/kernel.pro | 3 | ||||
-rw-r--r-- | tests/benchmarks/network/kernel/qhostinfo/main.cpp (renamed from tests/benchmarks/qhostinfo/main.cpp) | 0 | ||||
-rwxr-xr-x | tests/benchmarks/network/kernel/qhostinfo/qhostinfo.pro (renamed from tests/benchmarks/qhostinfo/qhostinfo.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/network/network.pro | 5 | ||||
-rw-r--r-- | tests/benchmarks/network/socket/qtcpserver/qtcpserver.pro (renamed from tests/benchmarks/qtcpserver/qtcpserver.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp (renamed from tests/benchmarks/qtcpserver/tst_qtcpserver.cpp) | 2 | ||||
-rw-r--r-- | tests/benchmarks/network/socket/socket.pro | 3 | ||||
-rw-r--r-- | tests/benchmarks/qscriptclass/tst_qscriptclass.cpp | 511 | ||||
-rw-r--r-- | tests/benchmarks/qtestlib-simple/main.cpp | 117 | ||||
-rw-r--r-- | tests/benchmarks/qtestlib-simple/qtestlib-simple.pro | 8 | ||||
-rw-r--r-- | tests/benchmarks/qtwidgets/advanced.ui | 319 | ||||
-rw-r--r-- | tests/benchmarks/qtwidgets/icons/big.png | bin | 1323 -> 0 bytes | |||
-rw-r--r-- | tests/benchmarks/qtwidgets/icons/folder.png | bin | 4069 -> 0 bytes | |||
-rw-r--r-- | tests/benchmarks/qtwidgets/icons/icon.bmp | bin | 246 -> 0 bytes | |||
-rw-r--r-- | tests/benchmarks/qtwidgets/icons/icon.png | bin | 344 -> 0 bytes | |||
-rw-r--r-- | tests/benchmarks/qtwidgets/mainwindow.cpp | 313 | ||||
-rw-r--r-- | tests/benchmarks/qtwidgets/mainwindow.h | 80 | ||||
-rw-r--r-- | tests/benchmarks/qtwidgets/qtstyles.qrc | 8 | ||||
-rw-r--r-- | tests/benchmarks/qtwidgets/qtwidgets.pro | 9 | ||||
-rw-r--r-- | tests/benchmarks/qtwidgets/standard.ui | 1207 | ||||
-rw-r--r-- | tests/benchmarks/qtwidgets/system.ui | 658 | ||||
-rw-r--r-- | tests/benchmarks/script/qscriptclass/qscriptclass.pro (renamed from tests/benchmarks/qscriptclass/qscriptclass.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/script/qscriptclass/tst_qscriptclass.cpp | 285 | ||||
-rw-r--r-- | tests/benchmarks/script/qscriptengine/qscriptengine.pro (renamed from tests/benchmarks/qscriptengine/qscriptengine.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp (renamed from tests/benchmarks/qscriptengine/tst_qscriptengine.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/script/qscriptvalue/qscriptvalue.pro (renamed from tests/benchmarks/qscriptvalue/qscriptvalue.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp (renamed from tests/benchmarks/qscriptvalue/tst_qscriptvalue.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/script/script.pro | 5 | ||||
-rw-r--r-- | tests/benchmarks/svg/qsvgrenderer/data/tiger.svg (renamed from tests/benchmarks/qsvgrenderer/data/tiger.svg) | 0 | ||||
-rw-r--r-- | tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.pro (renamed from tests/benchmarks/qsvgrenderer/qsvgrenderer.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.qrc (renamed from tests/benchmarks/qsvgrenderer/qsvgrenderer.qrc) | 0 | ||||
-rw-r--r-- | tests/benchmarks/svg/qsvgrenderer/tst_qsvgrenderer.cpp (renamed from tests/benchmarks/qsvgrenderer/tst_qsvgrenderer.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/svg/svg.pro | 3 | ||||
-rw-r--r-- | tests/manual/bearerex/bearerex.cpp | 561 | ||||
-rw-r--r-- | tests/manual/bearerex/bearerex.h | 142 | ||||
-rw-r--r-- | tests/manual/bearerex/bearerex.pro | 20 | ||||
-rw-r--r-- | tests/manual/bearerex/bearerex.ui | 95 | ||||
-rw-r--r-- | tests/manual/bearerex/detailedinfodialog.ui | 54 | ||||
-rw-r--r-- | tests/manual/bearerex/main.cpp | 59 | ||||
-rw-r--r-- | tests/manual/bearerex/sessiondialog.ui | 139 | ||||
-rw-r--r-- | tests/manual/bearerex/xqlistwidget.cpp (renamed from tests/benchmarks/qtwidgets/tst_qtwidgets.cpp) | 44 | ||||
-rw-r--r-- | tests/manual/bearerex/xqlistwidget.h | 59 | ||||
-rw-r--r-- | tests/manual/networkmanager/README | 2 | ||||
-rw-r--r-- | tests/manual/networkmanager/dialog.ui | 213 | ||||
-rw-r--r-- | tests/manual/networkmanager/networkmanager.pro | 9 | ||||
-rw-r--r-- | tests/manual/networkmanager/networkmanagertest.cpp | 287 | ||||
-rw-r--r-- | tests/manual/networkmanager/nmview.cpp | 1028 | ||||
-rw-r--r-- | tests/manual/networkmanager/nmview.h | 109 | ||||
-rw-r--r-- | tests/manual/networkmanager/startdlg.cpp | 96 | ||||
-rw-r--r-- | tests/manual/networkmanager/startdlg.h | 59 | ||||
-rw-r--r-- | tests/tests.pro | 3 |
278 files changed, 5621 insertions, 3346 deletions
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 9c4b4f0..bdbf5ce 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -439,7 +439,10 @@ SUBDIRS += \ qmargins \ qnetworkaddressentry \ qnetworkcachemetadata \ + qnetworkconfigmanager \ + qnetworkconfiguration \ qnetworkdiskcache \ + qnetworksession \ qobjectperformance \ qpainterpathstroker \ qplugin \ diff --git a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp index 504ceac..ea86c16 100644 --- a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp +++ b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp @@ -1213,14 +1213,14 @@ void tst_QAbstractItemView::task250754_fontChange() tree.setModel(m); w.show(); - w.resize(150,150); + w.resize(150,240); QTest::qWait(30); QFont font = tree.font(); - font.setPointSize(5); + font.setPixelSize(10); tree.setFont(font); QTRY_VERIFY(!tree.verticalScrollBar()->isVisible()); - font.setPointSize(45); + font.setPixelSize(60); tree.setFont(font); //now with the huge items, the scrollbar must be visible QTRY_VERIFY(tree.verticalScrollBar()->isVisible()); @@ -1444,7 +1444,10 @@ void tst_QAbstractItemView::QTBUG6407_extendedSelection() for(int i = 0; i < 50; ++i) view.addItem(QString::number(i)); - view.resize(200,200); + QFont font = view.font(); + font.setPixelSize(10); + view.setFont(font); + view.resize(200,240); view.show(); QApplication::setActiveWindow(&view); diff --git a/tests/auto/qbearertestcommon.h b/tests/auto/qbearertestcommon.h new file mode 100644 index 0000000..0bfe622 --- /dev/null +++ b/tests/auto/qbearertestcommon.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QBEARERTESTCOMMON_H +#define QBEARERTESTCOMMON_H + +// Will try to wait for the condition while allowing event processing +#define QTRY_VERIFY(__expr) \ + do { \ + const int __step = 50; \ + const int __timeout = 90000; \ + if (!(__expr)) { \ + QTest::qWait(0); \ + } \ + for (int __i = 0; __i < __timeout && !(__expr); __i+=__step) { \ + QTest::qWait(__step); \ + } \ + QVERIFY(__expr); \ + } while(0) + +// Will try to wait for the condition while allowing event processing +#define QTRY_COMPARE(__expr, __expected) \ + do { \ + const int __step = 50; \ + const int __timeout = 90000; \ + if ((__expr) != (__expected)) { \ + QTest::qWait(0); \ + } \ + for (int __i = 0; __i < __timeout && ((__expr) != (__expected)); __i+=__step) { \ + QTest::qWait(__step); \ + } \ + QCOMPARE(__expr, __expected); \ + } while(0) + +#endif + diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 7b54a3b..7c1b97e 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -90,6 +90,8 @@ Q_DECLARE_METATYPE(QRectF) #define COMPARE_REGIONS QTRY_COMPARE #endif +static QGraphicsRectItem staticItem; //QTBUG-7629, we should not crash at exit. + static void sendMousePress(QGraphicsScene *scene, const QPointF &point, Qt::MouseButton button = Qt::LeftButton) { QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMousePress); diff --git a/tests/auto/qimagereader/tst_qimagereader.cpp b/tests/auto/qimagereader/tst_qimagereader.cpp index 121a8fa..99244c2 100644 --- a/tests/auto/qimagereader/tst_qimagereader.cpp +++ b/tests/auto/qimagereader/tst_qimagereader.cpp @@ -1633,6 +1633,35 @@ void tst_QImageReader::autoDetectImageFormat() QVERIFY(reader.canRead()); QVERIFY(!reader.read().isNull()); } + +#ifdef QTEST_HAVE_JPEG + { + QImageReader io(prefix + "YCbCr_rgb.jpg"); + io.setAutoDetectImageFormat(false); + // This should fail since no format string is given + QImage image; + QVERIFY(!io.read(&image)); + } + { + QImageReader io(prefix + "YCbCr_rgb.jpg", "jpg"); + io.setAutoDetectImageFormat(false); + QImage image; + QVERIFY(io.read(&image)); + } +#endif + { + QImageReader io(prefix + "tst7.png"); + io.setAutoDetectImageFormat(false); + // This should fail since no format string is given + QImage image; + QVERIFY(!io.read(&image)); + } + { + QImageReader io(prefix + "tst7.png", "png"); + io.setAutoDetectImageFormat(false); + QImage image; + QVERIFY(io.read(&image)); + } } void tst_QImageReader::fileNameProbing() diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp index fcca58a..2be68e6 100644 --- a/tests/auto/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/qlineedit/tst_qlineedit.cpp @@ -271,6 +271,7 @@ private slots: void taskQTBUG_4401_enterKeyClearsPassword(); void taskQTBUG_4679_moveToStartEndOfBlock(); void taskQTBUG_4679_selectToStartEndOfBlock(); + void taskQTBUG_7395_readOnlyShortcut(); #ifndef QT_NO_CONTEXTMENU void taskQTBUG_7902_contextMenuCrash(); #endif @@ -3457,10 +3458,8 @@ void tst_QLineEdit::task210502_caseInsensitiveInlineCompletion() completer.setCompletionMode(QCompleter::InlineCompletion); lineEdit.setCompleter(&completer); lineEdit.show(); -#ifdef Q_WS_X11 - // to be safe and avoid failing setFocus with window managers - qt_x11_wait_for_window_manager(&lineEdit); -#endif + QTest::qWaitForWindowShown(&lineEdit); + QApplication::setActiveWindow(&lineEdit); lineEdit.setFocus(); QTRY_VERIFY(lineEdit.hasFocus()); QTest::keyPress(&lineEdit, 'a'); @@ -3641,6 +3640,27 @@ void tst_QLineEdit::taskQTBUG_4679_selectToStartEndOfBlock() #endif // Q_OS_MAC } +void tst_QLineEdit::taskQTBUG_7395_readOnlyShortcut() +{ + //ReadOnly QLineEdit should not intercept shortcut. + QLineEdit le; + le.setReadOnly(true); + + QAction action(QString::fromLatin1("hello"), &le); + action.setShortcut(QString::fromLatin1("p")); + QSignalSpy spy(&action, SIGNAL(triggered())); + le.addAction(&action); + + le.show(); + QTest::qWaitForWindowShown(&le); + QApplication::setActiveWindow(&le); + le.setFocus(); + QTRY_VERIFY(le.hasFocus()); + + QTest::keyClick(0, Qt::Key_P); + QCOMPARE(spy.count(), 1); +} + #ifndef QT_NO_CONTEXTMENU void tst_QLineEdit::taskQTBUG_7902_contextMenuCrash() { diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp index 7109213..d2181f8 100644 --- a/tests/auto/qlistview/tst_qlistview.cpp +++ b/tests/auto/qlistview/tst_qlistview.cpp @@ -606,9 +606,8 @@ void tst_QListView::indexAt() view2.setWrapping(true); // We really want to make sure it is shown, because the layout won't be known until it is shown view2.show(); - for (int i = 0; i < 5 && !view2.m_shown; ++i) { - QTest::qWait(500); - } + QTest::qWaitForWindowShown(&view2); + QTRY_VERIFY(view2.m_shown); QVERIFY(view2.m_index.isValid()); QVERIFY(view2.m_index.row() != 0); @@ -760,7 +759,8 @@ void tst_QListView::hideFirstRow() view.setUniformItemSizes(true); view.setRowHidden(0,true); view.show(); - QTest::qWait(100); + QTest::qWaitForWindowShown(&view); + QTest::qWait(10); } void tst_QListView::batchedMode() @@ -778,10 +778,10 @@ void tst_QListView::batchedMode() view.setBatchSize(2); view.resize(200,400); view.show(); - -#if !defined(Q_OS_WINCE) + QTest::qWaitForWindowShown(&view); QTest::qWait(100); -#else + +#if defined(Q_OS_WINCE) QTest::qWait(2000); #endif QBitArray ba; @@ -1203,9 +1203,9 @@ void tst_QListView::scrollTo() //we click the item QPoint p = lv.visualRect(index).center(); QTest::mouseClick(lv.viewport(), Qt::LeftButton, Qt::NoModifier, p); - //let's wait 1 second because the scrolling is delayed - QTest::qWait(1000); - QCOMPARE(lv.visualRect(index).y(),0); + //let's wait because the scrolling is delayed + QTest::qWait(QApplication::doubleClickInterval() + 150); + QTRY_COMPARE(lv.visualRect(index).y(),0); //we scroll down. As the item is to tall for the view, it will disappear QTest::keyClick(lv.viewport(), Qt::Key_Down, Qt::NoModifier); @@ -1222,9 +1222,9 @@ void tst_QListView::scrollTo() //we click the item p = lv.visualRect(index).center(); QTest::mouseClick(lv.viewport(), Qt::LeftButton, Qt::NoModifier, p); - //let's wait 1 second because the scrolling is delayed - QTest::qWait(1000); - QCOMPARE(lv.visualRect(index).x(),0); + //let's wait because the scrolling is delayed + QTest::qWait(QApplication::doubleClickInterval() + 150); + QTRY_COMPARE(lv.visualRect(index).x(),0); //we scroll right. As the item is too wide for the view, it will disappear QTest::keyClick(lv.viewport(), Qt::Key_Right, Qt::NoModifier); @@ -1243,9 +1243,9 @@ void tst_QListView::scrollTo() //we click the item p = lv.visualRect(index).center(); QTest::mouseClick(lv.viewport(), Qt::LeftButton, Qt::NoModifier, p); - //let's wait 1 second because the scrolling is delayed - QTest::qWait(1000); - QCOMPARE(lv.visualRect(index).y(),0); + //let's wait because the scrolling is delayed + QTest::qWait(QApplication::doubleClickInterval() + 150); + QTRY_COMPARE(lv.visualRect(index).y(),0); //we scroll down. As the item is too tall for the view, it will partially disappear QTest::keyClick(lv.viewport(), Qt::Key_Down, Qt::NoModifier); @@ -1277,7 +1277,7 @@ void tst_QListView::scrollBarRanges() for (int h = 30; h <= 210; ++h) { lv.resize(250, h); - QTest::qWait(100); // wait for the layout to be done + QApplication::processEvents(); // wait for the layout to be done int visibleRowCount = lv.viewport()->size().height() / rowHeight; int invisibleRowCount = rowCount - visibleRowCount; QCOMPARE(lv.verticalScrollBar()->maximum(), invisibleRowCount); @@ -1366,7 +1366,7 @@ void tst_QListView::scrollBarAsNeeded() model.setStringList(list); QApplication::processEvents(); - QTest::qWait(100); + QTest::qWait(50); QStringList replacement; for (i = 0; i < itemCount; ++i) { @@ -1375,10 +1375,9 @@ void tst_QListView::scrollBarAsNeeded() model.setStringList(replacement); QApplication::processEvents(); - QTest::qWait(100); - QCOMPARE(lv.horizontalScrollBar()->isVisible(), horizontalScrollBarVisible); - QCOMPARE(lv.verticalScrollBar()->isVisible(), verticalScrollBarVisible); + QTRY_COMPARE(lv.horizontalScrollBar()->isVisible(), horizontalScrollBarVisible); + QTRY_COMPARE(lv.verticalScrollBar()->isVisible(), verticalScrollBarVisible); } } @@ -1433,10 +1432,9 @@ void tst_QListView::wordWrap() lv.setFixedSize(150, 150); lv.show(); QApplication::processEvents(); - QTest::qWait(100); - QCOMPARE(lv.horizontalScrollBar()->isVisible(), false); - QCOMPARE(lv.verticalScrollBar()->isVisible(), true); + QTRY_COMPARE(lv.horizontalScrollBar()->isVisible(), false); + QTRY_COMPARE(lv.verticalScrollBar()->isVisible(), true); } #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) @@ -1557,7 +1555,8 @@ void tst_QListView::task248430_crashWith0SizedItem() QStringListModel model(QStringList() << QLatin1String("item1") << QString()); view.setModel(&model); view.show(); - QTest::qWait(100); + QTest::qWaitForWindowShown(&view); + QTest::qWait(20); } void tst_QListView::task250446_scrollChanged() @@ -1569,21 +1568,21 @@ void tst_QListView::task250446_scrollChanged() QVERIFY(index.isValid()); view.setCurrentIndex(index); view.show(); - QTest::qWait(100); + QTest::qWaitForWindowShown(&view); const int scrollValue = view.verticalScrollBar()->maximum(); view.verticalScrollBar()->setValue(scrollValue); QCOMPARE(view.verticalScrollBar()->value(), scrollValue); QCOMPARE(view.currentIndex(), index); view.showMinimized(); - QTest::qWait(100); - QCOMPARE(view.verticalScrollBar()->value(), scrollValue); - QCOMPARE(view.currentIndex(), index); + QTest::qWait(50); + QTRY_COMPARE(view.verticalScrollBar()->value(), scrollValue); + QTRY_COMPARE(view.currentIndex(), index); view.showNormal(); - QTest::qWait(100); - QCOMPARE(view.verticalScrollBar()->value(), scrollValue); - QCOMPARE(view.currentIndex(), index); + QTest::qWait(50); + QTRY_COMPARE(view.verticalScrollBar()->value(), scrollValue); + QTRY_COMPARE(view.currentIndex(), index); } void tst_QListView::task196118_visualRegionForSelection() @@ -1699,7 +1698,7 @@ void tst_QListView::shiftSelectionWithNonUniformItemSizes() view.setViewMode(QListView::IconMode); view.setModel(&model); view.show(); - QTest::qWait(30); + QTest::qWaitForWindowShown(&view); // Verfify that item sizes are non-uniform QVERIFY(view.sizeHintForIndex(model.index(0, 0)).height() > view.sizeHintForIndex(model.index(1, 0)).height()); @@ -1729,7 +1728,7 @@ void tst_QListView::shiftSelectionWithNonUniformItemSizes() view.setViewMode(QListView::IconMode); view.setModel(&model); view.show(); - QTest::qWait(30); + QTest::qWaitForWindowShown(&view); // Verfify that item sizes are non-uniform QVERIFY(view.sizeHintForIndex(model.index(0, 0)).width() > view.sizeHintForIndex(model.index(1, 0)).width()); @@ -1789,7 +1788,6 @@ void tst_QListView::task262152_setModelColumnNavigate() view.show(); QApplication::setActiveWindow(&view); QTest::qWaitForWindowShown(&view); - QTest::qWait(30); QTRY_COMPARE(static_cast<QWidget *>(&view), QApplication::activeWindow()); QTest::keyClick(&view, Qt::Key_Down); QTest::qWait(30); @@ -1834,6 +1832,24 @@ void tst_QListView::taskQTBUG_2233_scrollHiddenItems() QVERIFY(index.isValid()); QCOMPARE(index.row(), 2 * i + 1); } + + //QTBUG-7929 should not crash + view.show(); + QTest::qWaitForWindowShown(&view); + QScrollBar *bar = view.flow() == QListView::TopToBottom + ? view.verticalScrollBar() : view.horizontalScrollBar(); + + int nbVisibleItem = rowCount / 2 - bar->maximum(); + + bar->setValue(bar->maximum()); + QApplication::processEvents(); + for (int i = rowCount; i > rowCount / 2; i--) { + view.setRowHidden(i, true); + } + QApplication::processEvents(); + QTest::qWait(50); + QCOMPARE(bar->value(), bar->maximum()); + QCOMPARE(bar->maximum(), rowCount/4 - nbVisibleItem); } void tst_QListView::taskQTBUG_633_changeModelData() diff --git a/tests/auto/qnetworkconfigmanager/qnetworkconfigmanager.pro b/tests/auto/qnetworkconfigmanager/qnetworkconfigmanager.pro new file mode 100644 index 0000000..30eb5f0 --- /dev/null +++ b/tests/auto/qnetworkconfigmanager/qnetworkconfigmanager.pro @@ -0,0 +1,15 @@ +load(qttest_p4) +SOURCES += tst_qnetworkconfigmanager.cpp +HEADERS += ../qbearertestcommon.h + +QT = core network + +symbian { + TARGET.CAPABILITY = NetworkServices NetworkControl ReadUserData +} + +maemo6 { + CONFIG += link_pkgconfig + + PKGCONFIG += conninet +} diff --git a/tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp b/tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp new file mode 100644 index 0000000..3052330 --- /dev/null +++ b/tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp @@ -0,0 +1,335 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest/QtTest> +#include "../qbearertestcommon.h" +#include "qnetworkconfiguration.h" +#include "qnetworkconfigmanager.h" + +#ifdef Q_WS_MAEMO_6 +#include <stdio.h> +#include <iapconf.h> +#endif + +QT_USE_NAMESPACE +class tst_QNetworkConfigurationManager : public QObject +{ + Q_OBJECT + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void allConfigurations(); + void defaultConfiguration(); + void configurationFromIdentifier(); + +private: +#ifdef Q_WS_MAEMO_6 + Maemo::IAPConf *iapconf; + Maemo::IAPConf *iapconf2; + Maemo::IAPConf *gprsiap; +#define MAX_IAPS 50 + Maemo::IAPConf *iaps[MAX_IAPS]; + QProcess *icd_stub; +#endif +}; + +void tst_QNetworkConfigurationManager::initTestCase() +{ +#ifdef Q_WS_MAEMO_6 + iapconf = new Maemo::IAPConf("007"); + iapconf->setValue("ipv4_type", "AUTO"); + iapconf->setValue("wlan_wepkey1", "connt"); + iapconf->setValue("wlan_wepdefkey", 1); + iapconf->setValue("wlan_ssid", QByteArray("JamesBond")); + iapconf->setValue("name", "James Bond"); + iapconf->setValue("type", "WLAN_INFRA"); + + gprsiap = new Maemo::IAPConf("This-is-GPRS-IAP"); + gprsiap->setValue("ask_password", false); + gprsiap->setValue("gprs_accesspointname", "internet"); + gprsiap->setValue("gprs_password", ""); + gprsiap->setValue("gprs_username", ""); + gprsiap->setValue("ipv4_autodns", true); + gprsiap->setValue("ipv4_type", "AUTO"); + gprsiap->setValue("sim_imsi", "244070123456789"); + gprsiap->setValue("name", "MI6"); + gprsiap->setValue("type", "GPRS"); + + iapconf2 = new Maemo::IAPConf("osso.net"); + iapconf2->setValue("ipv4_type", "AUTO"); + iapconf2->setValue("wlan_wepkey1", "osso.net"); + iapconf2->setValue("wlan_wepdefkey", 1); + iapconf2->setValue("wlan_ssid", QByteArray("osso.net")); + iapconf2->setValue("name", "osso.net"); + iapconf2->setValue("type", "WLAN_INFRA"); + iapconf2->setValue("wlan_security", "WEP"); + + /* Create large number of IAPs in the gconf and see what happens */ + fflush(stdout); + printf("Creating %d IAPS: ", MAX_IAPS); + for (int i=0; i<MAX_IAPS; i++) { + QString num = QString().sprintf("%d", i); + QString iap = "iap-" + num; + iaps[i] = new Maemo::IAPConf(iap); + iaps[i]->setValue("name", QString("test-iap-")+num); + iaps[i]->setValue("type", "WLAN_INFRA"); + iaps[i]->setValue("wlan_ssid", QString(QString("test-ssid-")+num).toAscii()); + iaps[i]->setValue("wlan_security", "WPA_PSK"); + iaps[i]->setValue("EAP_wpa_preshared_passphrase", QString("test-passphrase-")+num); + printf("."); + fflush(stdout); + } + printf("\n"); + fflush(stdout); + + icd_stub = new QProcess(this); + icd_stub->start("/usr/bin/icd2_stub.py"); + QTest::qWait(1000); + + // Add a known network to scan list that icd2 stub returns + QProcess dbus_send; + // 007 network + dbus_send.start("dbus-send --type=method_call --system " + "--dest=com.nokia.icd2 /com/nokia/icd2 " + "com.nokia.icd2.testing.add_available_network " + "string:'' uint32:0 string:'' " + "string:WLAN_INFRA uint32:5000011 array:byte:48,48,55"); + dbus_send.waitForFinished(); + + // osso.net network + dbus_send.start("dbus-send --type=method_call --system " + "--dest=com.nokia.icd2 /com/nokia/icd2 " + "com.nokia.icd2.testing.add_available_network " + "string:'' uint32:0 string:'' " + "string:WLAN_INFRA uint32:83886097 array:byte:111,115,115,111,46,110,101,116"); + dbus_send.waitForFinished(); +#endif +} + + +void tst_QNetworkConfigurationManager::cleanupTestCase() +{ +#ifdef Q_WS_MAEMO_6 + iapconf->clear(); + delete iapconf; + iapconf2->clear(); + delete iapconf2; + gprsiap->clear(); + delete gprsiap; + + printf("Deleting %d IAPS : ", MAX_IAPS); + for (int i=0; i<MAX_IAPS; i++) { + iaps[i]->clear(); + delete iaps[i]; + printf("."); + fflush(stdout); + } + printf("\n"); + qDebug() << "Deleted" << MAX_IAPS << "IAPs"; + + icd_stub->terminate(); + icd_stub->waitForFinished(); +#endif +} + +void tst_QNetworkConfigurationManager::init() +{ +} + +void tst_QNetworkConfigurationManager::cleanup() +{ +} + +void printConfigurationDetails(const QNetworkConfiguration& p) +{ + qDebug() << p.name() <<": isvalid->" <<p.isValid() << " type->"<< p.type() << + " roaming->" << p.isRoamingAvailable() << "identifier->" << p.identifier() << + " purpose->" << p.purpose() << " state->" << p.state(); +} + +void tst_QNetworkConfigurationManager::allConfigurations() +{ + QNetworkConfigurationManager manager; + QList<QNetworkConfiguration> preScanConfigs = manager.allConfigurations(); + + foreach(QNetworkConfiguration c, preScanConfigs) + { + QVERIFY2(c.type()!=QNetworkConfiguration::UserChoice, "allConfiguration must not return UserChoice configs"); + } + + QSignalSpy spy(&manager, SIGNAL(updateCompleted())); + manager.updateConfigurations(); //initiate scans + QTRY_VERIFY(spy.count() == 1); //wait for scan to complete + + QList<QNetworkConfiguration> configs = manager.allConfigurations(); + + int all = configs.count(); + qDebug() << "All configurations:" << all; + QVERIFY(all); + foreach(QNetworkConfiguration p, configs) { + QVERIFY(p.isValid()); + printConfigurationDetails(p); + QVERIFY(p.type() != QNetworkConfiguration::Invalid); + QVERIFY(p.type() != QNetworkConfiguration::UserChoice); + } + + configs = manager.allConfigurations(QNetworkConfiguration::Undefined); + int undefined = configs.count(); + QVERIFY(undefined <= all); + qDebug() << "Undefined configurations:" << undefined; + foreach( const QNetworkConfiguration p, configs) { + printConfigurationDetails(p); + QVERIFY(p.state() & QNetworkConfiguration::Undefined); + QVERIFY(!(p.state() & QNetworkConfiguration::Defined)); + } + + //get defined configs only (same as all) + configs = manager.allConfigurations(QNetworkConfiguration::Defined); + int defined = configs.count(); + qDebug() << "Defined configurations:" << defined; + QVERIFY(defined <= all); + foreach( const QNetworkConfiguration p, configs) { + printConfigurationDetails(p); + QVERIFY(p.state() & QNetworkConfiguration::Defined); + QVERIFY(!(p.state() & QNetworkConfiguration::Undefined)); + } + + //get discovered configurations only + configs = manager.allConfigurations(QNetworkConfiguration::Discovered); + int discovered = configs.count(); + //QVERIFY(discovered); + qDebug() << "Discovered configurations:" << discovered; + foreach(const QNetworkConfiguration p, configs) { + printConfigurationDetails(p); + QVERIFY(p.isValid()); + QVERIFY(!(p.state() & QNetworkConfiguration::Undefined)); + QVERIFY(p.state() & QNetworkConfiguration::Defined); + QVERIFY(p.state() & QNetworkConfiguration::Discovered); + } + + //getactive configurations only + configs = manager.allConfigurations(QNetworkConfiguration::Active); + int active = configs.count(); + if (active) + QVERIFY(manager.isOnline()); + else + QVERIFY(!manager.isOnline()); + + //QVERIFY(active); + qDebug() << "Active configurations:" << active; + foreach(const QNetworkConfiguration p, configs) { + printConfigurationDetails(p); + QVERIFY(p.isValid()); + QVERIFY(!(p.state() & QNetworkConfiguration::Undefined)); + QVERIFY(p.state() & QNetworkConfiguration::Active); + QVERIFY(p.state() & QNetworkConfiguration::Discovered); + QVERIFY(p.state() & QNetworkConfiguration::Defined); + } + + QVERIFY(all >= discovered); + QVERIFY(discovered >= active); +} + + +void tst_QNetworkConfigurationManager::defaultConfiguration() +{ + QNetworkConfigurationManager manager; + QSignalSpy spy(&manager, SIGNAL(updateCompleted())); + manager.updateConfigurations(); //initiate scans + QTRY_VERIFY(spy.count() == 1); //wait for scan to complete + + QList<QNetworkConfiguration> configs = manager.allConfigurations(); + QNetworkConfiguration defaultConfig = manager.defaultConfiguration(); + + bool confirm = configs.contains(defaultConfig); + bool isUserChoice = (defaultConfig.type() == QNetworkConfiguration::UserChoice); + + //user choice config is not part of allConfigurations() + QVERIFY(isUserChoice != confirm); + if (!isUserChoice) { + QVERIFY(confirm || !defaultConfig.isValid()); + QVERIFY(!(confirm && !defaultConfig.isValid())); + } else { + QVERIFY(defaultConfig.isValid()); + QCOMPARE(defaultConfig.name(), QString("UserChoice")); + QCOMPARE(defaultConfig.children().count(), 0); + QVERIFY(!defaultConfig.isRoamingAvailable()); + QCOMPARE(defaultConfig.state(), QNetworkConfiguration::Discovered); + QNetworkConfiguration copy = manager.configurationFromIdentifier(defaultConfig.identifier()); + QVERIFY(copy == defaultConfig); + } +} + +void tst_QNetworkConfigurationManager::configurationFromIdentifier() +{ + QNetworkConfigurationManager manager; + QSet<QString> allIdentifier; + + //force an update to get maximum number of configs + QSignalSpy spy(&manager, SIGNAL(updateCompleted())); + manager.updateConfigurations(); //initiate scans + QTRY_VERIFY(spy.count() == 1); //wait for scan to complete + + QList<QNetworkConfiguration> configs = manager.allConfigurations(); + + foreach(QNetworkConfiguration c, configs) { + QVERIFY(!allIdentifier.contains(c.identifier())); + allIdentifier.insert(c.identifier()); + + QNetworkConfiguration direct = manager.configurationFromIdentifier(c.identifier()); + QVERIFY(direct.isValid()); + QVERIFY(direct == c); + } + + //assume that there is no item with identifier 'FooBar' + QVERIFY(!allIdentifier.contains("FooBar")); + QNetworkConfiguration invalid = manager.configurationFromIdentifier("FooBar"); + QVERIFY(!invalid.isValid()); +} + + +QTEST_MAIN(tst_QNetworkConfigurationManager) +#include "tst_qnetworkconfigmanager.moc" diff --git a/tests/auto/qnetworkconfiguration/qnetworkconfiguration.pro b/tests/auto/qnetworkconfiguration/qnetworkconfiguration.pro new file mode 100644 index 0000000..df2d2d9 --- /dev/null +++ b/tests/auto/qnetworkconfiguration/qnetworkconfiguration.pro @@ -0,0 +1,15 @@ +load(qttest_p4) +SOURCES += tst_qnetworkconfiguration.cpp +HEADERS += ../qbearertestcommon.h + +QT = core network + +symbian { + TARGET.CAPABILITY = NetworkServices NetworkControl ReadUserData +} + +maemo6 { + CONFIG += link_pkgconfig + + PKGCONFIG += conninet +} diff --git a/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp b/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp new file mode 100644 index 0000000..70f4447 --- /dev/null +++ b/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp @@ -0,0 +1,303 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest/QtTest> +#include "../qbearertestcommon.h" +#include "qnetworkconfiguration.h" +#include "qnetworkconfigmanager.h" + +#ifdef Q_WS_MAEMO_6 +#include <stdio.h> +#include <iapconf.h> +#endif + +QT_USE_NAMESPACE +class tst_QNetworkConfiguration : public QObject +{ + Q_OBJECT + +public slots: + void initTestCase(); + void cleanupTestCase(); + +private slots: + void invalidPoint(); + void comparison(); + void children(); + void isRoamingAvailable(); + +private: +#ifdef Q_WS_MAEMO_6 + Maemo::IAPConf *iapconf; + Maemo::IAPConf *iapconf2; + Maemo::IAPConf *gprsiap; +#define MAX_IAPS 50 + Maemo::IAPConf *iaps[MAX_IAPS]; + QProcess *icd_stub; +#endif +}; + +void tst_QNetworkConfiguration::initTestCase() +{ +#ifdef Q_WS_MAEMO_6 + iapconf = new Maemo::IAPConf("007"); + iapconf->setValue("ipv4_type", "AUTO"); + iapconf->setValue("wlan_wepkey1", "connt"); + iapconf->setValue("wlan_wepdefkey", 1); + iapconf->setValue("wlan_ssid", QByteArray("JamesBond")); + iapconf->setValue("name", "James Bond"); + iapconf->setValue("type", "WLAN_INFRA"); + + iapconf2 = new Maemo::IAPConf("osso.net"); + iapconf2->setValue("ipv4_type", "AUTO"); + iapconf2->setValue("wlan_wepkey1", "osso.net"); + iapconf2->setValue("wlan_wepdefkey", 1); + iapconf2->setValue("wlan_ssid", QByteArray("osso.net")); + iapconf2->setValue("name", "osso.net"); + iapconf2->setValue("type", "WLAN_INFRA"); + iapconf2->setValue("wlan_security", "WEP"); + + gprsiap = new Maemo::IAPConf("This-is-GPRS-IAP"); + gprsiap->setValue("ask_password", false); + gprsiap->setValue("gprs_accesspointname", "internet"); + gprsiap->setValue("gprs_password", ""); + gprsiap->setValue("gprs_username", ""); + gprsiap->setValue("ipv4_autodns", true); + gprsiap->setValue("ipv4_type", "AUTO"); + gprsiap->setValue("sim_imsi", "244070123456789"); + gprsiap->setValue("name", "MI6"); + gprsiap->setValue("type", "GPRS"); + + /* Create large number of IAPs in the gconf and see what happens */ + fflush(stdout); + printf("Creating %d IAPS: ", MAX_IAPS); + for (int i=0; i<MAX_IAPS; i++) { + QString num = QString().sprintf("%d", i); + QString iap = "iap-" + num; + iaps[i] = new Maemo::IAPConf(iap); + iaps[i]->setValue("name", QString("test-iap-")+num); + iaps[i]->setValue("type", "WLAN_INFRA"); + iaps[i]->setValue("wlan_ssid", QString(QString("test-ssid-")+num).toAscii()); + iaps[i]->setValue("wlan_security", "WPA_PSK"); + iaps[i]->setValue("EAP_wpa_preshared_passphrase", QString("test-passphrase-")+num); + printf("."); + fflush(stdout); + } + printf("\n"); + fflush(stdout); + + icd_stub = new QProcess(this); + icd_stub->start("/usr/bin/icd2_stub.py"); + QTest::qWait(1000); + + // Add a known network to scan list that icd2 stub returns + QProcess dbus_send; + // 007 network + dbus_send.start("dbus-send --type=method_call --system " + "--dest=com.nokia.icd2 /com/nokia/icd2 " + "com.nokia.icd2.testing.add_available_network " + "string:'' uint32:0 string:'' " + "string:WLAN_INFRA uint32:5000011 array:byte:48,48,55"); + dbus_send.waitForFinished(); + + // osso.net network + dbus_send.start("dbus-send --type=method_call --system " + "--dest=com.nokia.icd2 /com/nokia/icd2 " + "com.nokia.icd2.testing.add_available_network " + "string:'' uint32:0 string:'' " + "string:WLAN_INFRA uint32:83886097 array:byte:111,115,115,111,46,110,101,116"); + dbus_send.waitForFinished(); +#endif +} + +void tst_QNetworkConfiguration::cleanupTestCase() +{ +#ifdef Q_WS_MAEMO_6 + iapconf->clear(); + delete iapconf; + iapconf2->clear(); + delete iapconf2; + gprsiap->clear(); + delete gprsiap; + + printf("Deleting %d IAPS : ", MAX_IAPS); + for (int i=0; i<MAX_IAPS; i++) { + iaps[i]->clear(); + delete iaps[i]; + printf("."); + fflush(stdout); + } + printf("\n"); + qDebug() << "Deleted" << MAX_IAPS << "IAPs"; + + // Terminate icd2 stub + icd_stub->terminate(); + icd_stub->waitForFinished(); +#endif +} + +void tst_QNetworkConfiguration::invalidPoint() +{ + QNetworkConfiguration pt; + + QVERIFY(pt.name().isEmpty()); + QVERIFY(!pt.isValid()); + QVERIFY(pt.type() == QNetworkConfiguration::Invalid); + QVERIFY(!(pt.state() & QNetworkConfiguration::Defined)); + QVERIFY(!(pt.state() & QNetworkConfiguration::Discovered)); + QVERIFY(!(pt.state() & QNetworkConfiguration::Active)); + QVERIFY(!pt.isRoamingAvailable()); + + QNetworkConfiguration pt2(pt); + QVERIFY(pt2.name().isEmpty()); + QVERIFY(!pt2.isValid()); + QVERIFY(pt2.type() == QNetworkConfiguration::Invalid); + QVERIFY(!(pt2.state() & QNetworkConfiguration::Defined)); + QVERIFY(!(pt2.state() & QNetworkConfiguration::Discovered)); + QVERIFY(!(pt2.state() & QNetworkConfiguration::Active)); + QVERIFY(!pt2.isRoamingAvailable()); + +} + +void tst_QNetworkConfiguration::comparison() +{ + //test copy constructor and assignment operator + //compare invalid connection points + QNetworkConfiguration pt1; + QVERIFY(!pt1.isValid()); + QVERIFY(pt1.type() == QNetworkConfiguration::Invalid); + + QNetworkConfiguration pt2(pt1); + QVERIFY(pt1==pt2); + QVERIFY(!(pt1!=pt2)); + QVERIFY(pt1.name() == pt2.name()); + QVERIFY(pt1.isValid() == pt2.isValid()); + QVERIFY(pt1.type() == pt2.type()); + QVERIFY(pt1.state() == pt2.state()); + QVERIFY(pt1.purpose() == pt2.purpose()); + + + QNetworkConfiguration pt3; + pt3 = pt1; + QVERIFY(pt1==pt3); + QVERIFY(!(pt1!=pt3)); + QVERIFY(pt1.name() == pt3.name()); + QVERIFY(pt1.isValid() == pt3.isValid()); + QVERIFY(pt1.type() == pt3.type()); + QVERIFY(pt1.state() == pt3.state()); + QVERIFY(pt1.purpose() == pt3.purpose()); + + //test case must run on machine that has valid connection points + QNetworkConfigurationManager manager; + QList<QNetworkConfiguration> preScanConfigs = manager.allConfigurations(); + + QSignalSpy spy(&manager, SIGNAL(updateCompleted())); + manager.updateConfigurations(); //initiate scans + QTRY_VERIFY(spy.count() == 1); //wait for scan to complete + + QList<QNetworkConfiguration> configs = manager.allConfigurations(QNetworkConfiguration::Discovered); + QVERIFY(configs.count()); + QNetworkConfiguration defaultConfig = manager.defaultConfiguration(); + QVERIFY(defaultConfig.isValid()); + QVERIFY(defaultConfig.type() != QNetworkConfiguration::Invalid); + QVERIFY(!defaultConfig.name().isEmpty()); + + pt3 = defaultConfig; + QVERIFY(defaultConfig==pt3); + QVERIFY(!(defaultConfig!=pt3)); + QVERIFY(defaultConfig.name() == pt3.name()); + QVERIFY(defaultConfig.isValid() == pt3.isValid()); + QVERIFY(defaultConfig.type() == pt3.type()); + QVERIFY(defaultConfig.state() == pt3.state()); + QVERIFY(defaultConfig.purpose() == pt3.purpose()); +} + +void tst_QNetworkConfiguration::children() +{ + QNetworkConfigurationManager manager; + QList<QNetworkConfiguration> configs = manager.allConfigurations(); + + foreach(QNetworkConfiguration c, configs) + { + if ( c.type() == QNetworkConfiguration::ServiceNetwork ) { + qDebug() << "found service network" << c.name() << c.children().count(); + QVERIFY(c.isValid()); + QList<QNetworkConfiguration> members = c.children(); + foreach(QNetworkConfiguration child, members) { + QVERIFY(child.isValid()); + QVERIFY(configs.contains(child)); + qDebug() << "\t" << child.name(); + } + } + } +} + +void tst_QNetworkConfiguration::isRoamingAvailable() +{ + QNetworkConfigurationManager manager; + QList<QNetworkConfiguration> configs = manager.allConfigurations(); + + //force update to get maximum list + QSignalSpy spy(&manager, SIGNAL(updateCompleted())); + manager.updateConfigurations(); //initiate scans + QTRY_VERIFY(spy.count() == 1); //wait for scan to complete + + foreach(QNetworkConfiguration c, configs) + { + QVERIFY(QNetworkConfiguration::UserChoice != c.type()); + QVERIFY(QNetworkConfiguration::Invalid != c.type()); + if ( c.type() == QNetworkConfiguration::ServiceNetwork ) { + //cannot test flag as some SNAPs may not support roaming anyway + //QVERIFY(c.roamingavailable()) + if ( c.children().count() <= 1 ) + QVERIFY(!c.isRoamingAvailable()); + foreach(QNetworkConfiguration child, c.children()) { + QVERIFY(QNetworkConfiguration::InternetAccessPoint == child.type()); + QCOMPARE(child.children().count(), 0); + } + } else { + QVERIFY(!c.isRoamingAvailable()); + } + } +} + +QTEST_MAIN(tst_QNetworkConfiguration) +#include "tst_qnetworkconfiguration.moc" diff --git a/tests/auto/qnetworksession/lackey/lackey.pro b/tests/auto/qnetworksession/lackey/lackey.pro new file mode 100644 index 0000000..3ed9850 --- /dev/null +++ b/tests/auto/qnetworksession/lackey/lackey.pro @@ -0,0 +1,10 @@ +SOURCES += main.cpp +TARGET = qnetworksessionlackey + +QT = core network + +symbian { + # Needed for interprocess communication and opening QNetworkSession + TARGET.CAPABILITY = NetworkControl NetworkServices +} + diff --git a/tests/auto/qnetworksession/lackey/main.cpp b/tests/auto/qnetworksession/lackey/main.cpp new file mode 100644 index 0000000..1e40485 --- /dev/null +++ b/tests/auto/qnetworksession/lackey/main.cpp @@ -0,0 +1,145 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QCoreApplication> +#include <QStringList> +#include <QLocalSocket> +#include <qnetworkconfigmanager.h> +#include <qnetworkconfiguration.h> +#include <qnetworksession.h> + +#include <QDebug> + +QT_USE_NAMESPACE + + +#define NO_DISCOVERED_CONFIGURATIONS_ERROR 1 +#define SESSION_OPEN_ERROR 2 + + +int main(int argc, char** argv) +{ + QCoreApplication app(argc, argv); + + QNetworkConfigurationManager manager; + QList<QNetworkConfiguration> discovered = +#if defined (Q_OS_SYMBIAN) + // On Symbian, on the first query (before updateConfigurations() call + // the discovered-states are not correct, so defined-state will do. + manager.allConfigurations(QNetworkConfiguration::Defined); +#else + manager.allConfigurations(QNetworkConfiguration::Discovered); +#endif + if (discovered.isEmpty()) { + return NO_DISCOVERED_CONFIGURATIONS_ERROR; + } + + // Cannot read/write to processes on WinCE or Symbian. + // Easiest alternative is to use sockets for IPC. + + QLocalSocket oopSocket; + + oopSocket.connectToServer("tst_qnetworksession"); + oopSocket.waitForConnected(-1); + + qDebug() << "Lackey started"; + + QNetworkSession *session = 0; + do { + if (session) { + delete session; + session = 0; + } + + qDebug() << "Discovered configurations:" << discovered.count(); + + if (discovered.isEmpty()) { + qDebug() << "No more discovered configurations"; + break; + } + + qDebug() << "Taking first configuration"; + + QNetworkConfiguration config = discovered.takeFirst(); + + if ((config.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) { + qDebug() << config.name() << "is active, therefore skipping it (looking for configs in 'discovered' state)."; + continue; + } + + qDebug() << "Creating session for" << config.name() << config.identifier(); + + session = new QNetworkSession(config); + + QString output = QString("Starting session for %1\n").arg(config.identifier()); + oopSocket.write(output.toAscii()); + oopSocket.waitForBytesWritten(); + session->open(); + session->waitForOpened(); + } while (!(session && session->isOpen())); + + qDebug() << "lackey: loop done"; + + if (!session) { + qDebug() << "Could not start session"; + + oopSocket.disconnectFromServer(); + oopSocket.waitForDisconnected(-1); + + return SESSION_OPEN_ERROR; + } + + QString output = QString("Started session for %1\n").arg(session->configuration().identifier()); + oopSocket.write(output.toAscii()); + oopSocket.waitForBytesWritten(); + + oopSocket.waitForReadyRead(); + oopSocket.readLine(); + + session->stop(); + + delete session; + + oopSocket.disconnectFromServer(); + oopSocket.waitForDisconnected(-1); + + return 0; +} diff --git a/tests/auto/qnetworksession/qnetworksession.pro b/tests/auto/qnetworksession/qnetworksession.pro new file mode 100644 index 0000000..14dbb3e --- /dev/null +++ b/tests/auto/qnetworksession/qnetworksession.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +SUBDIRS = lackey tst_qnetworksession diff --git a/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp b/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp new file mode 100644 index 0000000..48db6cb --- /dev/null +++ b/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.cpp @@ -0,0 +1,919 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest/QtTest> +#include <QLocalServer> +#include <QLocalSocket> +#include "../../qbearertestcommon.h" +#include <qnetworkconfigmanager.h> +#include <qnetworksession.h> + +#ifdef Q_WS_MAEMO_6 +#include <stdio.h> +#include <iapconf.h> +#endif + +QT_USE_NAMESPACE + +Q_DECLARE_METATYPE(QNetworkConfiguration) +Q_DECLARE_METATYPE(QNetworkSession::State); +Q_DECLARE_METATYPE(QNetworkSession::SessionError); + +class tst_QNetworkSession : public QObject +{ + Q_OBJECT + +public slots: + void initTestCase(); + void cleanupTestCase(); + +private slots: + + void outOfProcessSession(); + void invalidSession(); + + void sessionProperties_data(); + void sessionProperties(); + + void userChoiceSession_data(); + void userChoiceSession(); + + void sessionOpenCloseStop_data(); + void sessionOpenCloseStop(); + +private: + QNetworkConfigurationManager manager; + + int inProcessSessionManagementCount; + +#ifdef Q_WS_MAEMO_6 + Maemo::IAPConf *iapconf; + Maemo::IAPConf *iapconf2; + Maemo::IAPConf *gprsiap; +#define MAX_IAPS 10 + Maemo::IAPConf *iaps[MAX_IAPS]; + QProcess *icd_stub; +#endif +}; + +void tst_QNetworkSession::initTestCase() +{ + qRegisterMetaType<QNetworkSession::State>("QNetworkSession::State"); + qRegisterMetaType<QNetworkSession::SessionError>("QNetworkSession::SessionError"); + qRegisterMetaType<QNetworkConfiguration>("QNetworkConfiguration"); + +#ifdef Q_WS_MAEMO_6 + iapconf = new Maemo::IAPConf("007"); + iapconf->setValue("ipv4_type", "AUTO"); + iapconf->setValue("wlan_wepkey1", "connt"); + iapconf->setValue("wlan_wepdefkey", 1); + iapconf->setValue("wlan_ssid", QByteArray("JamesBond")); + iapconf->setValue("name", "James Bond"); + iapconf->setValue("type", "WLAN_INFRA"); + + gprsiap = new Maemo::IAPConf("This-is-GPRS-IAP"); + gprsiap->setValue("ask_password", false); + gprsiap->setValue("gprs_accesspointname", "internet"); + gprsiap->setValue("gprs_password", ""); + gprsiap->setValue("gprs_username", ""); + gprsiap->setValue("ipv4_autodns", true); + gprsiap->setValue("ipv4_type", "AUTO"); + gprsiap->setValue("sim_imsi", "244070123456789"); + gprsiap->setValue("name", "MI6"); + gprsiap->setValue("type", "GPRS"); + + iapconf2 = new Maemo::IAPConf("osso.net"); + iapconf2->setValue("ipv4_type", "AUTO"); + iapconf2->setValue("wlan_wepkey1", "osso.net"); + iapconf2->setValue("wlan_wepdefkey", 1); + iapconf2->setValue("wlan_ssid", QByteArray("osso.net")); + iapconf2->setValue("name", "osso.net"); + iapconf2->setValue("type", "WLAN_INFRA"); + iapconf2->setValue("wlan_security", "WEP"); + + /* Create large number of IAPs in the gconf and see what happens */ + fflush(stdout); + printf("Creating %d IAPS: ", MAX_IAPS); + for (int i=0; i<MAX_IAPS; i++) { + QString num = QString().sprintf("%d", i); + QString iap = "iap-" + num; + iaps[i] = new Maemo::IAPConf(iap); + iaps[i]->setValue("name", QString("test-iap-")+num); + iaps[i]->setValue("type", "WLAN_INFRA"); + iaps[i]->setValue("wlan_ssid", QString(QString("test-ssid-")+num).toAscii()); + iaps[i]->setValue("wlan_security", "WPA_PSK"); + iaps[i]->setValue("EAP_wpa_preshared_passphrase", QString("test-passphrase-")+num); + printf("."); + fflush(stdout); + } + printf("\n"); + fflush(stdout); + + icd_stub = new QProcess(this); + icd_stub->start("/usr/bin/icd2_stub.py"); + QTest::qWait(1000); + + // Add a known network to scan list that icd2 stub returns + QProcess dbus_send; + // 007 network + dbus_send.start("dbus-send --type=method_call --system " + "--dest=com.nokia.icd2 /com/nokia/icd2 " + "com.nokia.icd2.testing.add_available_network " + "string:'' uint32:0 string:'' " + "string:WLAN_INFRA uint32:5000011 array:byte:48,48,55"); + dbus_send.waitForFinished(); + + // osso.net network + dbus_send.start("dbus-send --type=method_call --system " + "--dest=com.nokia.icd2 /com/nokia/icd2 " + "com.nokia.icd2.testing.add_available_network " + "string:'' uint32:0 string:'' " + "string:WLAN_INFRA uint32:83886097 array:byte:111,115,115,111,46,110,101,116"); + dbus_send.waitForFinished(); +#endif + + inProcessSessionManagementCount = -1; + + QSignalSpy spy(&manager, SIGNAL(updateCompleted())); + manager.updateConfigurations(); + QTRY_VERIFY(spy.count() == 1); +} + +void tst_QNetworkSession::cleanupTestCase() +{ + if (!(manager.capabilities() & QNetworkConfigurationManager::SystemSessionSupport) && + (manager.capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces) && + inProcessSessionManagementCount == 0) { + QFAIL("No usable configurations found to complete all possible " + "tests in inProcessSessionManagement()"); + } + +#ifdef Q_WS_MAEMO_6 + iapconf->clear(); + delete iapconf; + iapconf2->clear(); + delete iapconf2; + gprsiap->clear(); + delete gprsiap; + + printf("Deleting %d IAPS : ", MAX_IAPS); + for (int i=0; i<MAX_IAPS; i++) { + iaps[i]->clear(); + delete iaps[i]; + printf("."); + fflush(stdout); + } + printf("\n"); + qDebug() << "Deleted" << MAX_IAPS << "IAPs"; + + icd_stub->terminate(); + icd_stub->waitForFinished(); +#endif +} + +void tst_QNetworkSession::invalidSession() +{ + QNetworkSession session(QNetworkConfiguration(), 0); + QVERIFY(!session.isOpen()); + QVERIFY(session.state() == QNetworkSession::Invalid); +} + +void tst_QNetworkSession::sessionProperties_data() +{ + QTest::addColumn<QNetworkConfiguration>("configuration"); + + QTest::newRow("invalid configuration") << QNetworkConfiguration(); + + foreach (const QNetworkConfiguration &config, manager.allConfigurations()) { + const QString name = config.name().isEmpty() ? QString("<Hidden>") : config.name(); + QTest::newRow(name.toLocal8Bit().constData()) << config; + } +} + +void tst_QNetworkSession::sessionProperties() +{ + QFETCH(QNetworkConfiguration, configuration); + + QNetworkSession session(configuration); + + QVERIFY(session.configuration() == configuration); + + QStringList validBearerNames = QStringList() << QLatin1String("Unknown") + << QLatin1String("Ethernet") + << QLatin1String("WLAN") + << QLatin1String("2G") + << QLatin1String("CDMA2000") + << QLatin1String("WCDMA") + << QLatin1String("HSPA") + << QLatin1String("Bluetooth") + << QLatin1String("WiMAX"); + + if (!configuration.isValid()) { + QVERIFY(configuration.bearerName().isEmpty()); + } else { + qDebug() << "Type:" << configuration.type() + << "Bearer:" << configuration.bearerName(); + + switch (configuration.type()) + { + case QNetworkConfiguration::ServiceNetwork: + case QNetworkConfiguration::UserChoice: + default: + QVERIFY(configuration.bearerName().isEmpty()); + break; + case QNetworkConfiguration::InternetAccessPoint: + QVERIFY(validBearerNames.contains(configuration.bearerName())); + break; + } + } + + // QNetworkSession::interface() should return an invalid interface unless + // session is in the connected state. + qDebug() << "Session state:" << session.state(); + qDebug() << "Session iface:" << session.interface().isValid() << session.interface().name(); +#if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) + // On Symbian emulator, the support for data bearers is limited + QCOMPARE(session.state() == QNetworkSession::Connected, session.interface().isValid()); +#endif + + if (!configuration.isValid()) { + QVERIFY(configuration.state() == QNetworkConfiguration::Undefined && + session.state() == QNetworkSession::Invalid); + } else { + switch (configuration.state()) { + case QNetworkConfiguration::Undefined: + QVERIFY(session.state() == QNetworkSession::NotAvailable); + break; + case QNetworkConfiguration::Defined: + QVERIFY(session.state() == QNetworkSession::NotAvailable); + break; + case QNetworkConfiguration::Discovered: + QVERIFY(session.state() == QNetworkSession::Connecting || + session.state() == QNetworkSession::Disconnected); + break; + case QNetworkConfiguration::Active: + QVERIFY(session.state() == QNetworkSession::Connected || + session.state() == QNetworkSession::Closing || + session.state() == QNetworkSession::Roaming); + break; + default: + QFAIL("Invalid configuration state"); + }; + } +} + +void tst_QNetworkSession::userChoiceSession_data() +{ + QTest::addColumn<QNetworkConfiguration>("configuration"); + + QNetworkConfiguration config = manager.defaultConfiguration(); + if (config.type() == QNetworkConfiguration::UserChoice) + QTest::newRow("UserChoice") << config; + else + QSKIP("Default configuration is not a UserChoice configuration.", SkipAll); +} + +void tst_QNetworkSession::userChoiceSession() +{ + QFETCH(QNetworkConfiguration, configuration); + + QVERIFY(configuration.type() == QNetworkConfiguration::UserChoice); + + QNetworkSession session(configuration); + + // Check that configuration was really set + QVERIFY(session.configuration() == configuration); + + QVERIFY(!session.isOpen()); + + // Check that session is not active + QVERIFY(session.sessionProperty("ActiveConfiguration").toString().isEmpty()); + + // The remaining tests require the session to be not NotAvailable. + if (session.state() == QNetworkSession::NotAvailable) + QSKIP("Network is not available.", SkipSingle); + + QSignalSpy sessionOpenedSpy(&session, SIGNAL(opened())); + QSignalSpy sessionClosedSpy(&session, SIGNAL(closed())); + QSignalSpy stateChangedSpy(&session, SIGNAL(stateChanged(QNetworkSession::State))); + QSignalSpy errorSpy(&session, SIGNAL(error(QNetworkSession::SessionError))); + + // Test opening the session. + { + bool expectStateChange = session.state() != QNetworkSession::Connected; + + session.open(); + + session.waitForOpened(); + + if (session.isOpen()) + QVERIFY(!sessionOpenedSpy.isEmpty() || !errorSpy.isEmpty()); + if (!errorSpy.isEmpty()) { + QNetworkSession::SessionError error = + qvariant_cast<QNetworkSession::SessionError>(errorSpy.first().at(0)); + if (error == QNetworkSession::OperationNotSupportedError) { + // The session needed to bring up the interface, + // but the operation is not supported. + QSKIP("Configuration does not support open().", SkipSingle); + } else if (error == QNetworkSession::InvalidConfigurationError) { + // The session needed to bring up the interface, but it is not possible for the + // specified configuration. + if ((session.configuration().state() & QNetworkConfiguration::Discovered) == + QNetworkConfiguration::Discovered) { + QFAIL("Failed to open session for Discovered configuration."); + } else { + QSKIP("Cannot test session for non-Discovered configuration.", SkipSingle); + } + } else if (error == QNetworkSession::UnknownSessionError) { + QSKIP("Unknown session error.", SkipSingle); + } else { + QFAIL("Error opening session."); + } + } else if (!sessionOpenedSpy.isEmpty()) { + QCOMPARE(sessionOpenedSpy.count(), 1); + QVERIFY(sessionClosedSpy.isEmpty()); + QVERIFY(errorSpy.isEmpty()); + + if (expectStateChange) + QTRY_VERIFY(!stateChangedSpy.isEmpty()); + + QVERIFY(session.state() == QNetworkSession::Connected); +#if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) + // On Symbian emulator, the support for data bearers is limited + QVERIFY(session.interface().isValid()); +#endif + + const QString userChoiceIdentifier = + session.sessionProperty("UserChoiceConfiguration").toString(); + + QVERIFY(!userChoiceIdentifier.isEmpty()); + QVERIFY(userChoiceIdentifier != configuration.identifier()); + + QNetworkConfiguration userChoiceConfiguration = + manager.configurationFromIdentifier(userChoiceIdentifier); + + QVERIFY(userChoiceConfiguration.isValid()); + QVERIFY(userChoiceConfiguration.type() != QNetworkConfiguration::UserChoice); + + const QString testIdentifier("abc"); + //resetting UserChoiceConfiguration is ignored (read only property) + session.setSessionProperty("UserChoiceConfiguration", testIdentifier); + QVERIFY(session.sessionProperty("UserChoiceConfiguration").toString() != testIdentifier); + + const QString activeIdentifier = + session.sessionProperty("ActiveConfiguration").toString(); + + QVERIFY(!activeIdentifier.isEmpty()); + QVERIFY(activeIdentifier != configuration.identifier()); + + QNetworkConfiguration activeConfiguration = + manager.configurationFromIdentifier(activeIdentifier); + + QVERIFY(activeConfiguration.isValid()); + QVERIFY(activeConfiguration.type() == QNetworkConfiguration::InternetAccessPoint); + + //resetting ActiveConfiguration is ignored (read only property) + session.setSessionProperty("ActiveConfiguration", testIdentifier); + QVERIFY(session.sessionProperty("ActiveConfiguration").toString() != testIdentifier); + + if (userChoiceConfiguration.type() == QNetworkConfiguration::InternetAccessPoint) { + QVERIFY(userChoiceConfiguration == activeConfiguration); + } else { + QVERIFY(userChoiceConfiguration.type() == QNetworkConfiguration::ServiceNetwork); + QVERIFY(userChoiceConfiguration.children().contains(activeConfiguration)); + } + } else { + QFAIL("Timeout waiting for session to open."); + } + } +} + +void tst_QNetworkSession::sessionOpenCloseStop_data() +{ + QTest::addColumn<QNetworkConfiguration>("configuration"); + QTest::addColumn<bool>("forceSessionStop"); + + foreach (const QNetworkConfiguration &config, manager.allConfigurations()) { + const QString name = config.name().isEmpty() ? QString("<Hidden>") : config.name(); + QTest::newRow((name + QLatin1String(" close")).toLocal8Bit().constData()) + << config << false; + QTest::newRow((name + QLatin1String(" stop")).toLocal8Bit().constData()) + << config << true; + } + + inProcessSessionManagementCount = 0; +} + +void tst_QNetworkSession::sessionOpenCloseStop() +{ + QFETCH(QNetworkConfiguration, configuration); + QFETCH(bool, forceSessionStop); + + QNetworkSession session(configuration); + + // Test initial state of the session. + { + QVERIFY(session.configuration() == configuration); + QVERIFY(!session.isOpen()); + // session may be invalid if configuration is removed between when + // sessionOpenCloseStop_data() is called and here. + QVERIFY((configuration.isValid() && (session.state() != QNetworkSession::Invalid)) || + (!configuration.isValid() && (session.state() == QNetworkSession::Invalid))); + QVERIFY(session.error() == QNetworkSession::UnknownSessionError); + } + + // The remaining tests require the session to be not NotAvailable. + if (session.state() == QNetworkSession::NotAvailable) + QSKIP("Network is not available.", SkipSingle); + + QSignalSpy sessionOpenedSpy(&session, SIGNAL(opened())); + QSignalSpy sessionClosedSpy(&session, SIGNAL(closed())); + QSignalSpy stateChangedSpy(&session, SIGNAL(stateChanged(QNetworkSession::State))); + QSignalSpy errorSpy(&session, SIGNAL(error(QNetworkSession::SessionError))); + + // Test opening the session. + { + QNetworkSession::State previousState = session.state(); + bool expectStateChange = previousState != QNetworkSession::Connected; + + session.open(); + + session.waitForOpened(); + + if (session.isOpen()) + QVERIFY(!sessionOpenedSpy.isEmpty() || !errorSpy.isEmpty()); + if (!errorSpy.isEmpty()) { + QNetworkSession::SessionError error = + qvariant_cast<QNetworkSession::SessionError>(errorSpy.first().at(0)); + + QVERIFY(session.state() == previousState); + + if (error == QNetworkSession::OperationNotSupportedError) { + // The session needed to bring up the interface, + // but the operation is not supported. + QSKIP("Configuration does not support open().", SkipSingle); + } else if (error == QNetworkSession::InvalidConfigurationError) { + // The session needed to bring up the interface, but it is not possible for the + // specified configuration. + if ((session.configuration().state() & QNetworkConfiguration::Discovered) == + QNetworkConfiguration::Discovered) { + QFAIL("Failed to open session for Discovered configuration."); + } else { + QSKIP("Cannot test session for non-Discovered configuration.", SkipSingle); + } + } else if (error == QNetworkSession::UnknownSessionError) { + QSKIP("Unknown Session error.", SkipSingle); + } else { + QFAIL("Error opening session."); + } + } else if (!sessionOpenedSpy.isEmpty()) { + QCOMPARE(sessionOpenedSpy.count(), 1); + QVERIFY(sessionClosedSpy.isEmpty()); + QVERIFY(errorSpy.isEmpty()); + + if (expectStateChange) { + QTRY_VERIFY(stateChangedSpy.count() >= 2); + + QNetworkSession::State state = + qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(0).at(0)); + QVERIFY(state == QNetworkSession::Connecting); + + state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(1).at(0)); + QVERIFY(state == QNetworkSession::Connected); + } + + QVERIFY(session.state() == QNetworkSession::Connected); +#if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) + // On Symbian emulator, the support for data bearers is limited + QVERIFY(session.interface().isValid()); +#endif + } else { + QFAIL("Timeout waiting for session to open."); + } + } + + sessionOpenedSpy.clear(); + sessionClosedSpy.clear(); + stateChangedSpy.clear(); + errorSpy.clear(); + + QNetworkSession session2(configuration); + + QSignalSpy sessionOpenedSpy2(&session2, SIGNAL(opened())); + QSignalSpy sessionClosedSpy2(&session2, SIGNAL(closed())); + QSignalSpy stateChangedSpy2(&session2, SIGNAL(stateChanged(QNetworkSession::State))); + QSignalSpy errorSpy2(&session2, SIGNAL(error(QNetworkSession::SessionError))); + + // Test opening a second session. + { + QVERIFY(session2.configuration() == configuration); + QVERIFY(!session2.isOpen()); + QVERIFY(session2.state() == QNetworkSession::Connected); + QVERIFY(session.error() == QNetworkSession::UnknownSessionError); + + session2.open(); + + QTRY_VERIFY(!sessionOpenedSpy2.isEmpty() || !errorSpy2.isEmpty()); + + QVERIFY(session.isOpen()); + QVERIFY(session2.isOpen()); + QVERIFY(session.state() == QNetworkSession::Connected); + QVERIFY(session2.state() == QNetworkSession::Connected); +#if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) + // On Symbian emulator, the support for data bearers is limited + QVERIFY(session.interface().isValid()); +#endif + QCOMPARE(session.interface().hardwareAddress(), session2.interface().hardwareAddress()); + QCOMPARE(session.interface().index(), session2.interface().index()); + } + + sessionOpenedSpy2.clear(); + + if (forceSessionStop) { + // Test forcing the second session to stop the interface. + QNetworkSession::State previousState = session.state(); +#ifdef Q_CC_NOKIAX86 + // For S60 emulator builds: RConnection::Stop does not work on all Emulators + bool expectStateChange = false; +#else + bool expectStateChange = previousState != QNetworkSession::Disconnected; +#endif + + session2.stop(); + + QTRY_VERIFY(!sessionClosedSpy2.isEmpty() || !errorSpy2.isEmpty()); + + QVERIFY(!session2.isOpen()); + + if (!errorSpy2.isEmpty()) { + QVERIFY(!errorSpy.isEmpty()); + + // check for SessionAbortedError + QNetworkSession::SessionError error = + qvariant_cast<QNetworkSession::SessionError>(errorSpy.first().at(0)); + QNetworkSession::SessionError error2 = + qvariant_cast<QNetworkSession::SessionError>(errorSpy2.first().at(0)); + + QVERIFY(error == QNetworkSession::SessionAbortedError); + QVERIFY(error2 == QNetworkSession::SessionAbortedError); + + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(errorSpy2.count(), 1); + + errorSpy.clear(); + errorSpy2.clear(); + } + + QVERIFY(errorSpy.isEmpty()); + QVERIFY(errorSpy2.isEmpty()); + + if (expectStateChange) + QTRY_VERIFY(stateChangedSpy2.count() >= 2 || !errorSpy2.isEmpty()); + + if (!errorSpy2.isEmpty()) { + QVERIFY(session2.state() == previousState); + QVERIFY(session.state() == previousState); + + QNetworkSession::SessionError error = + qvariant_cast<QNetworkSession::SessionError>(errorSpy2.first().at(0)); + if (error == QNetworkSession::OperationNotSupportedError) { + // The session needed to bring down the interface, + // but the operation is not supported. + QSKIP("Configuration does not support stop().", SkipSingle); + } else if (error == QNetworkSession::InvalidConfigurationError) { + // The session needed to bring down the interface, but it is not possible for the + // specified configuration. + if ((session.configuration().state() & QNetworkConfiguration::Discovered) == + QNetworkConfiguration::Discovered) { + QFAIL("Failed to stop session for Discovered configuration."); + } else { + QSKIP("Cannot test session for non-Discovered configuration.", SkipSingle); + } + } else { + QFAIL("Error stopping session."); + } + } else if (!sessionClosedSpy2.isEmpty()) { + if (expectStateChange) { + if (configuration.type() == QNetworkConfiguration::ServiceNetwork) { + bool roamedSuccessfully = false; + + QCOMPARE(stateChangedSpy2.count(), 4); + + QNetworkSession::State state = + qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(0).at(0)); + QVERIFY(state == QNetworkSession::Connecting); + + state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(1).at(0)); + QVERIFY(state == QNetworkSession::Connected); + + state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(2).at(0)); + QVERIFY(state == QNetworkSession::Closing); + + state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(3).at(0)); + QVERIFY(state == QNetworkSession::Disconnected); + + QTRY_VERIFY(stateChangedSpy.count() > 0); + state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(0).at(0)); + if (state == QNetworkSession::Roaming) { + QTRY_VERIFY(!errorSpy.isEmpty() || stateChangedSpy.count() > 1); + if (stateChangedSpy.count() > 1) { + state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(1).at(0)); + if (state == QNetworkSession::Connected) { + roamedSuccessfully = true; + QTRY_VERIFY(session2.state() == QNetworkSession::Disconnected); + } + } + } + if (roamedSuccessfully) { + QString configId = session.sessionProperty("ActiveConfiguration").toString(); + QNetworkConfiguration config = manager.configurationFromIdentifier(configId); + QNetworkSession session3(config); + QSignalSpy errorSpy3(&session3, SIGNAL(error(QNetworkSession::SessionError))); + QSignalSpy sessionOpenedSpy3(&session3, SIGNAL(opened())); + + session3.open(); + session3.waitForOpened(); + + if (session.isOpen()) + QVERIFY(!sessionOpenedSpy3.isEmpty() || !errorSpy3.isEmpty()); + + session.stop(); + + QTRY_VERIFY(session.state() == QNetworkSession::Disconnected); + QTRY_VERIFY(session3.state() == QNetworkSession::Disconnected); + } +#ifndef Q_CC_NOKIAX86 + if (!roamedSuccessfully) + QVERIFY(!errorSpy.isEmpty()); +#endif + } else { + QCOMPARE(stateChangedSpy2.count(), 2); + + QNetworkSession::State state = + qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(0).at(0)); + QVERIFY(state == QNetworkSession::Closing); + + state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(1).at(0)); + QVERIFY(state == QNetworkSession::Disconnected); + } + + QTRY_VERIFY(!sessionClosedSpy.isEmpty()); + QVERIFY(session.state() == QNetworkSession::Disconnected); + QVERIFY(session2.state() == QNetworkSession::Disconnected); + } + + QVERIFY(errorSpy2.isEmpty()); + + ++inProcessSessionManagementCount; + } else { + QFAIL("Timeout waiting for session to stop."); + } + +#ifndef Q_CC_NOKIAX86 + QVERIFY(!sessionClosedSpy.isEmpty()); +#endif + QVERIFY(!sessionClosedSpy2.isEmpty()); + +#ifndef Q_CC_NOKIAX86 + QVERIFY(!session.isOpen()); +#endif + QVERIFY(!session2.isOpen()); + } else { + // Test closing the second session. + { + int stateChangedCountBeforeClose = stateChangedSpy2.count(); + session2.close(); + + QTRY_VERIFY(!sessionClosedSpy2.isEmpty()); +#ifndef Q_CC_NOKIAX86 + QVERIFY(stateChangedSpy2.count() == stateChangedCountBeforeClose); +#endif + + QVERIFY(sessionClosedSpy.isEmpty()); + + QVERIFY(session.isOpen()); + QVERIFY(!session2.isOpen()); + QVERIFY(session.state() == QNetworkSession::Connected); + QVERIFY(session2.state() == QNetworkSession::Connected); +#if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) + // On Symbian emulator, the support for data bearers is limited + QVERIFY(session.interface().isValid()); +#endif + QCOMPARE(session.interface().hardwareAddress(), session2.interface().hardwareAddress()); + QCOMPARE(session.interface().index(), session2.interface().index()); + } + + sessionClosedSpy2.clear(); + + // Test closing the first session. + { +#ifdef Q_CC_NOKIAX86 + // For S60 emulator builds: RConnection::Close does not actually + // close network connection on all Emulators + bool expectStateChange = false; +#else + bool expectStateChange = session.state() != QNetworkSession::Disconnected && + manager.capabilities() & QNetworkConfigurationManager::SystemSessionSupport; +#endif + + session.close(); + + QTRY_VERIFY(!sessionClosedSpy.isEmpty() || !errorSpy.isEmpty()); + + QVERIFY(!session.isOpen()); + + if (expectStateChange) + QTRY_VERIFY(!stateChangedSpy.isEmpty() || !errorSpy.isEmpty()); + + if (!errorSpy.isEmpty()) { + QNetworkSession::SessionError error = + qvariant_cast<QNetworkSession::SessionError>(errorSpy.first().at(0)); + if (error == QNetworkSession::OperationNotSupportedError) { + // The session needed to bring down the interface, + // but the operation is not supported. + QSKIP("Configuration does not support close().", SkipSingle); + } else if (error == QNetworkSession::InvalidConfigurationError) { + // The session needed to bring down the interface, but it is not possible for the + // specified configuration. + if ((session.configuration().state() & QNetworkConfiguration::Discovered) == + QNetworkConfiguration::Discovered) { + QFAIL("Failed to close session for Discovered configuration."); + } else { + QSKIP("Cannot test session for non-Discovered configuration.", SkipSingle); + } + } else { + QFAIL("Error closing session."); + } + } else if (!sessionClosedSpy.isEmpty()) { + QVERIFY(sessionOpenedSpy.isEmpty()); + QCOMPARE(sessionClosedSpy.count(), 1); + if (expectStateChange) + QVERIFY(!stateChangedSpy.isEmpty()); + QVERIFY(errorSpy.isEmpty()); + + if (expectStateChange) + QTRY_VERIFY(session.state() == QNetworkSession::Disconnected); + + ++inProcessSessionManagementCount; + } else { + QFAIL("Timeout waiting for session to close."); + } + } + } +} + +QDebug operator<<(QDebug debug, const QList<QNetworkConfiguration> &list) +{ + debug.nospace() << "( "; + foreach (const QNetworkConfiguration &config, list) + debug.nospace() << config.identifier() << ", "; + debug.nospace() << ")\n"; + return debug; +} + +// Note: outOfProcessSession requires that at least one configuration is +// at Discovered -state (Defined is ok for symbian as well, as long as it is possible to open). +void tst_QNetworkSession::outOfProcessSession() +{ + qDebug() << "START"; + +#if defined(Q_OS_SYMBIAN) && defined(__WINS__) + QSKIP("Symbian emulator does not support two [QR]PRocesses linking a dll (QtBearer.dll) with global writeable static data.", SkipAll); +#endif + QNetworkConfigurationManager manager; + // Create a QNetworkConfigurationManager to detect configuration changes made in Lackey. This + // is actually the essence of this testcase - to check that platform mediates/reflects changes + // regardless of process boundaries. The interprocess communication is more like a way to get + // this test-case act correctly and timely. + QList<QNetworkConfiguration> before = manager.allConfigurations(QNetworkConfiguration::Active); + QSignalSpy spy(&manager, SIGNAL(configurationChanged(QNetworkConfiguration))); + + // Cannot read/write to processes on WinCE or Symbian. + // Easiest alternative is to use sockets for IPC. + QLocalServer oopServer; + // First remove possible earlier listening address which would cause listen to fail + // (e.g. previously abruptly ended unit test might cause this) + QLocalServer::removeServer("tst_qnetworksession"); + oopServer.listen("tst_qnetworksession"); + + qDebug() << "starting lackey"; + QProcess lackey; + lackey.start("qnetworksessionlackey"); + qDebug() << lackey.error() << lackey.errorString(); + QVERIFY(lackey.waitForStarted()); + + qDebug() << "waiting for connection"; + QVERIFY(oopServer.waitForNewConnection(-1)); + QLocalSocket *oopSocket = oopServer.nextPendingConnection(); + qDebug() << "got connection"; + do { + QByteArray output; + + if (oopSocket->waitForReadyRead()) + output = oopSocket->readLine().trimmed(); + + if (output.startsWith("Started session ")) { + QString identifier = QString::fromLocal8Bit(output.mid(20).constData()); + QNetworkConfiguration changed; + + do { + QTRY_VERIFY(!spy.isEmpty()); + changed = qvariant_cast<QNetworkConfiguration>(spy.takeFirst().at(0)); + } while (changed.identifier() != identifier); + + QVERIFY((changed.state() & QNetworkConfiguration::Active) == + QNetworkConfiguration::Active); + + QVERIFY(!before.contains(changed)); + + QList<QNetworkConfiguration> after = + manager.allConfigurations(QNetworkConfiguration::Active); + + QVERIFY(after.contains(changed)); + + spy.clear(); + + oopSocket->write("stop\n"); + oopSocket->waitForBytesWritten(); + + do { + QTRY_VERIFY(!spy.isEmpty()); + + changed = qvariant_cast<QNetworkConfiguration>(spy.takeFirst().at(0)); + } while (changed.identifier() != identifier); + + QVERIFY((changed.state() & QNetworkConfiguration::Active) != + QNetworkConfiguration::Active); + + QList<QNetworkConfiguration> afterStop = + manager.allConfigurations(QNetworkConfiguration::Active); + + QVERIFY(!afterStop.contains(changed)); + + oopSocket->disconnectFromServer(); + oopSocket->waitForDisconnected(-1); + + lackey.waitForFinished(); + } + // This is effected by QTBUG-4903, process will always report as running + //} while (lackey.state() == QProcess::Running); + + // Workaround: the socket in the lackey will disconnect on exit + } while (oopSocket->state() == QLocalSocket::ConnectedState); + + switch (lackey.exitCode()) { + case 0: + qDebug("Lackey returned exit success (0)"); + break; + case 1: + QSKIP("No discovered configurations found.", SkipAll); + case 2: + QSKIP("Lackey could not start session.", SkipAll); + default: + QSKIP("Lackey failed", SkipAll); + } + qDebug("STOP"); +} + +QTEST_MAIN(tst_QNetworkSession) + +#include "tst_qnetworksession.moc" + diff --git a/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.pro b/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.pro new file mode 100644 index 0000000..cad388c --- /dev/null +++ b/tests/auto/qnetworksession/tst_qnetworksession/tst_qnetworksession.pro @@ -0,0 +1,15 @@ +load(qttest_p4) +SOURCES += tst_qnetworksession.cpp +HEADERS += ../../qbearertestcommon.h + +QT = core network + +symbian { + TARGET.CAPABILITY = NetworkServices NetworkControl ReadUserData PowerMgmt +} + +maemo6 { + CONFIG += link_pkgconfig + + PKGCONFIG += conninet +} diff --git a/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp b/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp index 8e26696..ac9ca46 100644 --- a/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp +++ b/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp @@ -832,6 +832,7 @@ void tst_QScriptEngineAgent::functionEntryAndExit_builtin_data() /** check behaiviour of built-in function */ void tst_QScriptEngineAgent::functionEntryAndExit_builtin() { + QSKIP("The test fails on platforms others than Linux. The issue will be fixed with next JSC update", SkipAll); QFETCH(QString, script); QFETCH(QString, result); QScriptEngine eng; diff --git a/tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp b/tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp index b2a85d7..41df98c 100644 --- a/tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp +++ b/tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp @@ -683,8 +683,72 @@ tst_Suite::tst_Suite() addExpectedFailure("ecma_3/String/15.5.4.11.js", "Section 7", willFixInNextReleaseMessage); addExpectedFailure("ecma_3/String/15.5.4.11.js", "Section 26", willFixInNextReleaseMessage); +#ifndef Q_CC_MINGW addExpectedFailure("ecma/Expressions/11.4.7-02.js", "-(-2147483648) == 2147483648", willFixInNextReleaseMessage); addExpectedFailure("ecma/TypeConversion/9.3.1-3.js", "- -\"0x80000000\"", willFixInNextReleaseMessage); +#endif + +#ifdef Q_OS_WIN + addExpectedFailure("ecma_3/Expressions/11.7.3-01.js", "11.7.3 - >>> should evaluate operands in order: order", "QTBUG-8056"); + addExpectedFailure("ecma_3/Operators/order-01.js", "operator evaluation order: 11.7.3 >>>", "QTBUG-8056"); + addExpectedFailure("ecma_3/Operators/order-01.js", "operator evaluation order: 11.13.2 >>>=", "QTBUG-8056"); +#endif + +#ifdef Q_CC_MINGW + addExpectedFailure("ecma/Math/15.8.2.13.js", "Math.pow(NaN,0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Math.pow(NaN,-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.5.js", "Math.atan2(Infinity, Infinity)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.5.js", "Math.atan2(Infinity, -Infinity)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.5.js", "Math.atan2(-Infinity, Infinity)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.5.js", "Math.atan2(-Infinity, -Infinity)", willFixInNextReleaseMessage); +#endif + +#ifdef Q_OS_SOLARIS + addExpectedFailure("ecma/Expressions/11.13.2-2.js", "VAR1 = -0; VAR2= Infinity; VAR2 /= VAR1", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Expressions/11.13.2-2.js", "VAR1 = -0; VAR2= -Infinity; VAR2 /= VAR1", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Expressions/11.13.2-2.js", "VAR1 = 1; VAR2= -0; VAR1 /= VAR2", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Expressions/11.13.2-2.js", "VAR1 = -1; VAR2= -0; VAR1 /= VAR2", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Expressions/11.5.2.js", "Number.POSITIVE_INFINITY / -0", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Expressions/11.5.2.js", "Number.NEGATIVE_INFINITY / -0", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Expressions/11.5.2.js", "1 / -0", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Expressions/11.5.2.js", "-1 / -0", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.10.js", "Math.log(-0.0000001)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.10.js", "Math.log(-1)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.11.js", "Infinity/Math.max(-0,-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.12.js", "Infinity/Math.min(0,-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.12.js", "Infinity/Math.min(-0,-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Math.pow(NaN,0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Math.pow(NaN,-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Infinity/Math.pow(-Infinity, -1)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Math.pow(0, -1)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Math.pow(0, -0.5)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Math.pow(0, -1000)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Infinity/Math.pow(-0, 1)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Infinity/Math.pow(-0, 3)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.13.js", "Math.pow(-0, -2)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.15.js", "Infinity/Math.round(-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.15.js", "Infinity/Math.round(-0.49)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.15.js", "Infinity/Math.round(-0.5)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.17.js", "Infinity/Math.sqrt(-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.18.js", "Infinity/Math.tan(-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.2.js", "Math.acos(1.00000001)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.2.js", "Math.acos(11.00000001)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.3.js", "Math.asin(1.000001)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.3.js", "Math.asin(-1.000001)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.3.js", "Infinity/Math.asin(-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.4.js", "Infinity/Math.atan(-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.5.js", "Math.atan2(0, -0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.5.js", "Infinity/Math.atan2(-0, 1)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.5.js", "Math.atan2(-0,\t-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.5.js", "Math.atan2(-0,\t-1)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.6.js", "Infinity/Math.ceil('-0')", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.6.js", "Infinity/Math.ceil(-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.6.js", "Infinity/Math.ceil(-Number.MIN_VALUE)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.6.js", "Infinity/Math.ceil(-0.9)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/Math/15.8.2.9.js", "Infinity/Math.floor(-0)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/TypeConversion/9.3.1-3.js", "var z = 0; print(1/-z)", willFixInNextReleaseMessage); + addExpectedFailure("ecma/TypeConversion/9.3.1-3.js", "1/-1e-2000", willFixInNextReleaseMessage); +#endif static const char klass[] = "tst_QScriptJsTestSuite"; diff --git a/tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp b/tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp index 147896e..a3dfd6c 100644 --- a/tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp +++ b/tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp @@ -236,6 +236,16 @@ tst_Suite::tst_Suite() addExpectedFailure("global-const-var-conflicts", "false", "true", willFixInNextReleaseMessage); addExpectedFailure("string-lastindexof", "0", "-1", "test is wrong?"); +#ifndef Q_OS_LINUX + addExpectedFailure("to-precision", "1.235e+27", "1.234e+27", "QTBUG-8053: toPrecision(4) gives wrong result on Mac"); +#endif + +#ifdef Q_OS_SOLARIS + addExpectedFailure("math-min-max", "Infinity", "-Infinity", willFixInNextReleaseMessage); + addExpectedFailure("negate-zero", "false", "true", willFixInNextReleaseMessage); + addExpectedFailure("str-to-num", "Infinity", "-Infinity", willFixInNextReleaseMessage); +#endif + addTestExclusion("debug-*", "not applicable"); addTestExclusion("mirror-*", "not applicable"); @@ -245,6 +255,10 @@ tst_Suite::tst_Suite() addTestExclusion("string-case", "V8-specific behavior? (Doesn't pass on SpiderMonkey either)"); +#ifdef Q_CC_MINGW + addTestExclusion("date$", "QTBUG-7698: Date.prototype.setMonth() crashes on win32-g++"); +#endif + #ifdef Q_OS_WINCE addTestExclusion("deep-recursion", "Demands too much memory on WinCE"); addTestExclusion("nested-repetition-count-overflow", "Demands too much memory on WinCE"); diff --git a/tests/auto/qscriptvalue/testgen/data.txt b/tests/auto/qscriptvalue/testgen/data.txt index 8e7026e..a041c9b 100644 --- a/tests/auto/qscriptvalue/testgen/data.txt +++ b/tests/auto/qscriptvalue/testgen/data.txt @@ -114,3 +114,7 @@ engine->evaluate("/foo/") engine->evaluate("new Object()") engine->evaluate("new Array()") engine->evaluate("new Error()") + +#other +engine->nullValue() +engine->undefinedValue()
\ No newline at end of file diff --git a/tests/auto/qscriptvalue/testgen/gen.py b/tests/auto/qscriptvalue/testgen/gen.py index 7161e6b..b3c81b9 100755 --- a/tests/auto/qscriptvalue/testgen/gen.py +++ b/tests/auto/qscriptvalue/testgen/gen.py @@ -231,7 +231,7 @@ if __name__ == '__main__': row_esc = escape(row) out.append(qsvTempl.substitute(expr = row, expr_esc = row_esc)) - result = mainTempl.substitute(dump= "".join(out) \ + result = mainTempl.safe_substitute(dump= "".join(out) \ , values = (11 * ' ' + '<< ').join(qsv) \ , count = len(qsv) \ , dataTags = (11 * ' ' + '<< ').join(map(lambda w: '"' + escape(w.replace('\n','')) + '"\n', qsv))) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp index 1d105b4..4e621b3 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp @@ -152,6 +152,8 @@ void tst_QScriptValue::initScriptValues() DEFINE_TEST_VALUE(engine->evaluate("new Object()")); DEFINE_TEST_VALUE(engine->evaluate("new Array()")); DEFINE_TEST_VALUE(engine->evaluate("new Error()")); + DEFINE_TEST_VALUE(engine->nullValue()); + DEFINE_TEST_VALUE(engine->undefinedValue()); } @@ -267,6 +269,8 @@ void tst_QScriptValue::isValid_makeData(const char* expr) << "engine->evaluate(\"new Object()\")" << "engine->evaluate(\"new Array()\")" << "engine->evaluate(\"new Error()\")" + << "engine->nullValue()" + << "engine->undefinedValue()" ; } newRow(expr) << isValid.contains(expr); @@ -453,6 +457,7 @@ void tst_QScriptValue::isNull_makeData(const char* expr) isNull << "QScriptValue(QScriptValue::NullValue)" << "QScriptValue(0, QScriptValue::NullValue)" << "QScriptValue(engine, QScriptValue::NullValue)" + << "engine->nullValue()" ; } newRow(expr) << isNull.contains(expr); @@ -535,6 +540,7 @@ void tst_QScriptValue::isUndefined_makeData(const char* expr) << "QScriptValue(0, QScriptValue::UndefinedValue)" << "QScriptValue(engine, QScriptValue::UndefinedValue)" << "engine->evaluate(\"{}\")" + << "engine->undefinedValue()" ; } newRow(expr) << isUndefined.contains(expr); @@ -810,6 +816,8 @@ void tst_QScriptValue::toString_makeData(const char* expr) toString.insert("engine->evaluate(\"new Object()\")", "[object Object]"); toString.insert("engine->evaluate(\"new Array()\")", ""); toString.insert("engine->evaluate(\"new Error()\")", "Error: Unknown error"); + toString.insert("engine->nullValue()", "null"); + toString.insert("engine->undefinedValue()", "undefined"); } newRow(expr) << toString.value(expr); } @@ -936,6 +944,8 @@ void tst_QScriptValue::toNumber_makeData(const char* expr) toNumber.insert("engine->evaluate(\"new Object()\")", qQNaN()); toNumber.insert("engine->evaluate(\"new Array()\")", 0); toNumber.insert("engine->evaluate(\"new Error()\")", qQNaN()); + toNumber.insert("engine->nullValue()", 0); + toNumber.insert("engine->undefinedValue()", qQNaN()); } newRow(expr) << toNumber.value(expr); } @@ -1070,6 +1080,8 @@ void tst_QScriptValue::toBool_makeData(const char* expr) toBool.insert("engine->evaluate(\"new Object()\")", true); toBool.insert("engine->evaluate(\"new Array()\")", true); toBool.insert("engine->evaluate(\"new Error()\")", true); + toBool.insert("engine->nullValue()", false); + toBool.insert("engine->undefinedValue()", false); } newRow(expr) << toBool.value(expr); } @@ -1196,6 +1208,8 @@ void tst_QScriptValue::toBoolean_makeData(const char* expr) toBoolean.insert("engine->evaluate(\"new Object()\")", true); toBoolean.insert("engine->evaluate(\"new Array()\")", true); toBoolean.insert("engine->evaluate(\"new Error()\")", true); + toBoolean.insert("engine->nullValue()", false); + toBoolean.insert("engine->undefinedValue()", false); } newRow(expr) << toBoolean.value(expr); } @@ -1322,6 +1336,8 @@ void tst_QScriptValue::toInteger_makeData(const char* expr) toInteger.insert("engine->evaluate(\"new Object()\")", 0); toInteger.insert("engine->evaluate(\"new Array()\")", 0); toInteger.insert("engine->evaluate(\"new Error()\")", 0); + toInteger.insert("engine->nullValue()", 0); + toInteger.insert("engine->undefinedValue()", 0); } newRow(expr) << toInteger.value(expr); } @@ -1452,6 +1468,8 @@ void tst_QScriptValue::toInt32_makeData(const char* expr) toInt32.insert("engine->evaluate(\"new Object()\")", 0); toInt32.insert("engine->evaluate(\"new Array()\")", 0); toInt32.insert("engine->evaluate(\"new Error()\")", 0); + toInt32.insert("engine->nullValue()", 0); + toInt32.insert("engine->undefinedValue()", 0); } newRow(expr) << toInt32.value(expr); } @@ -1578,6 +1596,8 @@ void tst_QScriptValue::toUInt32_makeData(const char* expr) toUInt32.insert("engine->evaluate(\"new Object()\")", 0); toUInt32.insert("engine->evaluate(\"new Array()\")", 0); toUInt32.insert("engine->evaluate(\"new Error()\")", 0); + toUInt32.insert("engine->nullValue()", 0); + toUInt32.insert("engine->undefinedValue()", 0); } newRow(expr) << toUInt32.value(expr); } @@ -1704,6 +1724,8 @@ void tst_QScriptValue::toUInt16_makeData(const char* expr) toUInt16.insert("engine->evaluate(\"new Object()\")", 0); toUInt16.insert("engine->evaluate(\"new Array()\")", 0); toUInt16.insert("engine->evaluate(\"new Error()\")", 0); + toUInt16.insert("engine->nullValue()", 0); + toUInt16.insert("engine->undefinedValue()", 0); } newRow(expr) << toUInt16.value(expr); } @@ -1736,6 +1758,8 @@ void tst_QScriptValue::equals_makeData(const char *expr) equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->nullValue()"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); @@ -1743,6 +1767,8 @@ void tst_QScriptValue::equals_makeData(const char *expr) equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(true) <=> QScriptValue(true)"); equals.insert("QScriptValue(true) <=> QScriptValue(0, true)"); equals.insert("QScriptValue(true) <=> QScriptValue(engine, true)"); @@ -1937,6 +1963,8 @@ void tst_QScriptValue::equals_makeData(const char *expr) equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->nullValue()"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); @@ -1944,6 +1972,8 @@ void tst_QScriptValue::equals_makeData(const char *expr) equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(0, true) <=> QScriptValue(true)"); equals.insert("QScriptValue(0, true) <=> QScriptValue(0, true)"); equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, true)"); @@ -2138,6 +2168,8 @@ void tst_QScriptValue::equals_makeData(const char *expr) equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->nullValue()"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); @@ -2145,6 +2177,8 @@ void tst_QScriptValue::equals_makeData(const char *expr) equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(engine, true) <=> QScriptValue(true)"); equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, true)"); equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, true)"); @@ -2355,6 +2389,8 @@ void tst_QScriptValue::equals_makeData(const char *expr) equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::NullValue)"); equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")"); + equals.insert("engine->evaluate(\"{}\") <=> engine->nullValue()"); + equals.insert("engine->evaluate(\"{}\") <=> engine->undefinedValue()"); equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")"); equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")"); equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(false)"); @@ -2401,6 +2437,24 @@ void tst_QScriptValue::equals_makeData(const char *expr) equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString())"); equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")"); equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("engine->nullValue() <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("engine->nullValue() <=> engine->evaluate(\"{}\")"); + equals.insert("engine->nullValue() <=> engine->nullValue()"); + equals.insert("engine->nullValue() <=> engine->undefinedValue()"); + equals.insert("engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("engine->undefinedValue() <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("engine->undefinedValue() <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("engine->undefinedValue() <=> engine->evaluate(\"{}\")"); + equals.insert("engine->undefinedValue() <=> engine->nullValue()"); + equals.insert("engine->undefinedValue() <=> engine->undefinedValue()"); } QHash<QString, QScriptValue>::const_iterator it; for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { @@ -2435,9 +2489,11 @@ void tst_QScriptValue::strictlyEquals_makeData(const char *expr) equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()"); equals.insert("QScriptValue(true) <=> QScriptValue(true)"); equals.insert("QScriptValue(true) <=> QScriptValue(0, true)"); equals.insert("QScriptValue(true) <=> QScriptValue(engine, true)"); @@ -2530,9 +2586,11 @@ void tst_QScriptValue::strictlyEquals_makeData(const char *expr) equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()"); equals.insert("QScriptValue(0, true) <=> QScriptValue(true)"); equals.insert("QScriptValue(0, true) <=> QScriptValue(0, true)"); equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, true)"); @@ -2625,9 +2683,11 @@ void tst_QScriptValue::strictlyEquals_makeData(const char *expr) equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")"); + equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()"); equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)"); equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)"); equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()"); equals.insert("QScriptValue(engine, true) <=> QScriptValue(true)"); equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, true)"); equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, true)"); @@ -2721,6 +2781,7 @@ void tst_QScriptValue::strictlyEquals_makeData(const char *expr) equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)"); equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")"); + equals.insert("engine->evaluate(\"{}\") <=> engine->undefinedValue()"); equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")"); equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")"); equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")"); @@ -2737,6 +2798,15 @@ void tst_QScriptValue::strictlyEquals_makeData(const char *expr) equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")"); equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")"); equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)"); + equals.insert("engine->nullValue() <=> engine->nullValue()"); + equals.insert("engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)"); + equals.insert("engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)"); + equals.insert("engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)"); + equals.insert("engine->undefinedValue() <=> engine->evaluate(\"{}\")"); + equals.insert("engine->undefinedValue() <=> engine->undefinedValue()"); } QHash<QString, QScriptValue>::const_iterator it; for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { @@ -3090,6 +3160,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"[]\")"); equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"Array.prototype\")"); equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(-6.37e-8) <=> engine->nullValue()"); equals.insert("QScriptValue(0x43211234) <=> QScriptValue(qInf())"); equals.insert("QScriptValue(0x43211234) <=> QScriptValue(\"Infinity\")"); equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, qInf())"); @@ -3180,6 +3251,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"[]\")"); equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"Array.prototype\")"); equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(-qInf()) <=> engine->nullValue()"); equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"ciao\")"); equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"ciao\")"); @@ -3291,6 +3363,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"/foo/\")"); equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Object()\")"); equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(\"-Infinity\") <=> engine->nullValue()"); equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Function.prototype\")"); equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Object\")"); equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Array\")"); @@ -3903,6 +3976,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"[]\")"); equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")"); equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, -6.37e-8) <=> engine->nullValue()"); equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(qInf())"); equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(\"Infinity\")"); equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, qInf())"); @@ -3993,6 +4067,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"[]\")"); equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"Array.prototype\")"); equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(0, -qInf()) <=> engine->nullValue()"); equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"ciao\")"); equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"ciao\")"); @@ -4104,6 +4179,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"/foo/\")"); equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Object()\")"); equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->nullValue()"); equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function.prototype\")"); equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Object\")"); equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Array\")"); @@ -4717,6 +4793,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"[]\")"); equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")"); equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->nullValue()"); equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(qInf())"); equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(\"Infinity\")"); equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, qInf())"); @@ -4807,6 +4884,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"[]\")"); equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Array.prototype\")"); equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"new Array()\")"); + equals.insert("QScriptValue(engine, -qInf()) <=> engine->nullValue()"); equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"ciao\")"); equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))"); equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"ciao\")"); @@ -4918,6 +4996,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"/foo/\")"); equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Object()\")"); equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Error()\")"); + equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->nullValue()"); equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function.prototype\")"); equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Object\")"); equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Array\")"); @@ -5533,6 +5612,42 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")"); equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")"); equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Object()\")"); + equals.insert("engine->nullValue() <=> QScriptValue(true)"); + equals.insert("engine->nullValue() <=> QScriptValue(int(122))"); + equals.insert("engine->nullValue() <=> QScriptValue(uint(124))"); + equals.insert("engine->nullValue() <=> QScriptValue(123.0)"); + equals.insert("engine->nullValue() <=> QScriptValue(6.37e-8)"); + equals.insert("engine->nullValue() <=> QScriptValue(0x43211234)"); + equals.insert("engine->nullValue() <=> QScriptValue(0x10000)"); + equals.insert("engine->nullValue() <=> QScriptValue(0x10001)"); + equals.insert("engine->nullValue() <=> QScriptValue(qInf())"); + equals.insert("engine->nullValue() <=> QScriptValue(\"Infinity\")"); + equals.insert("engine->nullValue() <=> QScriptValue(QString(\"123\"))"); + equals.insert("engine->nullValue() <=> QScriptValue(QString(\"12.4\"))"); + equals.insert("engine->nullValue() <=> QScriptValue(0, true)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, int(122))"); + equals.insert("engine->nullValue() <=> QScriptValue(0, uint(124))"); + equals.insert("engine->nullValue() <=> QScriptValue(0, 123.0)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, 6.37e-8)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, 0x43211234)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, 0x10000)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, 0x10001)"); + equals.insert("engine->nullValue() <=> QScriptValue(0, qInf())"); + equals.insert("engine->nullValue() <=> QScriptValue(0, \"Infinity\")"); + equals.insert("engine->nullValue() <=> QScriptValue(0, QString(\"123\"))"); + equals.insert("engine->nullValue() <=> QScriptValue(0, QString(\"12.3\"))"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, true)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, int(122))"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, uint(124))"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, 123.0)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, 6.37e-8)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, 0x43211234)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, 0x10000)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, 0x10001)"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, qInf())"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, \"Infinity\")"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, QString(\"123\"))"); + equals.insert("engine->nullValue() <=> QScriptValue(engine, QString(\"1.23\"))"); } QHash<QString, QScriptValue>::const_iterator it; for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { @@ -5718,6 +5833,8 @@ void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr) value.insert("engine->evaluate(\"new Object()\")", "[object Object]"); value.insert("engine->evaluate(\"new Array()\")", ""); value.insert("engine->evaluate(\"new Error()\")", "Error: Unknown error"); + value.insert("engine->nullValue()", ""); + value.insert("engine->undefinedValue()", ""); } newRow(expr) << value.value(expr); } @@ -5844,6 +5961,8 @@ void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr) value.insert("engine->evaluate(\"new Object()\")", qQNaN()); value.insert("engine->evaluate(\"new Array()\")", 0); value.insert("engine->evaluate(\"new Error()\")", qQNaN()); + value.insert("engine->nullValue()", 0); + value.insert("engine->undefinedValue()", qQNaN()); } newRow(expr) << value.value(expr); } @@ -5978,6 +6097,8 @@ void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr) value.insert("engine->evaluate(\"new Object()\")", true); value.insert("engine->evaluate(\"new Array()\")", true); value.insert("engine->evaluate(\"new Error()\")", true); + value.insert("engine->nullValue()", false); + value.insert("engine->undefinedValue()", false); } newRow(expr) << value.value(expr); } @@ -6104,6 +6225,8 @@ void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr) value.insert("engine->evaluate(\"new Object()\")", 0); value.insert("engine->evaluate(\"new Array()\")", 0); value.insert("engine->evaluate(\"new Error()\")", 0); + value.insert("engine->nullValue()", 0); + value.insert("engine->undefinedValue()", 0); } newRow(expr) << value.value(expr); } @@ -6230,6 +6353,8 @@ void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr) value.insert("engine->evaluate(\"new Object()\")", 0); value.insert("engine->evaluate(\"new Array()\")", 0); value.insert("engine->evaluate(\"new Error()\")", 0); + value.insert("engine->nullValue()", 0); + value.insert("engine->undefinedValue()", 0); } newRow(expr) << value.value(expr); } @@ -6356,6 +6481,8 @@ void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr) value.insert("engine->evaluate(\"new Object()\")", 0); value.insert("engine->evaluate(\"new Array()\")", 0); value.insert("engine->evaluate(\"new Error()\")", 0); + value.insert("engine->nullValue()", 0); + value.insert("engine->undefinedValue()", 0); } newRow(expr) << value.value(expr); } diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp index 5b61da2..fe084fa 100644 --- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp @@ -202,6 +202,8 @@ private slots: void sqlStatementUseIsNull_189093_data() { generic_data(); } void sqlStatementUseIsNull_189093(); + void sqlite_enable_cache_mode_data() { generic_data("QSQLITE"); } + void sqlite_enable_cache_mode(); private: void createTestTables(QSqlDatabase db); @@ -2485,5 +2487,23 @@ void tst_QSqlDatabase::oci_tables() QVERIFY(db.tables(QSql::SystemTables).contains(systemTableName.toUpper())); } +void tst_QSqlDatabase::sqlite_enable_cache_mode() +{ + QFETCH(QString, dbName); + if(dbName.endsWith(":memory:")) + QSKIP( "cache mode is meaningless for :memory: databases", SkipSingle ); + QSqlDatabase db = QSqlDatabase::database(dbName); + CHECK_DATABASE(db); + db.close(); + db.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE"); + QVERIFY_SQL(db, open()); + QSqlDatabase db2 = QSqlDatabase::cloneDatabase(db, dbName+":cachemodeconn2"); + db2.setConnectOptions("QSQLITE_ENABLE_SHARED_CACHE"); + QVERIFY_SQL(db2, open()); + QSqlQuery q(db), q2(db2); + QVERIFY_SQL(q, exec("select * from "+qTableName("qtest"))); + QVERIFY_SQL(q2, exec("select * from "+qTableName("qtest"))); +} + QTEST_MAIN(tst_QSqlDatabase) #include "tst_qsqldatabase.moc" diff --git a/tests/auto/qtextcodec/tst_qtextcodec.cpp b/tests/auto/qtextcodec/tst_qtextcodec.cpp index eb348fb..65b0448 100644 --- a/tests/auto/qtextcodec/tst_qtextcodec.cpp +++ b/tests/auto/qtextcodec/tst_qtextcodec.cpp @@ -47,6 +47,8 @@ #include <qtextdocument.h> #include <time.h> #include <qprocess.h> +#include <QtConcurrentMap> +#include <QThreadPool> #ifdef Q_OS_SYMBIAN #define SRCDIR "" @@ -58,6 +60,9 @@ class tst_QTextCodec : public QObject Q_OBJECT private slots: + + void threadSafety(); + void toUnicode_data(); void toUnicode(); void codecForName_data(); @@ -1904,5 +1909,46 @@ void tst_QTextCodec::toLocal8Bit() } #endif +static QByteArray loadAndConvert(const QByteArray &codecName) +{ + QTextCodec *c = QTextCodec::codecForName(codecName); + if (!c) { + qDebug() << "WARNING " << codecName << " not found? "; + return QByteArray(); + } + QString str = QString::fromLatin1(codecName); + QByteArray b = c->fromUnicode(str); + c->toUnicode(b); + return codecName; +} + +static int loadAndConvertMIB(int mib) +{ + QTextCodec *c = QTextCodec::codecForMib(mib); + if (!c) { + qDebug() << "WARNING " << mib << " not found? "; + return 0; + } + QString str = QString::number(mib); + QByteArray b = c->fromUnicode(str); + c->toUnicode(b); + return mib; +} + + +void tst_QTextCodec::threadSafety() +{ + QThreadPool::globalInstance()->setMaxThreadCount(12); + + QList<QByteArray> codecList = QTextCodec::availableCodecs(); + QFuture<QByteArray> res = QtConcurrent::mapped(codecList, loadAndConvert); + + QList<int> mibList = QTextCodec::availableMibs(); + QFuture<int> res2 = QtConcurrent::mapped(mibList, loadAndConvertMIB); + + QCOMPARE(res.results(), codecList); + QCOMPARE(res2.results(), mibList); +} + QTEST_MAIN(tst_QTextCodec) #include "tst_qtextcodec.moc" diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index 03eddee..b59017b 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -250,6 +250,7 @@ private slots: #else void persistentWinId(); #endif + void showNativeChild(); void qobject_castInDestroyedSlot(); void showHideEvent_data(); @@ -4586,6 +4587,16 @@ void tst_QWidget::persistentWinId() } #endif // Q_OS_SYMBIAN +void tst_QWidget::showNativeChild() +{ + QWidget topLevel; + topLevel.setGeometry(0, 0, 100, 100); + QWidget child(&topLevel); + child.winId(); + topLevel.show(); + QTest::qWaitForWindowShown(&topLevel); +} + class ShowHideEventWidget : public QWidget { public: diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro index 7a27cc9..c406d54 100644 --- a/tests/benchmarks/benchmarks.pro +++ b/tests/benchmarks/benchmarks.pro @@ -1,48 +1,8 @@ TEMPLATE = subdirs -SUBDIRS = containers-associative \ - containers-sequential \ - qanimation \ - qbytearray \ - qfileinfo \ - qfile_vs_qnetworkaccessmanager \ - qfontmetrics \ - qhostinfo \ - qpainter \ - qtestlib-simple events \ - qtext \ - qiodevice \ - qpixmap \ - blendbench \ - qstring \ - qstringlist \ - qmatrix4x4 \ - qnetworkreply \ - qobject \ - qrect \ - qregexp \ - qregion \ - qvariant \ - qwidget \ - qtwidgets \ - qapplication \ - qdir \ - qdiriterator \ - qgraphicsanchorlayout \ - qgraphicsitem \ - qgraphicswidget \ - qmetaobject \ - qpixmapcache \ - qquaternion \ - qscriptclass \ - qscriptengine \ - qscriptvalue \ - qstringbuilder \ - qstylesheetstyle \ - qsvgrenderer \ - qtcpserver \ - qtableview \ - qthreadstorage - - - +SUBDIRS = \ + corelib \ + gui \ + network \ + script \ + svg contains(QT_CONFIG, opengl): SUBDIRS += opengl diff --git a/tests/benchmarks/corelib/corelib.pro b/tests/benchmarks/corelib/corelib.pro new file mode 100644 index 0000000..72fca33 --- /dev/null +++ b/tests/benchmarks/corelib/corelib.pro @@ -0,0 +1,6 @@ +TEMPLATE = subdirs +SUBDIRS = \ + io \ + kernel \ + thread \ + tools diff --git a/tests/benchmarks/corelib/io/io.pro b/tests/benchmarks/corelib/io/io.pro new file mode 100644 index 0000000..97445d7 --- /dev/null +++ b/tests/benchmarks/corelib/io/io.pro @@ -0,0 +1,9 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qdir \ + qdiriterator \ + qfile \ + qfileinfo \ + qiodevice \ + qtemporaryfile + diff --git a/tests/benchmarks/qdir/qdir.pro b/tests/benchmarks/corelib/io/qdir/qdir.pro index 2cdebfd..2cdebfd 100644 --- a/tests/benchmarks/qdir/qdir.pro +++ b/tests/benchmarks/corelib/io/qdir/qdir.pro diff --git a/tests/benchmarks/qdir/tst_qdir.cpp b/tests/benchmarks/corelib/io/qdir/tst_qdir.cpp index aea9fd0..aea9fd0 100644 --- a/tests/benchmarks/qdir/tst_qdir.cpp +++ b/tests/benchmarks/corelib/io/qdir/tst_qdir.cpp diff --git a/tests/benchmarks/qdiriterator/main.cpp b/tests/benchmarks/corelib/io/qdiriterator/main.cpp index afa6b7b..afa6b7b 100644 --- a/tests/benchmarks/qdiriterator/main.cpp +++ b/tests/benchmarks/corelib/io/qdiriterator/main.cpp diff --git a/tests/benchmarks/qdiriterator/qdiriterator.pro b/tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro index e06d746..e06d746 100755 --- a/tests/benchmarks/qdiriterator/qdiriterator.pro +++ b/tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro diff --git a/tests/benchmarks/qdiriterator/qfilesystemiterator.cpp b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp index 267d53f..267d53f 100644 --- a/tests/benchmarks/qdiriterator/qfilesystemiterator.cpp +++ b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp diff --git a/tests/benchmarks/qdiriterator/qfilesystemiterator.h b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.h index 4aad3a1..4aad3a1 100644 --- a/tests/benchmarks/qdiriterator/qfilesystemiterator.h +++ b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.h diff --git a/tests/benchmarks/qfile/main.cpp b/tests/benchmarks/corelib/io/qfile/main.cpp index 103b77c..103b77c 100644 --- a/tests/benchmarks/qfile/main.cpp +++ b/tests/benchmarks/corelib/io/qfile/main.cpp diff --git a/tests/benchmarks/qfile/qfile.pro b/tests/benchmarks/corelib/io/qfile/qfile.pro index 99505c3..99505c3 100644 --- a/tests/benchmarks/qfile/qfile.pro +++ b/tests/benchmarks/corelib/io/qfile/qfile.pro diff --git a/tests/benchmarks/qfileinfo/main.cpp b/tests/benchmarks/corelib/io/qfileinfo/main.cpp index 025787f..025787f 100644 --- a/tests/benchmarks/qfileinfo/main.cpp +++ b/tests/benchmarks/corelib/io/qfileinfo/main.cpp diff --git a/tests/benchmarks/qfileinfo/qfileinfo.pro b/tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro index 295cb50..295cb50 100644 --- a/tests/benchmarks/qfileinfo/qfileinfo.pro +++ b/tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro diff --git a/tests/benchmarks/qiodevice/main.cpp b/tests/benchmarks/corelib/io/qiodevice/main.cpp index 4af697c..4af697c 100644 --- a/tests/benchmarks/qiodevice/main.cpp +++ b/tests/benchmarks/corelib/io/qiodevice/main.cpp diff --git a/tests/benchmarks/qiodevice/qiodevice.pro b/tests/benchmarks/corelib/io/qiodevice/qiodevice.pro index 749a4d6..749a4d6 100755 --- a/tests/benchmarks/qiodevice/qiodevice.pro +++ b/tests/benchmarks/corelib/io/qiodevice/qiodevice.pro diff --git a/tests/benchmarks/qtemporaryfile/main.cpp b/tests/benchmarks/corelib/io/qtemporaryfile/main.cpp index 8b71189..8b71189 100644 --- a/tests/benchmarks/qtemporaryfile/main.cpp +++ b/tests/benchmarks/corelib/io/qtemporaryfile/main.cpp diff --git a/tests/benchmarks/qtemporaryfile/qtemporaryfile.pro b/tests/benchmarks/corelib/io/qtemporaryfile/qtemporaryfile.pro index c1b04f4..c1b04f4 100644 --- a/tests/benchmarks/qtemporaryfile/qtemporaryfile.pro +++ b/tests/benchmarks/corelib/io/qtemporaryfile/qtemporaryfile.pro diff --git a/tests/benchmarks/events/events.pro b/tests/benchmarks/corelib/kernel/events/events.pro index adf2317..adf2317 100644 --- a/tests/benchmarks/events/events.pro +++ b/tests/benchmarks/corelib/kernel/events/events.pro diff --git a/tests/benchmarks/events/main.cpp b/tests/benchmarks/corelib/kernel/events/main.cpp index 0dd2c18..0dd2c18 100644 --- a/tests/benchmarks/events/main.cpp +++ b/tests/benchmarks/corelib/kernel/events/main.cpp diff --git a/tests/benchmarks/corelib/kernel/kernel.pro b/tests/benchmarks/corelib/kernel/kernel.pro new file mode 100644 index 0000000..91cf3c5 --- /dev/null +++ b/tests/benchmarks/corelib/kernel/kernel.pro @@ -0,0 +1,6 @@ +TEMPLATE = subdirs +SUBDIRS = \ + events \ + qmetaobject \ + qobject \ + qvariant diff --git a/tests/benchmarks/qmetaobject/main.cpp b/tests/benchmarks/corelib/kernel/qmetaobject/main.cpp index eef6020..eef6020 100644 --- a/tests/benchmarks/qmetaobject/main.cpp +++ b/tests/benchmarks/corelib/kernel/qmetaobject/main.cpp diff --git a/tests/benchmarks/qmetaobject/qmetaobject.pro b/tests/benchmarks/corelib/kernel/qmetaobject/qmetaobject.pro index 78300f6..78300f6 100644 --- a/tests/benchmarks/qmetaobject/qmetaobject.pro +++ b/tests/benchmarks/corelib/kernel/qmetaobject/qmetaobject.pro diff --git a/tests/benchmarks/qobject/main.cpp b/tests/benchmarks/corelib/kernel/qobject/main.cpp index 7f24ebd..7f24ebd 100644 --- a/tests/benchmarks/qobject/main.cpp +++ b/tests/benchmarks/corelib/kernel/qobject/main.cpp diff --git a/tests/benchmarks/qobject/object.cpp b/tests/benchmarks/corelib/kernel/qobject/object.cpp index d775a32..d775a32 100644 --- a/tests/benchmarks/qobject/object.cpp +++ b/tests/benchmarks/corelib/kernel/qobject/object.cpp diff --git a/tests/benchmarks/qobject/object.h b/tests/benchmarks/corelib/kernel/qobject/object.h index 7e4933f..7e4933f 100644 --- a/tests/benchmarks/qobject/object.h +++ b/tests/benchmarks/corelib/kernel/qobject/object.h diff --git a/tests/benchmarks/qobject/qobject.pro b/tests/benchmarks/corelib/kernel/qobject/qobject.pro index 2855de4..2855de4 100644 --- a/tests/benchmarks/qobject/qobject.pro +++ b/tests/benchmarks/corelib/kernel/qobject/qobject.pro diff --git a/tests/benchmarks/qvariant/qvariant.pro b/tests/benchmarks/corelib/kernel/qvariant/qvariant.pro index 63b5442..63b5442 100644 --- a/tests/benchmarks/qvariant/qvariant.pro +++ b/tests/benchmarks/corelib/kernel/qvariant/qvariant.pro diff --git a/tests/benchmarks/qvariant/tst_qvariant.cpp b/tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp index 82dc7dd..82dc7dd 100644 --- a/tests/benchmarks/qvariant/tst_qvariant.cpp +++ b/tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp diff --git a/tests/benchmarks/qthreadstorage/qthreadstorage.pro b/tests/benchmarks/corelib/thread/qthreadstorage/qthreadstorage.pro index f9c1978..f9c1978 100644 --- a/tests/benchmarks/qthreadstorage/qthreadstorage.pro +++ b/tests/benchmarks/corelib/thread/qthreadstorage/qthreadstorage.pro diff --git a/tests/benchmarks/qthreadstorage/tst_qthreadstorage.cpp b/tests/benchmarks/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp index faae4d7..faae4d7 100644 --- a/tests/benchmarks/qthreadstorage/tst_qthreadstorage.cpp +++ b/tests/benchmarks/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp diff --git a/tests/benchmarks/corelib/thread/thread.pro b/tests/benchmarks/corelib/thread/thread.pro new file mode 100644 index 0000000..26570ba --- /dev/null +++ b/tests/benchmarks/corelib/thread/thread.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qthreadstorage diff --git a/tests/benchmarks/containers-associative/containers-associative.pro b/tests/benchmarks/corelib/tools/containers-associative/containers-associative.pro index c6f3fa6..c6f3fa6 100644 --- a/tests/benchmarks/containers-associative/containers-associative.pro +++ b/tests/benchmarks/corelib/tools/containers-associative/containers-associative.pro diff --git a/tests/benchmarks/containers-associative/main.cpp b/tests/benchmarks/corelib/tools/containers-associative/main.cpp index 4c6dae4..4c6dae4 100644 --- a/tests/benchmarks/containers-associative/main.cpp +++ b/tests/benchmarks/corelib/tools/containers-associative/main.cpp diff --git a/tests/benchmarks/containers-sequential/containers-sequential.pro b/tests/benchmarks/corelib/tools/containers-sequential/containers-sequential.pro index bf6db44..bf6db44 100644 --- a/tests/benchmarks/containers-sequential/containers-sequential.pro +++ b/tests/benchmarks/corelib/tools/containers-sequential/containers-sequential.pro diff --git a/tests/benchmarks/containers-sequential/main.cpp b/tests/benchmarks/corelib/tools/containers-sequential/main.cpp index a6e405c..a6e405c 100644 --- a/tests/benchmarks/containers-sequential/main.cpp +++ b/tests/benchmarks/corelib/tools/containers-sequential/main.cpp diff --git a/tests/benchmarks/qbytearray/main.cpp b/tests/benchmarks/corelib/tools/qbytearray/main.cpp index 22d4815..22d4815 100644 --- a/tests/benchmarks/qbytearray/main.cpp +++ b/tests/benchmarks/corelib/tools/qbytearray/main.cpp diff --git a/tests/benchmarks/qbytearray/qbytearray.pro b/tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro index a0bf021..a0bf021 100755 --- a/tests/benchmarks/qbytearray/qbytearray.pro +++ b/tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro diff --git a/tests/benchmarks/qrect/main.cpp b/tests/benchmarks/corelib/tools/qrect/main.cpp index e293bfa..e293bfa 100644 --- a/tests/benchmarks/qrect/main.cpp +++ b/tests/benchmarks/corelib/tools/qrect/main.cpp diff --git a/tests/benchmarks/qrect/qrect.pro b/tests/benchmarks/corelib/tools/qrect/qrect.pro index 6e35119..6e35119 100644 --- a/tests/benchmarks/qrect/qrect.pro +++ b/tests/benchmarks/corelib/tools/qrect/qrect.pro diff --git a/tests/benchmarks/qregexp/main.cpp b/tests/benchmarks/corelib/tools/qregexp/main.cpp index ab9ed71..ab9ed71 100644 --- a/tests/benchmarks/qregexp/main.cpp +++ b/tests/benchmarks/corelib/tools/qregexp/main.cpp diff --git a/tests/benchmarks/qregexp/qregexp.pro b/tests/benchmarks/corelib/tools/qregexp/qregexp.pro index 83d723c..83d723c 100644 --- a/tests/benchmarks/qregexp/qregexp.pro +++ b/tests/benchmarks/corelib/tools/qregexp/qregexp.pro diff --git a/tests/benchmarks/qstring/main.cpp b/tests/benchmarks/corelib/tools/qstring/main.cpp index 12826eb..12826eb 100644 --- a/tests/benchmarks/qstring/main.cpp +++ b/tests/benchmarks/corelib/tools/qstring/main.cpp diff --git a/tests/benchmarks/qstring/qstring.pro b/tests/benchmarks/corelib/tools/qstring/qstring.pro index 2e7c86a..2e7c86a 100644 --- a/tests/benchmarks/qstring/qstring.pro +++ b/tests/benchmarks/corelib/tools/qstring/qstring.pro diff --git a/tests/benchmarks/qstring/utf-8.txt b/tests/benchmarks/corelib/tools/qstring/utf-8.txt index a8a58de..a8a58de 100644 --- a/tests/benchmarks/qstring/utf-8.txt +++ b/tests/benchmarks/corelib/tools/qstring/utf-8.txt diff --git a/tests/benchmarks/qstringbuilder/main.cpp b/tests/benchmarks/corelib/tools/qstringbuilder/main.cpp index 9bd146f..9bd146f 100644 --- a/tests/benchmarks/qstringbuilder/main.cpp +++ b/tests/benchmarks/corelib/tools/qstringbuilder/main.cpp diff --git a/tests/benchmarks/qstringbuilder/qstringbuilder.pro b/tests/benchmarks/corelib/tools/qstringbuilder/qstringbuilder.pro index 79171b4..79171b4 100644 --- a/tests/benchmarks/qstringbuilder/qstringbuilder.pro +++ b/tests/benchmarks/corelib/tools/qstringbuilder/qstringbuilder.pro diff --git a/tests/benchmarks/qstringlist/.gitignore b/tests/benchmarks/corelib/tools/qstringlist/.gitignore index 3e0cdc9..3e0cdc9 100644 --- a/tests/benchmarks/qstringlist/.gitignore +++ b/tests/benchmarks/corelib/tools/qstringlist/.gitignore diff --git a/tests/benchmarks/qstringlist/main.cpp b/tests/benchmarks/corelib/tools/qstringlist/main.cpp index 1717b88..1717b88 100644 --- a/tests/benchmarks/qstringlist/main.cpp +++ b/tests/benchmarks/corelib/tools/qstringlist/main.cpp diff --git a/tests/benchmarks/qstringlist/qstringlist.pro b/tests/benchmarks/corelib/tools/qstringlist/qstringlist.pro index 5c64b34..5c64b34 100644 --- a/tests/benchmarks/qstringlist/qstringlist.pro +++ b/tests/benchmarks/corelib/tools/qstringlist/qstringlist.pro diff --git a/tests/benchmarks/corelib/tools/tools.pro b/tests/benchmarks/corelib/tools/tools.pro new file mode 100644 index 0000000..12c23fc --- /dev/null +++ b/tests/benchmarks/corelib/tools/tools.pro @@ -0,0 +1,10 @@ +TEMPLATE = subdirs +SUBDIRS = \ + containers-associative \ + containers-sequential \ + qbytearray \ + qrect \ + qregexp \ + qstring \ + qstringbuilder \ + qstringlist diff --git a/tests/benchmarks/gui/animation/animation.pro b/tests/benchmarks/gui/animation/animation.pro new file mode 100644 index 0000000..a4ba273 --- /dev/null +++ b/tests/benchmarks/gui/animation/animation.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +SUBDIRS = qanimation diff --git a/tests/benchmarks/qanimation/dummyanimation.cpp b/tests/benchmarks/gui/animation/qanimation/dummyanimation.cpp index f79cc5b..f79cc5b 100644 --- a/tests/benchmarks/qanimation/dummyanimation.cpp +++ b/tests/benchmarks/gui/animation/qanimation/dummyanimation.cpp diff --git a/tests/benchmarks/qanimation/dummyanimation.h b/tests/benchmarks/gui/animation/qanimation/dummyanimation.h index 1df76be..1df76be 100644 --- a/tests/benchmarks/qanimation/dummyanimation.h +++ b/tests/benchmarks/gui/animation/qanimation/dummyanimation.h diff --git a/tests/benchmarks/qanimation/dummyobject.cpp b/tests/benchmarks/gui/animation/qanimation/dummyobject.cpp index 2b66cda..2b66cda 100644 --- a/tests/benchmarks/qanimation/dummyobject.cpp +++ b/tests/benchmarks/gui/animation/qanimation/dummyobject.cpp diff --git a/tests/benchmarks/qanimation/dummyobject.h b/tests/benchmarks/gui/animation/qanimation/dummyobject.h index 31614fd..31614fd 100644 --- a/tests/benchmarks/qanimation/dummyobject.h +++ b/tests/benchmarks/gui/animation/qanimation/dummyobject.h diff --git a/tests/benchmarks/qanimation/main.cpp b/tests/benchmarks/gui/animation/qanimation/main.cpp index 8b9884e..8b9884e 100644 --- a/tests/benchmarks/qanimation/main.cpp +++ b/tests/benchmarks/gui/animation/qanimation/main.cpp diff --git a/tests/benchmarks/qanimation/qanimation.pro b/tests/benchmarks/gui/animation/qanimation/qanimation.pro index 55cd75e..55cd75e 100644 --- a/tests/benchmarks/qanimation/qanimation.pro +++ b/tests/benchmarks/gui/animation/qanimation/qanimation.pro diff --git a/tests/benchmarks/qanimation/rectanimation.cpp b/tests/benchmarks/gui/animation/qanimation/rectanimation.cpp index e6d7a7e..e6d7a7e 100644 --- a/tests/benchmarks/qanimation/rectanimation.cpp +++ b/tests/benchmarks/gui/animation/qanimation/rectanimation.cpp diff --git a/tests/benchmarks/qanimation/rectanimation.h b/tests/benchmarks/gui/animation/qanimation/rectanimation.h index 42b9376..42b9376 100644 --- a/tests/benchmarks/qanimation/rectanimation.h +++ b/tests/benchmarks/gui/animation/qanimation/rectanimation.h diff --git a/tests/benchmarks/gui/graphicsview/graphicsview.pro b/tests/benchmarks/gui/graphicsview/graphicsview.pro new file mode 100644 index 0000000..93c00d2 --- /dev/null +++ b/tests/benchmarks/gui/graphicsview/graphicsview.pro @@ -0,0 +1,7 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qgraphicsanchorlayout \ + qgraphicsitem \ + qgraphicsscene \ + qgraphicsview \ + qgraphicswidget diff --git a/tests/benchmarks/qgraphicsanchorlayout/qgraphicsanchorlayout.pro b/tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/qgraphicsanchorlayout.pro index 0d563b9..0d563b9 100644 --- a/tests/benchmarks/qgraphicsanchorlayout/qgraphicsanchorlayout.pro +++ b/tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/qgraphicsanchorlayout.pro diff --git a/tests/benchmarks/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp index 01285d1..01285d1 100644 --- a/tests/benchmarks/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp diff --git a/tests/benchmarks/qgraphicsitem/qgraphicsitem.pro b/tests/benchmarks/gui/graphicsview/qgraphicsitem/qgraphicsitem.pro index 726bb96..726bb96 100644 --- a/tests/benchmarks/qgraphicsitem/qgraphicsitem.pro +++ b/tests/benchmarks/gui/graphicsview/qgraphicsitem/qgraphicsitem.pro diff --git a/tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp index ac51072..ac51072 100644 --- a/tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp diff --git a/tests/benchmarks/qgraphicsscene/qgraphicsscene.pro b/tests/benchmarks/gui/graphicsview/qgraphicsscene/qgraphicsscene.pro index b460e2a..b460e2a 100644 --- a/tests/benchmarks/qgraphicsscene/qgraphicsscene.pro +++ b/tests/benchmarks/gui/graphicsview/qgraphicsscene/qgraphicsscene.pro diff --git a/tests/benchmarks/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp index 5bd07f9..5bd07f9 100644 --- a/tests/benchmarks/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp index 77b86c1..77b86c1 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.debug Binary files differindex 8fe1e5b..8fe1e5b 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.debug diff --git a/tests/benchmarks/qgraphicsview/chiptester/chip.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.h index 9db23f9..9db23f9 100644 --- a/tests/benchmarks/qgraphicsview/chiptester/chip.h +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.h diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.pro index 53fa23b..53fa23b 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.pro diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/fileprint.png Binary files differindex ba7c02d..ba7c02d 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/fileprint.png diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/images.qrc index c7cdf0c..c7cdf0c 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/images.qrc diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/main.cpp index ea2f94a..ea2f94a 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/main.cpp diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.cpp index 452b42c..452b42c 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.cpp diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.h index 558bbef..558bbef 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/mainwindow.h diff --git a/tests/benchmarks/qgraphicsview/chiptester/qt4logo.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/qt4logo.png Binary files differindex 157e86e..157e86e 100644 --- a/tests/benchmarks/qgraphicsview/chiptester/qt4logo.png +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/qt4logo.png diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateleft.png Binary files differindex 8cfa931..8cfa931 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateleft.png diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateright.png Binary files differindex ec5e866..ec5e866 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/rotateright.png diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp index 1028f42..1028f42 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.h index fc5c226..fc5c226 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.h diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomin.png Binary files differindex 8b0daee..8b0daee 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomin.png diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomout.png Binary files differindex 1575dd2..1575dd2 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/zoomout.png diff --git a/tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp index 527713f..527713f 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp diff --git a/tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/moveItems.pro index 28dcadc..28dcadc 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/moveItems.pro diff --git a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp index 7419206..7419206 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp diff --git a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/scrolltest.pro index 28dcadc..28dcadc 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/scrolltest.pro diff --git a/tests/benchmarks/qgraphicsview/chiptester/chip.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.cpp index 4c1020a..4c1020a 100644 --- a/tests/benchmarks/qgraphicsview/chiptester/chip.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.cpp diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.h index 9db23f9..9db23f9 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.h diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.cpp index 8cada67..8cada67 100644 --- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.cpp diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.h b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.h index 1a73bb7..1a73bb7 100644 --- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.h +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.h diff --git a/tests/benchmarks/qgraphicsview/chiptester/chiptester.pri b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.pri index a9e0bf8..a9e0bf8 100644 --- a/tests/benchmarks/qgraphicsview/chiptester/chiptester.pri +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chiptester.pri diff --git a/tests/benchmarks/qgraphicsview/chiptester/images.qrc b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/images.qrc index 73e8620..73e8620 100644 --- a/tests/benchmarks/qgraphicsview/chiptester/images.qrc +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/images.qrc diff --git a/tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/qt4logo.png Binary files differindex 157e86e..157e86e 100644 --- a/tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/qt4logo.png diff --git a/tests/benchmarks/qgraphicsview/images/designer.png b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/designer.png Binary files differindex 0988fce..0988fce 100644 --- a/tests/benchmarks/qgraphicsview/images/designer.png +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/designer.png diff --git a/tests/benchmarks/qgraphicsview/images/wine-big.jpeg b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine-big.jpeg Binary files differindex 9900a50..9900a50 100644 --- a/tests/benchmarks/qgraphicsview/images/wine-big.jpeg +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine-big.jpeg diff --git a/tests/benchmarks/qgraphicsview/images/wine.jpeg b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine.jpeg Binary files differindex 8fe1d3a..8fe1d3a 100644 --- a/tests/benchmarks/qgraphicsview/images/wine.jpeg +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/images/wine.jpeg diff --git a/tests/benchmarks/qgraphicsview/qgraphicsview.pro b/tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro index 927d731..927d731 100644 --- a/tests/benchmarks/qgraphicsview/qgraphicsview.pro +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro diff --git a/tests/benchmarks/qgraphicsview/qgraphicsview.qrc b/tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.qrc index 3681648..3681648 100644 --- a/tests/benchmarks/qgraphicsview/qgraphicsview.qrc +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.qrc diff --git a/tests/benchmarks/qgraphicsview/random.data b/tests/benchmarks/gui/graphicsview/qgraphicsview/random.data Binary files differindex 190a36c..190a36c 100644 --- a/tests/benchmarks/qgraphicsview/random.data +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/random.data diff --git a/tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp index 4cb07db..10e00a6 100644 --- a/tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/tst_qgraphicsview.cpp @@ -555,7 +555,11 @@ void tst_QGraphicsView::imageRiver() QFile file(":/random.data"); QVERIFY(file.open(QIODevice::ReadOnly)); QDataStream str(&file); +#if defined(Q_OS_SYMBIAN) + for (int i = 0; i < 50; ++i) { +#else for (int i = 0; i < 100; ++i) { +#endif AnimatedPixmapItem *item; if (direction == 0) item = new AnimatedPixmapItem((i % 4) + 1, 0, rotation, scale); if (direction == 1) item = new AnimatedPixmapItem(0, (i % 4) + 1, rotation, scale); @@ -574,7 +578,11 @@ void tst_QGraphicsView::imageRiver() #ifdef CALLGRIND_DEBUG CALLGRIND_START_INSTRUMENTATION #endif +#if defined(Q_OS_SYMBIAN) + for (int i = 0; i < 50; ++i) { +#else for (int i = 0; i < 100; ++i) { +#endif scene.advance(); while (view.count < (i+1)) qApp->processEvents(); @@ -669,7 +677,11 @@ void tst_QGraphicsView::textRiver() QFile file(":/random.data"); QVERIFY(file.open(QIODevice::ReadOnly)); QDataStream str(&file); +#if defined(Q_OS_SYMBIAN) + for (int i = 0; i < 50; ++i) { +#else for (int i = 0; i < 100; ++i) { +#endif AnimatedTextItem *item; if (direction == 0) item = new AnimatedTextItem((i % 4) + 1, 0, rotation, scale); if (direction == 1) item = new AnimatedTextItem(0, (i % 4) + 1, rotation, scale); @@ -687,7 +699,11 @@ void tst_QGraphicsView::textRiver() #ifdef CALLGRIND_DEBUG CALLGRIND_START_INSTRUMENTATION #endif +#if defined(Q_OS_SYMBIAN) + for (int i = 0; i < 50; ++i) { +#else for (int i = 0; i < 100; ++i) { +#endif scene.advance(); while (view.count < (i+1)) qApp->processEvents(); @@ -771,7 +787,11 @@ void tst_QGraphicsView::moveItemCache() QFile file(":/random.data"); QVERIFY(file.open(QIODevice::ReadOnly)); QDataStream str(&file); +#if defined(Q_OS_SYMBIAN) + for (int i = 0; i < 5; ++i) { +#else for (int i = 0; i < 50; ++i) { +#endif AnimatedPixmapCacheItem *item; if (direction == 0) item = new AnimatedPixmapCacheItem((i % 4) + 1, 0); if (direction == 1) item = new AnimatedPixmapCacheItem(0, (i % 4) + 1); @@ -793,7 +813,11 @@ void tst_QGraphicsView::moveItemCache() #ifdef CALLGRIND_DEBUG CALLGRIND_START_INSTRUMENTATION #endif +#if defined(Q_OS_SYMBIAN) + for (int i = 0; i < 50; ++i) { +#else for (int i = 0; i < 100; ++i) { +#endif scene.advance(); while (view.count < (i+1)) qApp->processEvents(); @@ -893,7 +917,11 @@ void tst_QGraphicsView::paintItemCache() #ifdef CALLGRIND_DEBUG CALLGRIND_START_INSTRUMENTATION #endif +#if defined(Q_OS_SYMBIAN) + for (int i = 0; i < 5; ++i) { +#else for (int i = 0; i < 50; ++i) { +#endif scene.advance(); while (view.count < (i+1)) qApp->processEvents(); diff --git a/tests/benchmarks/qgraphicswidget/qgraphicswidget.pro b/tests/benchmarks/gui/graphicsview/qgraphicswidget/qgraphicswidget.pro index f1ec54e..f1ec54e 100644 --- a/tests/benchmarks/qgraphicswidget/qgraphicswidget.pro +++ b/tests/benchmarks/gui/graphicsview/qgraphicswidget/qgraphicswidget.pro diff --git a/tests/benchmarks/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/benchmarks/gui/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp index 7db98ce..7db98ce 100644 --- a/tests/benchmarks/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp diff --git a/tests/benchmarks/gui/gui.pro b/tests/benchmarks/gui/gui.pro new file mode 100644 index 0000000..946f184 --- /dev/null +++ b/tests/benchmarks/gui/gui.pro @@ -0,0 +1,11 @@ +TEMPLATE = subdirs +SUBDIRS = \ + animation \ + graphicsview \ + image \ + itemviews \ + kernel \ + math3d \ + painting \ + styles \ + text diff --git a/tests/benchmarks/blendbench/blendbench.pro b/tests/benchmarks/gui/image/blendbench/blendbench.pro index a3228c5..a3228c5 100644 --- a/tests/benchmarks/blendbench/blendbench.pro +++ b/tests/benchmarks/gui/image/blendbench/blendbench.pro diff --git a/tests/benchmarks/blendbench/main.cpp b/tests/benchmarks/gui/image/blendbench/main.cpp index 92d1633..92d1633 100644 --- a/tests/benchmarks/blendbench/main.cpp +++ b/tests/benchmarks/gui/image/blendbench/main.cpp diff --git a/tests/benchmarks/gui/image/image.pro b/tests/benchmarks/gui/image/image.pro new file mode 100644 index 0000000..3094e72 --- /dev/null +++ b/tests/benchmarks/gui/image/image.pro @@ -0,0 +1,6 @@ +TEMPLATE = subdirs +SUBDIRS = \ + blendbench \ + qimagereader \ + qpixmap \ + qpixmapcache diff --git a/tests/benchmarks/qimagereader/images/16bpp.bmp b/tests/benchmarks/gui/image/qimagereader/images/16bpp.bmp Binary files differindex 74ce63e..74ce63e 100644 --- a/tests/benchmarks/qimagereader/images/16bpp.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/16bpp.bmp diff --git a/tests/benchmarks/qimagereader/images/4bpp-rle.bmp b/tests/benchmarks/gui/image/qimagereader/images/4bpp-rle.bmp Binary files differindex ae71e67..ae71e67 100644 --- a/tests/benchmarks/qimagereader/images/4bpp-rle.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/4bpp-rle.bmp diff --git a/tests/benchmarks/qimagereader/images/YCbCr_cmyk.jpg b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.jpg Binary files differindex b8aa9ea..b8aa9ea 100644 --- a/tests/benchmarks/qimagereader/images/YCbCr_cmyk.jpg +++ b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.jpg diff --git a/tests/benchmarks/qimagereader/images/YCbCr_cmyk.png b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.png Binary files differindex a24db1b..a24db1b 100644 --- a/tests/benchmarks/qimagereader/images/YCbCr_cmyk.png +++ b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_cmyk.png diff --git a/tests/benchmarks/qimagereader/images/YCbCr_rgb.jpg b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_rgb.jpg Binary files differindex 8771224..8771224 100644 --- a/tests/benchmarks/qimagereader/images/YCbCr_rgb.jpg +++ b/tests/benchmarks/gui/image/qimagereader/images/YCbCr_rgb.jpg diff --git a/tests/benchmarks/qimagereader/images/away.png b/tests/benchmarks/gui/image/qimagereader/images/away.png Binary files differindex 0e21a37..0e21a37 100644 --- a/tests/benchmarks/qimagereader/images/away.png +++ b/tests/benchmarks/gui/image/qimagereader/images/away.png diff --git a/tests/benchmarks/qimagereader/images/ball.mng b/tests/benchmarks/gui/image/qimagereader/images/ball.mng Binary files differindex 8154478..8154478 100644 --- a/tests/benchmarks/qimagereader/images/ball.mng +++ b/tests/benchmarks/gui/image/qimagereader/images/ball.mng diff --git a/tests/benchmarks/qimagereader/images/bat1.gif b/tests/benchmarks/gui/image/qimagereader/images/bat1.gif Binary files differindex cb6f4f7..cb6f4f7 100644 --- a/tests/benchmarks/qimagereader/images/bat1.gif +++ b/tests/benchmarks/gui/image/qimagereader/images/bat1.gif diff --git a/tests/benchmarks/qimagereader/images/bat2.gif b/tests/benchmarks/gui/image/qimagereader/images/bat2.gif Binary files differindex fbbda4e..fbbda4e 100644 --- a/tests/benchmarks/qimagereader/images/bat2.gif +++ b/tests/benchmarks/gui/image/qimagereader/images/bat2.gif diff --git a/tests/benchmarks/qimagereader/images/beavis.jpg b/tests/benchmarks/gui/image/qimagereader/images/beavis.jpg Binary files differindex d555047..d555047 100644 --- a/tests/benchmarks/qimagereader/images/beavis.jpg +++ b/tests/benchmarks/gui/image/qimagereader/images/beavis.jpg diff --git a/tests/benchmarks/qimagereader/images/black.png b/tests/benchmarks/gui/image/qimagereader/images/black.png Binary files differindex 6c94085..6c94085 100644 --- a/tests/benchmarks/qimagereader/images/black.png +++ b/tests/benchmarks/gui/image/qimagereader/images/black.png diff --git a/tests/benchmarks/qimagereader/images/black.xpm b/tests/benchmarks/gui/image/qimagereader/images/black.xpm index d7925bf..d7925bf 100644 --- a/tests/benchmarks/qimagereader/images/black.xpm +++ b/tests/benchmarks/gui/image/qimagereader/images/black.xpm diff --git a/tests/benchmarks/qimagereader/images/colorful.bmp b/tests/benchmarks/gui/image/qimagereader/images/colorful.bmp Binary files differindex 8ea6f4a..8ea6f4a 100644 --- a/tests/benchmarks/qimagereader/images/colorful.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/colorful.bmp diff --git a/tests/benchmarks/qimagereader/images/corrupt-colors.xpm b/tests/benchmarks/gui/image/qimagereader/images/corrupt-colors.xpm index f8d80ed..f8d80ed 100644 --- a/tests/benchmarks/qimagereader/images/corrupt-colors.xpm +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt-colors.xpm diff --git a/tests/benchmarks/qimagereader/images/corrupt-data.tif b/tests/benchmarks/gui/image/qimagereader/images/corrupt-data.tif Binary files differindex d63c688..d63c688 100644 --- a/tests/benchmarks/qimagereader/images/corrupt-data.tif +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt-data.tif diff --git a/tests/benchmarks/qimagereader/images/corrupt-pixels.xpm b/tests/benchmarks/gui/image/qimagereader/images/corrupt-pixels.xpm index 21031ee..21031ee 100644 --- a/tests/benchmarks/qimagereader/images/corrupt-pixels.xpm +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt-pixels.xpm diff --git a/tests/benchmarks/qimagereader/images/corrupt.bmp b/tests/benchmarks/gui/image/qimagereader/images/corrupt.bmp Binary files differindex 824190b..824190b 100644 --- a/tests/benchmarks/qimagereader/images/corrupt.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.bmp diff --git a/tests/benchmarks/qimagereader/images/corrupt.gif b/tests/benchmarks/gui/image/qimagereader/images/corrupt.gif Binary files differindex 0725945..0725945 100644 --- a/tests/benchmarks/qimagereader/images/corrupt.gif +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.gif diff --git a/tests/benchmarks/qimagereader/images/corrupt.jpg b/tests/benchmarks/gui/image/qimagereader/images/corrupt.jpg Binary files differindex 1959662..1959662 100644 --- a/tests/benchmarks/qimagereader/images/corrupt.jpg +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.jpg diff --git a/tests/benchmarks/qimagereader/images/corrupt.mng b/tests/benchmarks/gui/image/qimagereader/images/corrupt.mng Binary files differindex 17fd43a..17fd43a 100644 --- a/tests/benchmarks/qimagereader/images/corrupt.mng +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.mng diff --git a/tests/benchmarks/qimagereader/images/corrupt.png b/tests/benchmarks/gui/image/qimagereader/images/corrupt.png Binary files differindex 9d8911c..9d8911c 100644 --- a/tests/benchmarks/qimagereader/images/corrupt.png +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.png diff --git a/tests/benchmarks/qimagereader/images/corrupt.xbm b/tests/benchmarks/gui/image/qimagereader/images/corrupt.xbm index 8510634..8510634 100644 --- a/tests/benchmarks/qimagereader/images/corrupt.xbm +++ b/tests/benchmarks/gui/image/qimagereader/images/corrupt.xbm diff --git a/tests/benchmarks/qimagereader/images/crash-signed-char.bmp b/tests/benchmarks/gui/image/qimagereader/images/crash-signed-char.bmp Binary files differindex b35cda6..b35cda6 100644 --- a/tests/benchmarks/qimagereader/images/crash-signed-char.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/crash-signed-char.bmp diff --git a/tests/benchmarks/qimagereader/images/earth.gif b/tests/benchmarks/gui/image/qimagereader/images/earth.gif Binary files differindex 2c229eb..2c229eb 100644 --- a/tests/benchmarks/qimagereader/images/earth.gif +++ b/tests/benchmarks/gui/image/qimagereader/images/earth.gif diff --git a/tests/benchmarks/qimagereader/images/fire.mng b/tests/benchmarks/gui/image/qimagereader/images/fire.mng Binary files differindex c6695c8..c6695c8 100644 --- a/tests/benchmarks/qimagereader/images/fire.mng +++ b/tests/benchmarks/gui/image/qimagereader/images/fire.mng diff --git a/tests/benchmarks/qimagereader/images/font.bmp b/tests/benchmarks/gui/image/qimagereader/images/font.bmp Binary files differindex 28b8c66..28b8c66 100644 --- a/tests/benchmarks/qimagereader/images/font.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/font.bmp diff --git a/tests/benchmarks/qimagereader/images/gnus.xbm b/tests/benchmarks/gui/image/qimagereader/images/gnus.xbm index 58d1ac8..58d1ac8 100644 --- a/tests/benchmarks/qimagereader/images/gnus.xbm +++ b/tests/benchmarks/gui/image/qimagereader/images/gnus.xbm diff --git a/tests/benchmarks/qimagereader/images/image.pbm b/tests/benchmarks/gui/image/qimagereader/images/image.pbm index 67e5efa..67e5efa 100644 --- a/tests/benchmarks/qimagereader/images/image.pbm +++ b/tests/benchmarks/gui/image/qimagereader/images/image.pbm diff --git a/tests/benchmarks/qimagereader/images/image.pgm b/tests/benchmarks/gui/image/qimagereader/images/image.pgm index 443bf40..443bf40 100644 --- a/tests/benchmarks/qimagereader/images/image.pgm +++ b/tests/benchmarks/gui/image/qimagereader/images/image.pgm diff --git a/tests/benchmarks/qimagereader/images/image.png b/tests/benchmarks/gui/image/qimagereader/images/image.png Binary files differindex 7d4890a..7d4890a 100644 --- a/tests/benchmarks/qimagereader/images/image.png +++ b/tests/benchmarks/gui/image/qimagereader/images/image.png diff --git a/tests/benchmarks/qimagereader/images/image.ppm b/tests/benchmarks/gui/image/qimagereader/images/image.ppm index 2a5640e..2a5640e 100644 --- a/tests/benchmarks/qimagereader/images/image.ppm +++ b/tests/benchmarks/gui/image/qimagereader/images/image.ppm diff --git a/tests/benchmarks/qimagereader/images/kollada-noext b/tests/benchmarks/gui/image/qimagereader/images/kollada-noext Binary files differindex 2abd4bb..2abd4bb 100644 --- a/tests/benchmarks/qimagereader/images/kollada-noext +++ b/tests/benchmarks/gui/image/qimagereader/images/kollada-noext diff --git a/tests/benchmarks/qimagereader/images/kollada.png b/tests/benchmarks/gui/image/qimagereader/images/kollada.png Binary files differindex 2abd4bb..2abd4bb 100644 --- a/tests/benchmarks/qimagereader/images/kollada.png +++ b/tests/benchmarks/gui/image/qimagereader/images/kollada.png diff --git a/tests/benchmarks/qimagereader/images/marble.xpm b/tests/benchmarks/gui/image/qimagereader/images/marble.xpm index 1c08049..1c08049 100644 --- a/tests/benchmarks/qimagereader/images/marble.xpm +++ b/tests/benchmarks/gui/image/qimagereader/images/marble.xpm diff --git a/tests/benchmarks/qimagereader/images/namedcolors.xpm b/tests/benchmarks/gui/image/qimagereader/images/namedcolors.xpm index f6485d5..f6485d5 100644 --- a/tests/benchmarks/qimagereader/images/namedcolors.xpm +++ b/tests/benchmarks/gui/image/qimagereader/images/namedcolors.xpm diff --git a/tests/benchmarks/qimagereader/images/negativeheight.bmp b/tests/benchmarks/gui/image/qimagereader/images/negativeheight.bmp Binary files differindex 875887a..875887a 100644 --- a/tests/benchmarks/qimagereader/images/negativeheight.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/negativeheight.bmp diff --git a/tests/benchmarks/qimagereader/images/noclearcode.bmp b/tests/benchmarks/gui/image/qimagereader/images/noclearcode.bmp Binary files differindex 1a5ca9c..1a5ca9c 100644 --- a/tests/benchmarks/qimagereader/images/noclearcode.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/noclearcode.bmp diff --git a/tests/benchmarks/qimagereader/images/noclearcode.gif b/tests/benchmarks/gui/image/qimagereader/images/noclearcode.gif Binary files differindex 27784d6..27784d6 100644 --- a/tests/benchmarks/qimagereader/images/noclearcode.gif +++ b/tests/benchmarks/gui/image/qimagereader/images/noclearcode.gif diff --git a/tests/benchmarks/qimagereader/images/nontransparent.xpm b/tests/benchmarks/gui/image/qimagereader/images/nontransparent.xpm index 00c21ef..00c21ef 100644 --- a/tests/benchmarks/qimagereader/images/nontransparent.xpm +++ b/tests/benchmarks/gui/image/qimagereader/images/nontransparent.xpm diff --git a/tests/benchmarks/qimagereader/images/pngwithcompressedtext.png b/tests/benchmarks/gui/image/qimagereader/images/pngwithcompressedtext.png Binary files differindex 01b2270..01b2270 100644 --- a/tests/benchmarks/qimagereader/images/pngwithcompressedtext.png +++ b/tests/benchmarks/gui/image/qimagereader/images/pngwithcompressedtext.png diff --git a/tests/benchmarks/qimagereader/images/pngwithtext.png b/tests/benchmarks/gui/image/qimagereader/images/pngwithtext.png Binary files differindex 5d93799..5d93799 100644 --- a/tests/benchmarks/qimagereader/images/pngwithtext.png +++ b/tests/benchmarks/gui/image/qimagereader/images/pngwithtext.png diff --git a/tests/benchmarks/qimagereader/images/rgba_adobedeflate_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_adobedeflate_littleendian.tif Binary files differindex 78868b0..78868b0 100644 --- a/tests/benchmarks/qimagereader/images/rgba_adobedeflate_littleendian.tif +++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_adobedeflate_littleendian.tif diff --git a/tests/benchmarks/qimagereader/images/rgba_lzw_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_lzw_littleendian.tif Binary files differindex 107eab7..107eab7 100644 --- a/tests/benchmarks/qimagereader/images/rgba_lzw_littleendian.tif +++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_lzw_littleendian.tif diff --git a/tests/benchmarks/qimagereader/images/rgba_nocompression_bigendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_bigendian.tif Binary files differindex c314bae..c314bae 100644 --- a/tests/benchmarks/qimagereader/images/rgba_nocompression_bigendian.tif +++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_bigendian.tif diff --git a/tests/benchmarks/qimagereader/images/rgba_nocompression_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_littleendian.tif Binary files differindex 4f820f6..4f820f6 100644 --- a/tests/benchmarks/qimagereader/images/rgba_nocompression_littleendian.tif +++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_nocompression_littleendian.tif diff --git a/tests/benchmarks/qimagereader/images/rgba_packbits_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_packbits_littleendian.tif Binary files differindex ddeec38..ddeec38 100644 --- a/tests/benchmarks/qimagereader/images/rgba_packbits_littleendian.tif +++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_packbits_littleendian.tif diff --git a/tests/benchmarks/qimagereader/images/rgba_zipdeflate_littleendian.tif b/tests/benchmarks/gui/image/qimagereader/images/rgba_zipdeflate_littleendian.tif Binary files differindex 50a3024..50a3024 100644 --- a/tests/benchmarks/qimagereader/images/rgba_zipdeflate_littleendian.tif +++ b/tests/benchmarks/gui/image/qimagereader/images/rgba_zipdeflate_littleendian.tif diff --git a/tests/benchmarks/qimagereader/images/runners.ppm b/tests/benchmarks/gui/image/qimagereader/images/runners.ppm Binary files differindex fda1c97..fda1c97 100644 --- a/tests/benchmarks/qimagereader/images/runners.ppm +++ b/tests/benchmarks/gui/image/qimagereader/images/runners.ppm diff --git a/tests/benchmarks/qimagereader/images/task210380.jpg b/tests/benchmarks/gui/image/qimagereader/images/task210380.jpg Binary files differindex fd045ea..fd045ea 100644 --- a/tests/benchmarks/qimagereader/images/task210380.jpg +++ b/tests/benchmarks/gui/image/qimagereader/images/task210380.jpg diff --git a/tests/benchmarks/qimagereader/images/teapot.ppm b/tests/benchmarks/gui/image/qimagereader/images/teapot.ppm index b8ab85f..b8ab85f 100644 --- a/tests/benchmarks/qimagereader/images/teapot.ppm +++ b/tests/benchmarks/gui/image/qimagereader/images/teapot.ppm diff --git a/tests/benchmarks/qimagereader/images/test.ppm b/tests/benchmarks/gui/image/qimagereader/images/test.ppm index 05d627c..05d627c 100644 --- a/tests/benchmarks/qimagereader/images/test.ppm +++ b/tests/benchmarks/gui/image/qimagereader/images/test.ppm diff --git a/tests/benchmarks/qimagereader/images/test.xpm b/tests/benchmarks/gui/image/qimagereader/images/test.xpm index 5fcf075..5fcf075 100644 --- a/tests/benchmarks/qimagereader/images/test.xpm +++ b/tests/benchmarks/gui/image/qimagereader/images/test.xpm diff --git a/tests/benchmarks/qimagereader/images/transparent.xpm b/tests/benchmarks/gui/image/qimagereader/images/transparent.xpm index 5ddcf0b..5ddcf0b 100644 --- a/tests/benchmarks/qimagereader/images/transparent.xpm +++ b/tests/benchmarks/gui/image/qimagereader/images/transparent.xpm diff --git a/tests/benchmarks/qimagereader/images/trolltech.gif b/tests/benchmarks/gui/image/qimagereader/images/trolltech.gif Binary files differindex f674369..f674369 100644 --- a/tests/benchmarks/qimagereader/images/trolltech.gif +++ b/tests/benchmarks/gui/image/qimagereader/images/trolltech.gif diff --git a/tests/benchmarks/qimagereader/images/tst7.bmp b/tests/benchmarks/gui/image/qimagereader/images/tst7.bmp Binary files differindex 6d3ac92..6d3ac92 100644 --- a/tests/benchmarks/qimagereader/images/tst7.bmp +++ b/tests/benchmarks/gui/image/qimagereader/images/tst7.bmp diff --git a/tests/benchmarks/qimagereader/images/tst7.png b/tests/benchmarks/gui/image/qimagereader/images/tst7.png Binary files differindex 96efae4..96efae4 100644 --- a/tests/benchmarks/qimagereader/images/tst7.png +++ b/tests/benchmarks/gui/image/qimagereader/images/tst7.png diff --git a/tests/benchmarks/qimagereader/qimagereader.pro b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro index 276ac33..276ac33 100644 --- a/tests/benchmarks/qimagereader/qimagereader.pro +++ b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro diff --git a/tests/benchmarks/qimagereader/tst_qimagereader.cpp b/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp index 3f38d19..3f38d19 100644 --- a/tests/benchmarks/qimagereader/tst_qimagereader.cpp +++ b/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp diff --git a/tests/benchmarks/qpixmap/qpixmap.pro b/tests/benchmarks/gui/image/qpixmap/qpixmap.pro index e8330bd..e8330bd 100644 --- a/tests/benchmarks/qpixmap/qpixmap.pro +++ b/tests/benchmarks/gui/image/qpixmap/qpixmap.pro diff --git a/tests/benchmarks/qpixmap/tst_qpixmap.cpp b/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp index 9ffbefb..9ffbefb 100644 --- a/tests/benchmarks/qpixmap/tst_qpixmap.cpp +++ b/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp diff --git a/tests/benchmarks/qpixmapcache/qpixmapcache.pro b/tests/benchmarks/gui/image/qpixmapcache/qpixmapcache.pro index e0d7543..e0d7543 100644 --- a/tests/benchmarks/qpixmapcache/qpixmapcache.pro +++ b/tests/benchmarks/gui/image/qpixmapcache/qpixmapcache.pro diff --git a/tests/benchmarks/qpixmapcache/tst_qpixmapcache.cpp b/tests/benchmarks/gui/image/qpixmapcache/tst_qpixmapcache.cpp index 1031ba7..1031ba7 100644 --- a/tests/benchmarks/qpixmapcache/tst_qpixmapcache.cpp +++ b/tests/benchmarks/gui/image/qpixmapcache/tst_qpixmapcache.cpp diff --git a/tests/benchmarks/gui/itemviews/itemviews.pro b/tests/benchmarks/gui/itemviews/itemviews.pro new file mode 100644 index 0000000..be0ee55 --- /dev/null +++ b/tests/benchmarks/gui/itemviews/itemviews.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qtableview diff --git a/tests/benchmarks/qtableview/qtableview.pro b/tests/benchmarks/gui/itemviews/qtableview/qtableview.pro index 02bc530..02bc530 100644 --- a/tests/benchmarks/qtableview/qtableview.pro +++ b/tests/benchmarks/gui/itemviews/qtableview/qtableview.pro diff --git a/tests/benchmarks/qtableview/tst_qtableview.cpp b/tests/benchmarks/gui/itemviews/qtableview/tst_qtableview.cpp index a84d8b5..a84d8b5 100644 --- a/tests/benchmarks/qtableview/tst_qtableview.cpp +++ b/tests/benchmarks/gui/itemviews/qtableview/tst_qtableview.cpp diff --git a/tests/benchmarks/gui/kernel/kernel.pro b/tests/benchmarks/gui/kernel/kernel.pro new file mode 100644 index 0000000..a50aad2 --- /dev/null +++ b/tests/benchmarks/gui/kernel/kernel.pro @@ -0,0 +1,4 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qapplication \ + qwidget diff --git a/tests/benchmarks/qapplication/main.cpp b/tests/benchmarks/gui/kernel/qapplication/main.cpp index c912497..c912497 100644 --- a/tests/benchmarks/qapplication/main.cpp +++ b/tests/benchmarks/gui/kernel/qapplication/main.cpp diff --git a/tests/benchmarks/qapplication/qapplication.pro b/tests/benchmarks/gui/kernel/qapplication/qapplication.pro index f8601e4..f8601e4 100644 --- a/tests/benchmarks/qapplication/qapplication.pro +++ b/tests/benchmarks/gui/kernel/qapplication/qapplication.pro diff --git a/tests/benchmarks/qwidget/qwidget.pro b/tests/benchmarks/gui/kernel/qwidget/qwidget.pro index ff47445..ff47445 100644 --- a/tests/benchmarks/qwidget/qwidget.pro +++ b/tests/benchmarks/gui/kernel/qwidget/qwidget.pro diff --git a/tests/benchmarks/qwidget/tst_qwidget.cpp b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp index f21bd44..f21bd44 100644 --- a/tests/benchmarks/qwidget/tst_qwidget.cpp +++ b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp diff --git a/tests/benchmarks/gui/math3d/math3d.pro b/tests/benchmarks/gui/math3d/math3d.pro new file mode 100644 index 0000000..c511d9a --- /dev/null +++ b/tests/benchmarks/gui/math3d/math3d.pro @@ -0,0 +1,4 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qmatrix4x4 \ + qquaternion diff --git a/tests/benchmarks/qmatrix4x4/qmatrix4x4.pro b/tests/benchmarks/gui/math3d/qmatrix4x4/qmatrix4x4.pro index e82d9de..e82d9de 100644 --- a/tests/benchmarks/qmatrix4x4/qmatrix4x4.pro +++ b/tests/benchmarks/gui/math3d/qmatrix4x4/qmatrix4x4.pro diff --git a/tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp b/tests/benchmarks/gui/math3d/qmatrix4x4/tst_qmatrix4x4.cpp index e962198..e962198 100644 --- a/tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp +++ b/tests/benchmarks/gui/math3d/qmatrix4x4/tst_qmatrix4x4.cpp diff --git a/tests/benchmarks/qquaternion/qquaternion.pro b/tests/benchmarks/gui/math3d/qquaternion/qquaternion.pro index cd68423..cd68423 100644 --- a/tests/benchmarks/qquaternion/qquaternion.pro +++ b/tests/benchmarks/gui/math3d/qquaternion/qquaternion.pro diff --git a/tests/benchmarks/qquaternion/tst_qquaternion.cpp b/tests/benchmarks/gui/math3d/qquaternion/tst_qquaternion.cpp index 7930092..7930092 100644 --- a/tests/benchmarks/qquaternion/tst_qquaternion.cpp +++ b/tests/benchmarks/gui/math3d/qquaternion/tst_qquaternion.cpp diff --git a/tests/benchmarks/gui/painting/painting.pro b/tests/benchmarks/gui/painting/painting.pro new file mode 100644 index 0000000..878567d --- /dev/null +++ b/tests/benchmarks/gui/painting/painting.pro @@ -0,0 +1,5 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qpainter \ + qregion \ + qtransform diff --git a/tests/benchmarks/qpainter/qpainter.pro b/tests/benchmarks/gui/painting/qpainter/qpainter.pro index 5ac8c64..5ac8c64 100644 --- a/tests/benchmarks/qpainter/qpainter.pro +++ b/tests/benchmarks/gui/painting/qpainter/qpainter.pro diff --git a/tests/benchmarks/qpainter/tst_qpainter.cpp b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp index 39b2244..39b2244 100644 --- a/tests/benchmarks/qpainter/tst_qpainter.cpp +++ b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp diff --git a/tests/benchmarks/qregion/main.cpp b/tests/benchmarks/gui/painting/qregion/main.cpp index 3d16e41..3d16e41 100644 --- a/tests/benchmarks/qregion/main.cpp +++ b/tests/benchmarks/gui/painting/qregion/main.cpp diff --git a/tests/benchmarks/qregion/qregion.pro b/tests/benchmarks/gui/painting/qregion/qregion.pro index fc67177..fc67177 100644 --- a/tests/benchmarks/qregion/qregion.pro +++ b/tests/benchmarks/gui/painting/qregion/qregion.pro diff --git a/tests/benchmarks/qtransform/qtransform.pro b/tests/benchmarks/gui/painting/qtransform/qtransform.pro index 8d87656..8d87656 100644 --- a/tests/benchmarks/qtransform/qtransform.pro +++ b/tests/benchmarks/gui/painting/qtransform/qtransform.pro diff --git a/tests/benchmarks/qtransform/tst_qtransform.cpp b/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp index b33cf58..b33cf58 100644 --- a/tests/benchmarks/qtransform/tst_qtransform.cpp +++ b/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp diff --git a/tests/benchmarks/qstylesheetstyle/main.cpp b/tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp index 226b661..226b661 100644 --- a/tests/benchmarks/qstylesheetstyle/main.cpp +++ b/tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp diff --git a/tests/benchmarks/qstylesheetstyle/qstylesheetstyle.pro b/tests/benchmarks/gui/styles/qstylesheetstyle/qstylesheetstyle.pro index c097307..c097307 100644 --- a/tests/benchmarks/qstylesheetstyle/qstylesheetstyle.pro +++ b/tests/benchmarks/gui/styles/qstylesheetstyle/qstylesheetstyle.pro diff --git a/tests/benchmarks/gui/styles/styles.pro b/tests/benchmarks/gui/styles/styles.pro new file mode 100644 index 0000000..7c1d069 --- /dev/null +++ b/tests/benchmarks/gui/styles/styles.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qstylesheetstyle diff --git a/tests/benchmarks/qfontmetrics/main.cpp b/tests/benchmarks/gui/text/qfontmetrics/main.cpp index d3f85ef..d3f85ef 100644 --- a/tests/benchmarks/qfontmetrics/main.cpp +++ b/tests/benchmarks/gui/text/qfontmetrics/main.cpp diff --git a/tests/benchmarks/qfontmetrics/qfontmetrics.pro b/tests/benchmarks/gui/text/qfontmetrics/qfontmetrics.pro index b6c7b92..b6c7b92 100644 --- a/tests/benchmarks/qfontmetrics/qfontmetrics.pro +++ b/tests/benchmarks/gui/text/qfontmetrics/qfontmetrics.pro diff --git a/tests/benchmarks/qtext/bidi.txt b/tests/benchmarks/gui/text/qtext/bidi.txt index 7c74cb4..7c74cb4 100644 --- a/tests/benchmarks/qtext/bidi.txt +++ b/tests/benchmarks/gui/text/qtext/bidi.txt diff --git a/tests/benchmarks/qtext/main.cpp b/tests/benchmarks/gui/text/qtext/main.cpp index d4f3165..d4f3165 100644 --- a/tests/benchmarks/qtext/main.cpp +++ b/tests/benchmarks/gui/text/qtext/main.cpp diff --git a/tests/benchmarks/qtext/qtext.pro b/tests/benchmarks/gui/text/qtext/qtext.pro index 9e8860f..9e8860f 100644 --- a/tests/benchmarks/qtext/qtext.pro +++ b/tests/benchmarks/gui/text/qtext/qtext.pro diff --git a/tests/benchmarks/gui/text/text.pro b/tests/benchmarks/gui/text/text.pro new file mode 100644 index 0000000..34e548b --- /dev/null +++ b/tests/benchmarks/gui/text/text.pro @@ -0,0 +1,4 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qfontmetrics \ + qtext diff --git a/tests/benchmarks/network/access/access.pro b/tests/benchmarks/network/access/access.pro new file mode 100644 index 0000000..43357e2 --- /dev/null +++ b/tests/benchmarks/network/access/access.pro @@ -0,0 +1,4 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qfile_vs_qnetworkaccessmanager \ + qnetworkreply diff --git a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/main.cpp index 23e07db..26308e9 100644 --- a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/main.cpp +++ b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/main.cpp @@ -46,7 +46,7 @@ #include <QtNetwork/qnetworkaccessmanager.h> #include <QtCore/QTemporaryFile> #include <QtCore/QFile> -#include "../../auto/network-settings.h" +#include "../../../../auto/network-settings.h" class qfile_vs_qnetworkaccessmanager : public QObject { diff --git a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro index 99d1935..99d1935 100644 --- a/tests/benchmarks/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro +++ b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro diff --git a/tests/benchmarks/qnetworkreply/qnetworkreply.pro b/tests/benchmarks/network/access/qnetworkreply/qnetworkreply.pro index 1e67d81..1e67d81 100644 --- a/tests/benchmarks/qnetworkreply/qnetworkreply.pro +++ b/tests/benchmarks/network/access/qnetworkreply/qnetworkreply.pro diff --git a/tests/benchmarks/qnetworkreply/tst_qnetworkreply.cpp b/tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp index a92359f..f173ed1 100644 --- a/tests/benchmarks/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -48,7 +48,7 @@ #include <QtNetwork/qnetworkaccessmanager.h> #include <QtNetwork/qtcpsocket.h> #include <QtNetwork/qtcpserver.h> -#include "../../auto/network-settings.h" +#include "../../../../auto/network-settings.h" class TimedSender: public QThread diff --git a/tests/benchmarks/network/kernel/kernel.pro b/tests/benchmarks/network/kernel/kernel.pro new file mode 100644 index 0000000..1ec3071 --- /dev/null +++ b/tests/benchmarks/network/kernel/kernel.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qhostinfo diff --git a/tests/benchmarks/qhostinfo/main.cpp b/tests/benchmarks/network/kernel/qhostinfo/main.cpp index 0ae1b7f..0ae1b7f 100644 --- a/tests/benchmarks/qhostinfo/main.cpp +++ b/tests/benchmarks/network/kernel/qhostinfo/main.cpp diff --git a/tests/benchmarks/qhostinfo/qhostinfo.pro b/tests/benchmarks/network/kernel/qhostinfo/qhostinfo.pro index f18d6d7..f18d6d7 100755 --- a/tests/benchmarks/qhostinfo/qhostinfo.pro +++ b/tests/benchmarks/network/kernel/qhostinfo/qhostinfo.pro diff --git a/tests/benchmarks/network/network.pro b/tests/benchmarks/network/network.pro new file mode 100644 index 0000000..4e83db2 --- /dev/null +++ b/tests/benchmarks/network/network.pro @@ -0,0 +1,5 @@ +TEMPLATE = subdirs +SUBDIRS = \ + access \ + kernel \ + socket diff --git a/tests/benchmarks/qtcpserver/qtcpserver.pro b/tests/benchmarks/network/socket/qtcpserver/qtcpserver.pro index e7bf13a..e7bf13a 100644 --- a/tests/benchmarks/qtcpserver/qtcpserver.pro +++ b/tests/benchmarks/network/socket/qtcpserver/qtcpserver.pro diff --git a/tests/benchmarks/qtcpserver/tst_qtcpserver.cpp b/tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp index b6b55c3..022bf3d 100644 --- a/tests/benchmarks/qtcpserver/tst_qtcpserver.cpp +++ b/tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp @@ -58,7 +58,7 @@ Q_DECLARE_METATYPE(QNetworkProxy) Q_DECLARE_METATYPE(QList<QNetworkProxy>) -#include "../../auto/network-settings.h" +#include "../../../../auto/network-settings.h" //TESTED_CLASS= //TESTED_FILES= diff --git a/tests/benchmarks/network/socket/socket.pro b/tests/benchmarks/network/socket/socket.pro new file mode 100644 index 0000000..2d676a2 --- /dev/null +++ b/tests/benchmarks/network/socket/socket.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qtcpserver diff --git a/tests/benchmarks/qscriptclass/tst_qscriptclass.cpp b/tests/benchmarks/qscriptclass/tst_qscriptclass.cpp deleted file mode 100644 index 7985028..0000000 --- a/tests/benchmarks/qscriptclass/tst_qscriptclass.cpp +++ /dev/null @@ -1,511 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <qtest.h> -#include <QtScript> - -Q_DECLARE_METATYPE(QScriptContext*) -Q_DECLARE_METATYPE(QScriptValue) -Q_DECLARE_METATYPE(QScriptValueList) - -//TESTED_FILES= - -class TestClass : public QScriptClass -{ -public: - struct CustomProperty { - QueryFlags qflags; - uint id; - QScriptValue::PropertyFlags pflags; - QScriptValue value; - - CustomProperty(QueryFlags qf, uint i, QScriptValue::PropertyFlags pf, - const QScriptValue &val) - : qflags(qf), id(i), pflags(pf), value(val) { } - }; - - enum CallableMode { - NotCallable, - CallableReturnsSum, - CallableReturnsArgument, - CallableReturnsInvalidVariant - }; - - TestClass(QScriptEngine *engine); - ~TestClass(); - - void addCustomProperty(const QScriptString &name, QueryFlags qflags, - uint id, QScriptValue::PropertyFlags pflags, - const QScriptValue &value); - void removeCustomProperty(const QScriptString &name); - - QueryFlags queryProperty(const QScriptValue &object, - const QScriptString &name, - QueryFlags flags, uint *id); - - QScriptValue property(const QScriptValue &object, - const QScriptString &name, uint id); - - void setProperty(QScriptValue &object, const QScriptString &name, - uint id, const QScriptValue &value); - - QScriptValue::PropertyFlags propertyFlags( - const QScriptValue &object, const QScriptString &name, uint id); - - QScriptClassPropertyIterator *newIterator(const QScriptValue &object); - - QScriptValue prototype() const; - - QString name() const; - - bool supportsExtension(Extension extension) const; - QVariant extension(Extension extension, - const QVariant &argument = QVariant()); - - void setIterationEnabled(bool enable); - bool isIterationEnabled() const; - - void setCallableMode(CallableMode mode); - CallableMode callableMode() const; - - void setHasInstance(bool hasInstance); - bool hasInstance() const; - -private: - inline CustomProperty *findCustomProperty(const QScriptString &name); - - QHash<QScriptString, CustomProperty*> customProperties; - - QScriptValue m_prototype; - bool m_iterationEnabled; - CallableMode m_callableMode; - bool m_hasInstance; -}; - -class TestClassPropertyIterator : public QScriptClassPropertyIterator -{ -public: - TestClassPropertyIterator(const QHash<QScriptString, TestClass::CustomProperty*> &props, - const QScriptValue &object); - ~TestClassPropertyIterator(); - - bool hasNext() const; - void next(); - - bool hasPrevious() const; - void previous(); - - void toFront(); - void toBack(); - - QScriptString name() const; - uint id() const; - QScriptValue::PropertyFlags flags() const; - -private: - int m_index; - int m_last; - QHash<QScriptString, TestClass::CustomProperty*> m_props; -}; - -TestClass::TestClass(QScriptEngine *engine) - : QScriptClass(engine), m_iterationEnabled(true), - m_callableMode(NotCallable), m_hasInstance(false) -{ - m_prototype = engine->newObject(); -} - -TestClass::~TestClass() -{ - qDeleteAll(customProperties); -} - -TestClass::CustomProperty* TestClass::findCustomProperty(const QScriptString &name) -{ - QHash<QScriptString, CustomProperty*>::const_iterator it; - it = customProperties.constFind(name); - if (it == customProperties.constEnd()) - return 0; - return it.value(); - -} - -void TestClass::addCustomProperty(const QScriptString &name, QueryFlags qflags, - uint id, QScriptValue::PropertyFlags pflags, - const QScriptValue &value) -{ - customProperties.insert(name, new CustomProperty(qflags, id, pflags, value)); -} - -void TestClass::removeCustomProperty(const QScriptString &name) -{ - CustomProperty *prop = customProperties.take(name); - if (prop) - delete prop; -} - -QScriptClass::QueryFlags TestClass::queryProperty(const QScriptValue &/*object*/, - const QScriptString &name, - QueryFlags flags, uint *id) -{ - CustomProperty *prop = findCustomProperty(name); - if (!prop) - return 0; - *id = prop->id; - return prop->qflags & flags; -} - -QScriptValue TestClass::property(const QScriptValue &/*object*/, - const QScriptString &name, uint /*id*/) -{ - CustomProperty *prop = findCustomProperty(name); - if (!prop) - return QScriptValue(); - return prop->value; -} - -void TestClass::setProperty(QScriptValue &/*object*/, const QScriptString &name, - uint /*id*/, const QScriptValue &value) -{ - CustomProperty *prop = findCustomProperty(name); - if (!prop) - return; - prop->value = value; -} - -QScriptValue::PropertyFlags TestClass::propertyFlags( - const QScriptValue &/*object*/, const QScriptString &name, uint /*id*/) -{ - CustomProperty *prop = findCustomProperty(name); - if (!prop) - return 0; - return prop->pflags; -} - -QScriptClassPropertyIterator *TestClass::newIterator(const QScriptValue &object) -{ - if (!m_iterationEnabled) - return 0; - return new TestClassPropertyIterator(customProperties, object); -} - -QScriptValue TestClass::prototype() const -{ - return m_prototype; -} - -QString TestClass::name() const -{ - return QLatin1String("TestClass"); -} - -bool TestClass::supportsExtension(Extension extension) const -{ - if (extension == Callable) - return (m_callableMode != NotCallable); - if (extension == HasInstance) - return m_hasInstance; - return false; -} - -QVariant TestClass::extension(Extension extension, - const QVariant &argument) -{ - if (extension == Callable) { - Q_ASSERT(m_callableMode != NotCallable); - QScriptContext *ctx = qvariant_cast<QScriptContext*>(argument); - if (m_callableMode == CallableReturnsSum) { - qsreal sum = 0; - for (int i = 0; i < ctx->argumentCount(); ++i) - sum += ctx->argument(i).toNumber(); - QScriptValueIterator it(ctx->thisObject()); - while (it.hasNext()) { - it.next(); - sum += it.value().toNumber(); - } - return sum; - } else if (m_callableMode == CallableReturnsArgument) { - return qVariantFromValue(ctx->argument(0)); - } else if (m_callableMode == CallableReturnsInvalidVariant) { - return QVariant(); - } - } else if (extension == HasInstance) { - Q_ASSERT(m_hasInstance); - QScriptValueList args = qvariant_cast<QScriptValueList>(argument); - QScriptValue obj = args.at(0); - QScriptValue value = args.at(1); - return value.property("foo").equals(obj.property("foo")); - } - return QVariant(); -} - -void TestClass::setIterationEnabled(bool enable) -{ - m_iterationEnabled = enable; -} - -bool TestClass::isIterationEnabled() const -{ - return m_iterationEnabled; -} - -void TestClass::setCallableMode(CallableMode mode) -{ - m_callableMode = mode; -} - -TestClass::CallableMode TestClass::callableMode() const -{ - return m_callableMode; -} - -void TestClass::setHasInstance(bool hasInstance) -{ - m_hasInstance = hasInstance; -} - -bool TestClass::hasInstance() const -{ - return m_hasInstance; -} - -TestClassPropertyIterator::TestClassPropertyIterator(const QHash<QScriptString, TestClass::CustomProperty*> &props, - const QScriptValue &object) - : QScriptClassPropertyIterator(object) -{ - m_props = props; - toFront(); -} - -TestClassPropertyIterator::~TestClassPropertyIterator() -{ -} - -bool TestClassPropertyIterator::hasNext() const -{ - return m_index < m_props.size(); -} - -void TestClassPropertyIterator::next() -{ - m_last = m_index; - ++m_index; -} - -bool TestClassPropertyIterator::hasPrevious() const -{ - return m_index > 0; -} - -void TestClassPropertyIterator::previous() -{ - --m_index; - m_last = m_index; -} - -void TestClassPropertyIterator::toFront() -{ - m_index = 0; - m_last = -1; -} - -void TestClassPropertyIterator::toBack() -{ - m_index = m_props.size(); - m_last = -1; -} - -QScriptString TestClassPropertyIterator::name() const -{ - return m_props.keys().value(m_last); -} - -uint TestClassPropertyIterator::id() const -{ - QScriptString key = m_props.keys().value(m_last); - if (!key.isValid()) - return 0; - TestClass::CustomProperty *prop = m_props.value(key); - return prop->id; -} - -QScriptValue::PropertyFlags TestClassPropertyIterator::flags() const -{ - QScriptString key = m_props.keys().value(m_last); - if (!key.isValid()) - return 0; - TestClass::CustomProperty *prop = m_props.value(key); - return prop->pflags; -} - -class tst_QScriptClass : public QObject -{ - Q_OBJECT - -public: - tst_QScriptClass(); - virtual ~tst_QScriptClass(); - -public slots: - void init(); - void cleanup(); - -private slots: - void noSuchProperty(); - void property(); - void setProperty(); - void propertyFlags(); - void call(); - void hasInstance(); - void iterate(); -}; - -tst_QScriptClass::tst_QScriptClass() -{ -} - -tst_QScriptClass::~tst_QScriptClass() -{ -} - -void tst_QScriptClass::init() -{ -} - -void tst_QScriptClass::cleanup() -{ -} - -void tst_QScriptClass::noSuchProperty() -{ - QScriptEngine eng; - TestClass cls(&eng); - QScriptValue obj = eng.newObject(&cls); - QString propertyName = QString::fromLatin1("foo"); - QBENCHMARK { - (void)obj.property(propertyName); - } -} - -void tst_QScriptClass::property() -{ - QScriptEngine eng; - TestClass cls(&eng); - QScriptString foo = eng.toStringHandle("foo"); - cls.addCustomProperty(foo, QScriptClass::HandlesReadAccess, /*id=*/1, /*attributes=*/0, /*value=*/123); - QScriptValue obj = eng.newObject(&cls); - QBENCHMARK { - (void)obj.property(foo); - } -} - -void tst_QScriptClass::setProperty() -{ - QScriptEngine eng; - TestClass cls(&eng); - QScriptString foo = eng.toStringHandle("foo"); - cls.addCustomProperty(foo, QScriptClass::HandlesWriteAccess, /*id=*/1, /*attributes=*/0, /*value=*/123); - QScriptValue obj = eng.newObject(&cls); - QScriptValue value(456); - QBENCHMARK { - obj.setProperty(foo, value); - } -} - -void tst_QScriptClass::propertyFlags() -{ - QScriptEngine eng; - TestClass cls(&eng); - QScriptString foo = eng.toStringHandle("foo"); - cls.addCustomProperty(foo, QScriptClass::HandlesReadAccess, /*id=*/1, QScriptValue::ReadOnly, /*value=*/123); - QScriptValue obj = eng.newObject(&cls); - QBENCHMARK { - (void)obj.propertyFlags(foo); - } -} - -void tst_QScriptClass::call() -{ - QScriptEngine eng; - TestClass cls(&eng); - cls.setCallableMode(TestClass::CallableReturnsArgument); - QScriptValue obj = eng.newObject(&cls); - QScriptValue thisObject; - QScriptValueList args; - args.append(123); - QBENCHMARK { - (void)obj.call(thisObject, args); - } -} - -void tst_QScriptClass::hasInstance() -{ - QScriptEngine eng; - TestClass cls(&eng); - cls.setHasInstance(true); - QScriptValue obj = eng.newObject(&cls); - obj.setProperty("foo", 123); - QScriptValue plain = eng.newObject(); - plain.setProperty("foo", obj.property("foo")); - QBENCHMARK { - (void)plain.instanceOf(obj); - } -} - -void tst_QScriptClass::iterate() -{ - QScriptEngine eng; - TestClass cls(&eng); - cls.setIterationEnabled(true); - cls.addCustomProperty(eng.toStringHandle("foo"), QScriptClass::HandlesReadAccess, /*id=*/1, /*attributes=*/0, /*value=*/123); - cls.addCustomProperty(eng.toStringHandle("bar"), QScriptClass::HandlesReadAccess, /*id=*/2, /*attributes=*/0, /*value=*/456); - QScriptValue obj = eng.newObject(&cls); - QBENCHMARK { - QScriptValueIterator it(obj); - while (it.hasNext()) { - it.next(); - (void)it.scriptName(); - } - } -} - -QTEST_MAIN(tst_QScriptClass) -#include "tst_qscriptclass.moc" diff --git a/tests/benchmarks/qtestlib-simple/main.cpp b/tests/benchmarks/qtestlib-simple/main.cpp deleted file mode 100644 index a8dabe9..0000000 --- a/tests/benchmarks/qtestlib-simple/main.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include <QtGui> -#include <QString> - -#include <qtest.h> - - -class tst_QHash : public QObject -{ - Q_OBJECT -private slots: - void foo1_data(); - void foo1(); - void foo2_data(); - void foo2(); - void foo3(); -}; - -void tst_QHash::foo1_data() -{ - QTest::addColumn<int>("x"); - QTest::addColumn<int>("y"); - QTest::newRow("tag1.1") << 16 << 17; - QTest::newRow("tag2.1") << 18 << 19; -} - -void tst_QHash::foo1() -{ - QFETCH(int, x); - QFETCH(int, y); - Q_UNUSED(x); - Q_UNUSED(y); - - QHash<int, int> testHash; - - QBENCHMARK { - testHash.insertMulti(1, 1); - } -} - -void tst_QHash::foo2_data() -{ - QTest::addColumn<int>("x"); - QTest::addColumn<int>("y"); - QTest::newRow("tag1.1") << 16 << 17; - QTest::newRow("tag2.1") << 18 << 19; -} - -void tst_QHash::foo2() -{ - QFETCH(int, x); - QFETCH(int, y); - Q_UNUSED(x); - Q_UNUSED(y); - - QHash<int, int> testHash; - - QBENCHMARK { - testHash.insertMulti(1, 1); - } - - QBENCHMARK { - testHash.insertMulti(1, 1); - } -} - -void tst_QHash::foo3() -{ - QHash<int, int> testHash; - - QBENCHMARK { - testHash.insertMulti(1, 1); - } -} - - -QTEST_MAIN(tst_QHash) -#include "main.moc" diff --git a/tests/benchmarks/qtestlib-simple/qtestlib-simple.pro b/tests/benchmarks/qtestlib-simple/qtestlib-simple.pro deleted file mode 100644 index 7c49883..0000000 --- a/tests/benchmarks/qtestlib-simple/qtestlib-simple.pro +++ /dev/null @@ -1,8 +0,0 @@ -load(qttest_p4) -TEMPLATE = app -TARGET = tst_qtestlib-simple -DEPENDPATH += . -INCLUDEPATH += . - -# Input -SOURCES += main.cpp diff --git a/tests/benchmarks/qtwidgets/advanced.ui b/tests/benchmarks/qtwidgets/advanced.ui deleted file mode 100644 index ce27374..0000000 --- a/tests/benchmarks/qtwidgets/advanced.ui +++ /dev/null @@ -1,319 +0,0 @@ -<ui version="4.0" > - <author></author> - <comment></comment> - <exportmacro></exportmacro> - <class>Advanced</class> - <widget class="QWidget" name="Advanced" > - <property name="objectName" > - <string notr="true" >Advanced</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>400</width> - <height>300</height> - </rect> - </property> - <layout class="QVBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QPushButton" name="pushButton" > - <property name="objectName" > - <string notr="true" >pushButton</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>80</width> - <height>23</height> - </rect> - </property> - <property name="text" > - <string/> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pushButton_2" > - <property name="objectName" > - <string notr="true" >pushButton_2</string> - </property> - <property name="geometry" > - <rect> - <x>87</x> - <y>1</y> - <width>80</width> - <height>23</height> - </rect> - </property> - <property name="text" > - <string>Text</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="checkBox" > - <property name="objectName" > - <string notr="true" >checkBox</string> - </property> - <property name="geometry" > - <rect> - <x>173</x> - <y>6</y> - <width>23</width> - <height>13</height> - </rect> - </property> - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset/> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButton" > - <property name="objectName" > - <string notr="true" >radioButton</string> - </property> - <property name="geometry" > - <rect> - <x>202</x> - <y>6</y> - <width>22</width> - <height>12</height> - </rect> - </property> - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset/> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="checkBox_2" > - <property name="objectName" > - <string notr="true" >checkBox_2</string> - </property> - <property name="geometry" > - <rect> - <x>230</x> - <y>3</y> - <width>44</width> - <height>18</height> - </rect> - </property> - <property name="text" > - <string>Text</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButton_2" > - <property name="objectName" > - <string notr="true" >radioButton_2</string> - </property> - <property name="geometry" > - <rect> - <x>280</x> - <y>3</y> - <width>43</width> - <height>18</height> - </rect> - </property> - <property name="text" > - <string>Text</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QGridLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QListWidget" name="listWidget" > - <property name="objectName" > - <string notr="true" >listWidget</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>186</width> - <height>91</height> - </rect> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QListWidget" name="listWidget_3" > - <property name="objectName" > - <string notr="true" >listWidget_3</string> - </property> - <property name="geometry" > - <rect> - <x>193</x> - <y>96</y> - <width>188</width> - <height>60</height> - </rect> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QTreeWidget" name="treeWidget_2" > - <property name="objectName" > - <string notr="true" >treeWidget_2</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>96</y> - <width>186</width> - <height>60</height> - </rect> - </property> - </widget> - </item> - <item row="0" column="1" > - <layout class="QVBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QListWidget" name="listWidget_2" > - <property name="objectName" > - <string notr="true" >listWidget_2</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>186</width> - <height>43</height> - </rect> - </property> - </widget> - </item> - <item> - <widget class="QTreeWidget" name="treeWidget" > - <property name="objectName" > - <string notr="true" >treeWidget</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>48</y> - <width>186</width> - <height>43</height> - </rect> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <widget class="QTabWidget" name="tabWidget" > - <property name="objectName" > - <string notr="true" >tabWidget</string> - </property> - <property name="geometry" > - <rect> - <x>9</x> - <y>201</y> - <width>382</width> - <height>90</height> - </rect> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>90</height> - </size> - </property> - <property name="tabPosition" > - <enum>QTabWidget::North</enum> - </property> - <property name="tabShape" > - <enum>QTabWidget::Rounded</enum> - </property> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>380</width> - <height>63</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 1</string> - </attribute> - </widget> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>459</width> - <height>66</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 2</string> - </attribute> - </widget> - </widget> - </item> - </layout> - </widget> - <pixmapfunction></pixmapfunction> - <connections/> -</ui> diff --git a/tests/benchmarks/qtwidgets/icons/big.png b/tests/benchmarks/qtwidgets/icons/big.png Binary files differdeleted file mode 100644 index 6032804..0000000 --- a/tests/benchmarks/qtwidgets/icons/big.png +++ /dev/null diff --git a/tests/benchmarks/qtwidgets/icons/folder.png b/tests/benchmarks/qtwidgets/icons/folder.png Binary files differdeleted file mode 100644 index 981a25d..0000000 --- a/tests/benchmarks/qtwidgets/icons/folder.png +++ /dev/null diff --git a/tests/benchmarks/qtwidgets/icons/icon.bmp b/tests/benchmarks/qtwidgets/icons/icon.bmp Binary files differdeleted file mode 100644 index 196de6a..0000000 --- a/tests/benchmarks/qtwidgets/icons/icon.bmp +++ /dev/null diff --git a/tests/benchmarks/qtwidgets/icons/icon.png b/tests/benchmarks/qtwidgets/icons/icon.png Binary files differdeleted file mode 100644 index 8f9c562..0000000 --- a/tests/benchmarks/qtwidgets/icons/icon.png +++ /dev/null diff --git a/tests/benchmarks/qtwidgets/mainwindow.cpp b/tests/benchmarks/qtwidgets/mainwindow.cpp deleted file mode 100644 index bb19567..0000000 --- a/tests/benchmarks/qtwidgets/mainwindow.cpp +++ /dev/null @@ -1,313 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "mainwindow.h" -#include <QSplitter> -#include <QHeaderView> - -StyleWidget::StyleWidget(QWidget *parent, Qt::WFlags f) - : QWidget(parent, f) -{ - QHBoxLayout *hbox = new QHBoxLayout(this); - QSplitter *spl = new QSplitter(this); - - // standard widgets - QWidget *leftWidget = new QWidget(this); - m_staWidget.setupUi(leftWidget); - - // advanced/system widgets - QGroupBox *rightWidget = new QGroupBox("Advanced", this); - QVBoxLayout *vbox = new QVBoxLayout(rightWidget); - QWidget *adv = new QWidget(rightWidget); - m_advWidget.setupUi(adv); - QWidget *sys = new QWidget(rightWidget); - m_sysWidget.setupUi(sys); - vbox->addWidget(adv); - vbox->addWidget(sys); - - spl->addWidget(leftWidget); - spl->addWidget(rightWidget); - - hbox->setMargin(4); - hbox->addWidget(spl); - - m_small1 = QIcon(":/icons/icon.bmp"); - m_small2 = QIcon(":/icons/icon.png"); - m_big = QIcon(":/icons/big.png"); - - addComboBoxItems(); - addTreeItems(); - addTreeListItems(); - addListItems(); - addTextEdit(); - setupOtherWidgets(); - setupButtons(); - - foreach(QWidget *w, qFindChildren<QWidget *>(parentWidget())) - w->setWhatsThis(w->metaObject()->className()); -} - -StyleWidget::~StyleWidget() -{ - -} - -void StyleWidget::addTextEdit() -{ - m_staWidget.textEdit->setPlainText( - "Some Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text"); - m_staWidget.textEdit_2->setPlainText( - "Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text"); - m_staWidget.textEdit_3->setPlainText( - "Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text, Some Text" \ - "Some Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\nSome Text\n"); -} - -void StyleWidget::addComboBoxItems() -{ - m_staWidget.comboBox->addItem("Item 1"); - m_staWidget.comboBox->addItem("Item 2"); - m_staWidget.comboBox->addItem("Item 3"); - m_staWidget.comboBox->addItem("Item 4"); - m_staWidget.comboBox->addItem("Item 5"); -} - -void StyleWidget::addListItems() -{ - m_staWidget.listWidget->addItem("Item 1"); - m_staWidget.listWidget->addItem("Item 2"); - m_staWidget.listWidget->addItem("Item 3"); - m_staWidget.listWidget->addItem("Item 4"); - m_staWidget.listWidget->addItem("Item 5"); - - QListWidgetItem *tmp = new QListWidgetItem("Item 1", m_staWidget.listWidget_2); - tmp->setCheckState(Qt::Checked); - tmp = new QListWidgetItem("Item 2", m_staWidget.listWidget_2); - tmp->setCheckState(Qt::Checked); - tmp = new QListWidgetItem("Item 3", m_staWidget.listWidget_2); - tmp->setCheckState(Qt::Checked); - tmp = new QListWidgetItem("Item 4", m_staWidget.listWidget_2); - tmp->setCheckState(Qt::Checked); - tmp = new QListWidgetItem("Item 5", m_staWidget.listWidget_2); - tmp->setCheckState(Qt::Checked); - - tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget_3); - tmp->setCheckState(Qt::Checked); - tmp->setIcon(m_small1); - tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget_3); - tmp->setCheckState(Qt::Checked); - tmp->setIcon(m_small1); - tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget_3); - tmp->setCheckState(Qt::Checked); - tmp->setIcon(m_small1); - tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget_3); - tmp->setCheckState(Qt::Checked); - tmp->setIcon(m_small1); - tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget_3); - tmp->setCheckState(Qt::Checked); - tmp->setIcon(m_small1); - - m_advWidget.listWidget->setViewMode(QListView::IconMode); - QIcon folder(":/icons/folder.png"); - tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget); - tmp->setIcon(folder); - tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget); - tmp->setIcon(folder); - tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget); - tmp->setIcon(folder); - tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget); - tmp->setIcon(folder); - tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget); - tmp->setIcon(folder); - - tmp = new QListWidgetItem("Item 1", m_advWidget.listWidget_2); - tmp->setIcon(m_small1); - tmp = new QListWidgetItem("Item 2", m_advWidget.listWidget_2); - tmp->setIcon(m_small1); - tmp = new QListWidgetItem("Item 3", m_advWidget.listWidget_2); - tmp->setIcon(m_small1); - tmp = new QListWidgetItem("Item 4", m_advWidget.listWidget_2); - tmp->setIcon(m_small1); - tmp = new QListWidgetItem("Item 5", m_advWidget.listWidget_2); - tmp->setIcon(m_small1); -} - -void StyleWidget::setupOtherWidgets() -{ - m_sysWidget.tableWidget->setRowCount(100); - m_sysWidget.tableWidget->setColumnCount(100); -} - -void StyleWidget::addTreeItems() -{ - //standard tree - m_staWidget.treeWidget_2->setColumnCount(1); - m_staWidget.treeWidget_2->header()->hide(); - - QTreeWidgetItem *tmp; - QTreeWidgetItem *subtmp; - QTreeWidgetItem *root1 = new QTreeWidgetItem(m_staWidget.treeWidget_2); - root1->setText(0, "Root 1"); - QTreeWidgetItem *root2 = new QTreeWidgetItem(m_staWidget.treeWidget_2); - root2->setText(0, "Root 2"); - - for (int i=1; i<=10; ++i) - { - tmp = new QTreeWidgetItem(root1); - tmp->setText(0, QString("Item %1").arg(i)); - for (int j=1; j<=5; ++j) - { - subtmp = new QTreeWidgetItem(tmp); - subtmp->setText(0, QString("Sub Item %1").arg(j)); - } - } - - // standard checked tree - m_staWidget.treeWidget_4->setColumnCount(1); - m_staWidget.treeWidget_4->header()->hide(); - - root1 = new QTreeWidgetItem(m_staWidget.treeWidget_4); - root1->setText(0, "Root 1"); - root1->setCheckState(0, Qt::Checked); - root2 = new QTreeWidgetItem(m_staWidget.treeWidget_4); - root2->setText(0, "Root 2"); - root2->setCheckState(0, Qt::Checked); - - for (int i=1; i<=10; ++i) - { - tmp = new QTreeWidgetItem(root1); - tmp->setText(0, QString("Item %1").arg(i)); - tmp->setCheckState(0, Qt::Checked); - for (int j=1; j<=5; ++j) - { - subtmp = new QTreeWidgetItem(tmp); - subtmp->setText(0, QString("Sub Item %1").arg(j)); - subtmp->setCheckState(0, Qt::Checked); - } - } - - // advanced (images) tree - m_advWidget.treeWidget_2->setColumnCount(1); - m_advWidget.treeWidget_2->header()->hide(); - - root1 = new QTreeWidgetItem(m_advWidget.treeWidget_2); - root1->setText(0, "Root 1"); - root1->setIcon(0, m_small1); - root2 = new QTreeWidgetItem(m_advWidget.treeWidget_2); - root2->setText(0, "Root 2"); - root2->setIcon(0, m_small1); - - for (int i=1; i<=10; ++i) - { - tmp = new QTreeWidgetItem(root1); - tmp->setText(0, QString("Item %1").arg(i)); - tmp->setIcon(0, m_small2); - for (int j=1; j<=5; ++j) - { - subtmp = new QTreeWidgetItem(tmp); - subtmp->setText(0, QString("Sub Item %1").arg(j)); - tmp->setIcon(0, m_small1); - } - } - -} - -void StyleWidget::addTreeListItems() -{ - //standard list - QTreeWidgetItem *tmp; - m_staWidget.treeWidget->setColumnCount(3); - m_staWidget.treeWidget->headerItem()->setText(0, "Col1"); - m_staWidget.treeWidget->headerItem()->setText(1, "Col2"); - m_staWidget.treeWidget->headerItem()->setText(2, "Col3"); - - for (int i=1; i<10; ++i) - { - tmp = new QTreeWidgetItem(m_staWidget.treeWidget); - tmp->setText(0, QString("Item%1").arg(i)); - tmp->setText(1, QString("Item%11").arg(i)); - tmp->setText(2, QString("Item%12").arg(i)); - } - - //standard checked list - m_staWidget.treeWidget_3->setColumnCount(3); - m_staWidget.treeWidget_3->headerItem()->setText(0, "Col1"); - m_staWidget.treeWidget_3->headerItem()->setText(1, "Col2"); - m_staWidget.treeWidget_3->headerItem()->setText(2, "Col3"); - - for (int i=1; i<10; ++i) - { - tmp = new QTreeWidgetItem(m_staWidget.treeWidget_3); - tmp->setText(0, QString("Item%1").arg(i)); - tmp->setCheckState(0, Qt::Checked); - tmp->setText(1, QString("Item%11").arg(i)); - tmp->setText(2, QString("Item%12").arg(i)); - } - - //with images - m_advWidget.treeWidget->setColumnCount(2); - m_advWidget.treeWidget->headerItem()->setText(0, "Col1"); - m_advWidget.treeWidget->headerItem()->setIcon(0, m_small2); - m_advWidget.treeWidget->headerItem()->setText(1, "Col2"); - m_advWidget.treeWidget->headerItem()->setIcon(1, m_small2); - - for (int i=1; i<10; ++i) - { - tmp = new QTreeWidgetItem(m_advWidget.treeWidget); - tmp->setText(0, QString("Item%1").arg(i)); - tmp->setIcon(0, m_small1); - tmp->setText(1, QString("Item%11").arg(i)); - } -} - -void StyleWidget::setupButtons() -{ - m_advWidget.pushButton->setIcon(m_small1); - m_advWidget.pushButton_2->setIcon(m_small1); - m_advWidget.checkBox->setIcon(m_small2); - m_advWidget.checkBox_2->setIcon(m_small2); - m_advWidget.radioButton->setIcon(m_small2); - m_advWidget.radioButton_2->setIcon(m_small2); - - // tab page images - m_advWidget.tabWidget->setTabIcon(0, m_small2); - m_advWidget.tabWidget->setTabIcon(1, m_small2); -} diff --git a/tests/benchmarks/qtwidgets/mainwindow.h b/tests/benchmarks/qtwidgets/mainwindow.h deleted file mode 100644 index 8a4521a..0000000 --- a/tests/benchmarks/qtwidgets/mainwindow.h +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include <QWidget> -#include <QWhatsThis> -#include "ui_standard.h" -#include "ui_advanced.h" -#include "ui_system.h" - -class StyleWidget : public QWidget -{ - Q_OBJECT - -public: - StyleWidget(QWidget *parent = 0, Qt::WFlags f = 0); - ~StyleWidget(); - -public slots: - void onWhatsThis() { QWhatsThis::enterWhatsThisMode(); } - -private: - void addComboBoxItems(); - void addListItems(); - void addTextEdit(); - void setupOtherWidgets(); - void setupButtons(); - void addTreeItems(); - void addTreeListItems(); - - Ui::Standard m_staWidget; - Ui::Advanced m_advWidget; - Ui::System m_sysWidget; - - QIcon m_small1; - QIcon m_small2; - QIcon m_big; -}; - -#endif //MAINWINDOW_H - diff --git a/tests/benchmarks/qtwidgets/qtstyles.qrc b/tests/benchmarks/qtwidgets/qtstyles.qrc deleted file mode 100644 index 772891d..0000000 --- a/tests/benchmarks/qtwidgets/qtstyles.qrc +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE RCC><RCC version="1.0"> -<qresource prefix="/"> - <file name="icon.png">./icons/icon.png</file> - <file name="icon.bmp">./icons/icon.bmp</file> - <file name="big.png">./icons/big.png</file> - <file name="folder.png">./icons/folder.png</file> -</qresource> -</RCC> diff --git a/tests/benchmarks/qtwidgets/qtwidgets.pro b/tests/benchmarks/qtwidgets/qtwidgets.pro deleted file mode 100644 index ad5e7ac..0000000 --- a/tests/benchmarks/qtwidgets/qtwidgets.pro +++ /dev/null @@ -1,9 +0,0 @@ -load(qttest_p4) - -SOURCES += tst_qtwidgets.cpp mainwindow.cpp -HEADERS += mainwindow.h -QT += network -RESOURCES = qtstyles.qrc -FORMS += advanced.ui system.ui standard.ui - - diff --git a/tests/benchmarks/qtwidgets/standard.ui b/tests/benchmarks/qtwidgets/standard.ui deleted file mode 100644 index 9764a66..0000000 --- a/tests/benchmarks/qtwidgets/standard.ui +++ /dev/null @@ -1,1207 +0,0 @@ -<ui version="4.0" > - <author></author> - <comment></comment> - <exportmacro></exportmacro> - <class>Standard</class> - <widget class="QWidget" name="Standard" > - <property name="objectName" > - <string notr="true" >Standard</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>400</width> - <height>300</height> - </rect> - </property> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>0</number> - </property> - <item> - <widget class="QGroupBox" name="groupBox" > - <property name="objectName" > - <string notr="true" >groupBox</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>400</width> - <height>300</height> - </rect> - </property> - <property name="title" > - <string>Standard</string> - </property> - <layout class="QVBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QVBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QCheckBox" name="checkBox" > - <property name="objectName" > - <string notr="true" >checkBox</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>114</width> - <height>3</height> - </rect> - </property> - <property name="text" > - <string>Enabled &CheckBox</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="checkBox_2" > - <property name="objectName" > - <string notr="true" >checkBox_2</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>121</x> - <y>1</y> - <width>116</width> - <height>3</height> - </rect> - </property> - <property name="text" > - <string>Disabled Check&Box</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>243</x> - <y>1</y> - <width>80</width> - <height>3</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QComboBox" name="comboBox" > - <property name="objectName" > - <string notr="true" >comboBox</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>41</width> - <height>3</height> - </rect> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="comboBox_2" > - <property name="objectName" > - <string notr="true" >comboBox_2</string> - </property> - <property name="geometry" > - <rect> - <x>48</x> - <y>1</y> - <width>41</width> - <height>3</height> - </rect> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="comboBox_3" > - <property name="objectName" > - <string notr="true" >comboBox_3</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>95</x> - <y>1</y> - <width>41</width> - <height>3</height> - </rect> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QPushButton" name="pushButton" > - <property name="objectName" > - <string notr="true" >pushButton</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>80</width> - <height>3</height> - </rect> - </property> - <property name="text" > - <string>&Enabled</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pushButton_2" > - <property name="objectName" > - <string notr="true" >pushButton_2</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>87</x> - <y>1</y> - <width>80</width> - <height>3</height> - </rect> - </property> - <property name="text" > - <string>Di&sabled</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>173</x> - <y>1</y> - <width>150</width> - <height>3</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QLabel" name="label" > - <property name="objectName" > - <string notr="true" >label</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>99</width> - <height>3</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::NoFrame</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Plain</enum> - </property> - <property name="text" > - <string>Label with some text.</string> - </property> - <property name="textFormat" > - <enum>Qt::AutoText</enum> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label_2" > - <property name="objectName" > - <string notr="true" >label_2</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>106</x> - <y>1</y> - <width>139</width> - <height>3</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::NoFrame</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Plain</enum> - </property> - <property name="text" > - <string>Disabled label with some text.</string> - </property> - <property name="textFormat" > - <enum>Qt::AutoText</enum> - </property> - </widget> - </item> - <item> - <spacer> - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>251</x> - <y>1</y> - <width>72</width> - <height>3</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QLineEdit" name="lineEdit" > - <property name="objectName" > - <string notr="true" >lineEdit</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>135</width> - <height>3</height> - </rect> - </property> - <property name="text" > - <string>Enabled</string> - </property> - <property name="echoMode" > - <enum>QLineEdit::Normal</enum> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="lineEdit_2" > - <property name="objectName" > - <string notr="true" >lineEdit_2</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>142</x> - <y>1</y> - <width>134</width> - <height>3</height> - </rect> - </property> - <property name="text" > - <string>Disabled</string> - </property> - <property name="echoMode" > - <enum>QLineEdit::Normal</enum> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="spinBox" > - <property name="objectName" > - <string notr="true" >spinBox</string> - </property> - <property name="geometry" > - <rect> - <x>282</x> - <y>1</y> - <width>41</width> - <height>3</height> - </rect> - </property> - <property name="buttonSymbols" > - <enum>QAbstractSpinBox::UpDownArrows</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QRadioButton" name="radioButton" > - <property name="objectName" > - <string notr="true" >radioButton</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>123</width> - <height>3</height> - </rect> - </property> - <property name="text" > - <string>Enabled RadioButton</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButton_2" > - <property name="objectName" > - <string notr="true" >radioButton_2</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>130</x> - <y>1</y> - <width>125</width> - <height>3</height> - </rect> - </property> - <property name="text" > - <string>Disabled RadioButton</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>261</x> - <y>1</y> - <width>62</width> - <height>3</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QScrollBar" name="horizontalScrollBar" > - <property name="objectName" > - <string notr="true" >horizontalScrollBar</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>90</width> - <height>3</height> - </rect> - </property> - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>90</width> - <height>0</height> - </size> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item> - <widget class="QScrollBar" name="horizontalScrollBar_2" > - <property name="objectName" > - <string notr="true" >horizontalScrollBar_2</string> - </property> - <property name="geometry" > - <rect> - <x>97</x> - <y>1</y> - <width>30</width> - <height>3</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <widget class="QScrollBar" name="verticalScrollBar" > - <property name="objectName" > - <string notr="true" >verticalScrollBar</string> - </property> - <property name="geometry" > - <rect> - <x>333</x> - <y>1</y> - <width>17</width> - <height>37</height> - </rect> - </property> - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>1</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item> - <widget class="QSlider" name="slider" > - <property name="objectName" > - <string notr="true" >slider</string> - </property> - <property name="geometry" > - <rect> - <x>356</x> - <y>1</y> - <width>21</width> - <height>37</height> - </rect> - </property> - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>1</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="tickPosition" > - <enum>QSlider::TicksBelow</enum> - </property> - <property name="tickInterval" > - <number>0</number> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QSlider" name="slider_2" > - <property name="objectName" > - <string notr="true" >slider_2</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>6</y> - <width>90</width> - <height>16</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickPosition" > - <enum>QSlider::NoTicks</enum> - </property> - </widget> - </item> - <item> - <widget class="QSlider" name="slider_3" > - <property name="objectName" > - <string notr="true" >slider_3</string> - </property> - <property name="geometry" > - <rect> - <x>97</x> - <y>3</y> - <width>89</width> - <height>21</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickPosition" > - <enum>QSlider::TicksBelow</enum> - </property> - </widget> - </item> - <item> - <widget class="QSlider" name="slider_4" > - <property name="objectName" > - <string notr="true" >slider_4</string> - </property> - <property name="geometry" > - <rect> - <x>192</x> - <y>3</y> - <width>90</width> - <height>21</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickPosition" > - <enum>QSlider::TicksAbove</enum> - </property> - </widget> - </item> - <item> - <widget class="QSlider" name="slider_5" > - <property name="objectName" > - <string notr="true" >slider_5</string> - </property> - <property name="geometry" > - <rect> - <x>288</x> - <y>1</y> - <width>89</width> - <height>26</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickPosition" > - <enum>QSlider::TicksBothSides</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QTextEdit" name="textEdit" > - <property name="objectName" > - <string notr="true" >textEdit</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>89</width> - <height>37</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - <property name="verticalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOn</enum> - </property> - <property name="horizontalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - </widget> - </item> - <item> - <widget class="QTextEdit" name="textEdit_2" > - <property name="objectName" > - <string notr="true" >textEdit_2</string> - </property> - <property name="geometry" > - <rect> - <x>96</x> - <y>1</y> - <width>90</width> - <height>37</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - <property name="verticalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - <property name="horizontalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOn</enum> - </property> - </widget> - </item> - <item> - <widget class="QTextEdit" name="textEdit_3" > - <property name="objectName" > - <string notr="true" >textEdit_3</string> - </property> - <property name="geometry" > - <rect> - <x>192</x> - <y>1</y> - <width>89</width> - <height>100</height> - </rect> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>100</height> - </size> - </property> - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - <property name="verticalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOn</enum> - </property> - <property name="horizontalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOn</enum> - </property> - </widget> - </item> - <item> - <widget class="QTextEdit" name="textEdit_4" > - <property name="objectName" > - <string notr="true" >textEdit_4</string> - </property> - <property name="geometry" > - <rect> - <x>287</x> - <y>1</y> - <width>90</width> - <height>37</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - <property name="verticalScrollBarPolicy" > - <enum>Qt::ScrollBarAsNeeded</enum> - </property> - <property name="horizontalScrollBarPolicy" > - <enum>Qt::ScrollBarAsNeeded</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QGroupBox" name="groupBox_2" > - <property name="objectName" > - <string notr="true" >groupBox_2</string> - </property> - <property name="geometry" > - <rect> - <x>11</x> - <y>132</y> - <width>378</width> - <height>39</height> - </rect> - </property> - <property name="title" > - <string>GroupBox</string> - </property> - <layout class="QVBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QProgressBar" name="progressBar" > - <property name="objectName" > - <string notr="true" >progressBar</string> - </property> - <property name="geometry" > - <rect> - <x>11</x> - <y>20</y> - <width>356</width> - <height>8</height> - </rect> - </property> - <property name="value" > - <number>50</number> - </property> - <property name="textVisible" > - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QListWidget" name="listWidget" > - <property name="objectName" > - <string notr="true" >listWidget</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>107</width> - <height>37</height> - </rect> - </property> - </widget> - </item> - <item> - <widget class="QListWidget" name="listWidget_2" > - <property name="objectName" > - <string notr="true" >listWidget_2</string> - </property> - <property name="geometry" > - <rect> - <x>114</x> - <y>1</y> - <width>107</width> - <height>37</height> - </rect> - </property> - </widget> - </item> - <item> - <widget class="QTabWidget" name="tabWidget" > - <property name="objectName" > - <string notr="true" >tabWidget</string> - </property> - <property name="geometry" > - <rect> - <x>227</x> - <y>1</y> - <width>150</width> - <height>37</height> - </rect> - </property> - <property name="minimumSize" > - <size> - <width>150</width> - <height>0</height> - </size> - </property> - <property name="tabPosition" > - <enum>QTabWidget::North</enum> - </property> - <property name="tabShape" > - <enum>QTabWidget::Rounded</enum> - </property> - <widget class="QWidget" name="" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>148</width> - <height>10</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 1</string> - </attribute> - </widget> - <widget class="QWidget" name="" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>116</width> - <height>56</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 2</string> - </attribute> - </widget> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>116</width> - <height>56</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 3</string> - </attribute> - </widget> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>146</width> - <height>36</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 4</string> - </attribute> - </widget> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QTabWidget" name="tabWidget_2" > - <property name="objectName" > - <string notr="true" >tabWidget_2</string> - </property> - <property name="geometry" > - <rect> - <x>11</x> - <y>214</y> - <width>378</width> - <height>90</height> - </rect> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>90</height> - </size> - </property> - <property name="tabPosition" > - <enum>QTabWidget::North</enum> - </property> - <property name="tabShape" > - <enum>QTabWidget::Rounded</enum> - </property> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>376</width> - <height>63</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 1</string> - </attribute> - </widget> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>424</width> - <height>66</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 2</string> - </attribute> - </widget> - </widget> - </item> - <item> - <layout class="QGridLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QTreeWidget" name="treeWidget_2" > - <property name="objectName" > - <string notr="true" >treeWidget_2</string> - </property> - <property name="geometry" > - <rect> - <x>192</x> - <y>1</y> - <width>185</width> - <height>18</height> - </rect> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QTreeWidget" name="treeWidget_3" > - <property name="objectName" > - <string notr="true" >treeWidget_3</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>20</y> - <width>185</width> - <height>18</height> - </rect> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QTreeWidget" name="treeWidget" > - <property name="objectName" > - <string notr="true" >treeWidget</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>185</width> - <height>18</height> - </rect> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QTreeWidget" name="treeWidget_4" > - <property name="objectName" > - <string notr="true" >treeWidget_4</string> - </property> - <property name="geometry" > - <rect> - <x>192</x> - <y>20</y> - <width>185</width> - <height>18</height> - </rect> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <pixmapfunction></pixmapfunction> - <connections/> -</ui> diff --git a/tests/benchmarks/qtwidgets/system.ui b/tests/benchmarks/qtwidgets/system.ui deleted file mode 100644 index a641e0e..0000000 --- a/tests/benchmarks/qtwidgets/system.ui +++ /dev/null @@ -1,658 +0,0 @@ -<ui version="4.0" > - <author></author> - <comment></comment> - <exportmacro></exportmacro> - <class>System</class> - <widget class="QWidget" name="System" > - <property name="objectName" > - <string notr="true" >System</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>400</width> - <height>604</height> - </rect> - </property> - <layout class="QVBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QGridLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="1" > - <widget class="QToolButton" name="toolButton" > - <property name="objectName" > - <string notr="true" >toolButton</string> - </property> - <property name="geometry" > - <rect> - <x>340</x> - <y>138</y> - <width>15</width> - <height>19</height> - </rect> - </property> - <property name="text" > - <string>...</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QFrame" name="horizontalLine" > - <property name="objectName" > - <string notr="true" >horizontalLine</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>146</y> - <width>333</width> - <height>3</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::HLine</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QFrame" name="verticalLine" > - <property name="objectName" > - <string notr="true" >verticalLine</string> - </property> - <property name="geometry" > - <rect> - <x>361</x> - <y>1</y> - <width>3</width> - <height>131</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::VLine</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - </widget> - </item> - <item row="0" column="0" colspan="2" > - <layout class="QGridLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="0" > - <widget class="QDateTimeEdit" name="dateTimeEdit_2" > - <property name="objectName" > - <string notr="true" >dateTimeEdit_2</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>108</y> - <width>113</width> - <height>20</height> - </rect> - </property> - <property name="buttonSymbols" > - <enum>QAbstractSpinBox::UpDownArrows</enum> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QDateTimeEdit" name="dateTimeEdit" > - <property name="objectName" > - <string notr="true" >dateTimeEdit</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>41</y> - <width>113</width> - <height>20</height> - </rect> - </property> - <property name="buttonSymbols" > - <enum>QAbstractSpinBox::UpDownArrows</enum> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QDial" name="dial" > - <property name="objectName" > - <string notr="true" >dial</string> - </property> - <property name="geometry" > - <rect> - <x>120</x> - <y>1</y> - <width>114</width> - <height>100</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLCDNumber" name="lcdNumber" > - <property name="objectName" > - <string notr="true" >lcdNumber</string> - </property> - <property name="geometry" > - <rect> - <x>120</x> - <y>107</y> - <width>114</width> - <height>23</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::Box</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Raised</enum> - </property> - <property name="mode" > - <enum>QLCDNumber::Dec</enum> - </property> - <property name="segmentStyle" > - <enum>QLCDNumber::Outline</enum> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QLCDNumber" name="lcdNumber_2" > - <property name="objectName" > - <string notr="true" >lcdNumber_2</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>240</x> - <y>107</y> - <width>113</width> - <height>23</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::Box</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Raised</enum> - </property> - <property name="mode" > - <enum>QLCDNumber::Dec</enum> - </property> - <property name="segmentStyle" > - <enum>QLCDNumber::Outline</enum> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QDial" name="dial_2" > - <property name="objectName" > - <string notr="true" >dial_2</string> - </property> - <property name="enabled" > - <bool>false</bool> - </property> - <property name="geometry" > - <rect> - <x>240</x> - <y>1</y> - <width>113</width> - <height>100</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QTableWidget" name="tableWidget" > - <property name="objectName" > - <string notr="true" >tableWidget</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>256</width> - <height>193</height> - </rect> - </property> - </widget> - </item> - <item> - <widget class="QToolBox" name="toolBox" > - <property name="objectName" > - <string notr="true" >toolBox</string> - </property> - <property name="geometry" > - <rect> - <x>263</x> - <y>1</y> - <width>118</width> - <height>193</height> - </rect> - </property> - <property name="frameShape" > - <enum>QFrame::Box</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Plain</enum> - </property> - <property name="currentIndex" > - <number>0</number> - </property> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>98</width> - <height>119</height> - </rect> - </property> - <attribute name="label" > - <string>Tool Page 1</string> - </attribute> - </widget> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>115</width> - <height>56</height> - </rect> - </property> - <attribute name="label" > - <string>Tool Page 2</string> - </attribute> - </widget> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QTabWidget" name="tabWidget" > - <property name="objectName" > - <string notr="true" >tabWidget</string> - </property> - <property name="geometry" > - <rect> - <x>9</x> - <y>375</y> - <width>382</width> - <height>220</height> - </rect> - </property> - <property name="tabShape" > - <enum>QTabWidget::Rounded</enum> - </property> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>378</width> - <height>196</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 1</string> - </attribute> - <layout class="QGridLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <layout class="QVBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QComboBox" name="comboBox_3" > - <property name="objectName" > - <string notr="true" >comboBox_3</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>332</width> - <height>20</height> - </rect> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QPushButton" name="pushButton_5" > - <property name="objectName" > - <string notr="true" >pushButton_5</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>1</y> - <width>80</width> - <height>23</height> - </rect> - </property> - <property name="text" > - <string>&Enabled</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pushButton_6" > - <property name="objectName" > - <string notr="true" >pushButton_6</string> - </property> - <property name="geometry" > - <rect> - <x>87</x> - <y>1</y> - <width>80</width> - <height>23</height> - </rect> - </property> - <property name="text" > - <string>Di&sabled</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>173</x> - <y>1</y> - <width>158</width> - <height>23</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="objectName" > - <string notr="true" /> - </property> - <property name="margin" > - <number>1</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QRadioButton" name="radioButton_3" > - <property name="objectName" > - <string notr="true" >radioButton_3</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>2</y> - <width>123</width> - <height>18</height> - </rect> - </property> - <property name="text" > - <string>Enabled RadioButton</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButton_4" > - <property name="objectName" > - <string notr="true" >radioButton_4</string> - </property> - <property name="geometry" > - <rect> - <x>130</x> - <y>2</y> - <width>125</width> - <height>18</height> - </rect> - </property> - <property name="text" > - <string>Disabled RadioButton</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>261</x> - <y>1</y> - <width>70</width> - <height>20</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QProgressBar" name="progressBar" > - <property name="objectName" > - <string notr="true" >progressBar</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>86</y> - <width>332</width> - <height>22</height> - </rect> - </property> - <property name="value" > - <number>24</number> - </property> - </widget> - </item> - <item> - <widget class="QScrollBar" name="horizontalScrollBar" > - <property name="objectName" > - <string notr="true" >horizontalScrollBar</string> - </property> - <property name="geometry" > - <rect> - <x>1</x> - <y>114</y> - <width>332</width> - <height>17</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - </layout> - </item> - <item row="0" column="1" > - <widget class="QScrollBar" name="verticalScrollBar" > - <property name="objectName" > - <string notr="true" >verticalScrollBar</string> - </property> - <property name="geometry" > - <rect> - <x>349</x> - <y>9</y> - <width>17</width> - <height>132</height> - </rect> - </property> - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>1</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item row="1" column="0" > - <spacer> - <property name="objectName" > - <string notr="true" /> - </property> - <property name="geometry" > - <rect> - <x>9</x> - <y>147</y> - <width>334</width> - <height>40</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="widget" > - <property name="objectName" > - <string notr="true" >widget</string> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>377</width> - <height>187</height> - </rect> - </property> - <attribute name="title" > - <string>Tab Page 2</string> - </attribute> - </widget> - </widget> - </item> - </layout> - </widget> - <pixmapfunction></pixmapfunction> - <connections/> -</ui> diff --git a/tests/benchmarks/qscriptclass/qscriptclass.pro b/tests/benchmarks/script/qscriptclass/qscriptclass.pro index f0ffeb7..f0ffeb7 100644 --- a/tests/benchmarks/qscriptclass/qscriptclass.pro +++ b/tests/benchmarks/script/qscriptclass/qscriptclass.pro diff --git a/tests/benchmarks/script/qscriptclass/tst_qscriptclass.cpp b/tests/benchmarks/script/qscriptclass/tst_qscriptclass.cpp new file mode 100644 index 0000000..6ab78b1 --- /dev/null +++ b/tests/benchmarks/script/qscriptclass/tst_qscriptclass.cpp @@ -0,0 +1,285 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <qtest.h> +#include <QtScript> + +Q_DECLARE_METATYPE(QScriptContext*) +Q_DECLARE_METATYPE(QScriptValue) +Q_DECLARE_METATYPE(QScriptValueList) + +// We want reliable numbers so we don't want to rely too much +// on the number of iterations done by testlib. +// this also make the results of valgrind more interesting +const int iterationNumber = 5000; + +class tst_QScriptClass : public QObject +{ + Q_OBJECT + +private slots: + void noSuchProperty(); + void property(); + void setProperty(); + void propertyFlags(); + void call(); + void hasInstance(); + void iterate(); +}; + +// Test the overhead of checking for an inexisting property of a QScriptClass +void tst_QScriptClass::noSuchProperty() +{ + QScriptEngine eng; + QScriptClass cls(&eng); + QScriptValue obj = eng.newObject(&cls); + QString propertyName = QString::fromLatin1("foo"); + QBENCHMARK { + for (int i = 0; i < iterationNumber; ++i) + (void)obj.property(propertyName); + } + Q_ASSERT(!obj.property(propertyName).isValid()); +} + + +class FooScriptClass : public QScriptClass +{ +public: + FooScriptClass(QScriptEngine *engine) + : QScriptClass(engine) + { + foo = engine->toStringHandle("foo"); + } + + QueryFlags queryProperty(const QScriptValue &, + const QScriptString &, + QueryFlags flags, + uint *id) + { + *id = 1; + return flags; + } + + QScriptValue property(const QScriptValue &, + const QScriptString &, + uint) + { + return QScriptValue(engine(), 35); + } + + void setProperty(QScriptValue &, const QScriptString &, + uint, const QScriptValue &) + {} + + QScriptValue::PropertyFlags propertyFlags(const QScriptValue &, const QScriptString &, uint) + { + return QScriptValue::Undeletable; + } +private: + QScriptString foo; +}; + +// Test the overhead of getting a value of QScriptClass accross the Javascript engine +void tst_QScriptClass::property() +{ + QScriptEngine eng; + FooScriptClass cls(&eng); + QScriptValue obj = eng.newObject(&cls); + QScriptString foo = eng.toStringHandle("foo"); + QBENCHMARK { + for (int i = 0; i < iterationNumber; ++i) + (void)obj.property(foo); + } +} + +// Test the overhead of setting a value on QScriptClass accross the Javascript engine +void tst_QScriptClass::setProperty() +{ + QScriptEngine eng; + FooScriptClass cls(&eng); + QScriptValue obj = eng.newObject(&cls); + QScriptValue value(456); + QScriptString foo = eng.toStringHandle("foo"); + QBENCHMARK { + for (int i = 0; i < iterationNumber; ++i) + obj.setProperty(foo, value); + } +} + +// Test the time taken to get the propeties flags accross the engine +void tst_QScriptClass::propertyFlags() +{ + QScriptEngine eng; + FooScriptClass cls(&eng); + QScriptValue obj = eng.newObject(&cls); + QScriptString foo = eng.toStringHandle("foo"); + QBENCHMARK { + for (int i = 0; i < iterationNumber; ++i) + (void)obj.propertyFlags(foo); + } +} + + + +class ExtensionScriptClass : public QScriptClass +{ +public: + ExtensionScriptClass(QScriptEngine *engine) + : QScriptClass(engine) + { + } + + bool supportsExtension(Extension) const + { + return true; + } + + QVariant extension(Extension, const QVariant &argument = QVariant()) + { + Q_UNUSED(argument); + return QVariant(); + } +}; + +// Check the overhead of the extension "call" +void tst_QScriptClass::call() +{ + QScriptEngine eng; + ExtensionScriptClass cls(&eng); + QScriptValue obj = eng.newObject(&cls); + QScriptValue thisObject; + QScriptValueList args; + args.append(123); + QBENCHMARK { + for (int i = 0; i < iterationNumber; ++i) + (void)obj.call(thisObject, args); + } +} + +// Check the overhead of the extension "instanceOf" +void tst_QScriptClass::hasInstance() +{ + QScriptEngine eng; + ExtensionScriptClass cls(&eng); + QScriptValue obj = eng.newObject(&cls); + obj.setProperty("foo", 123); + QScriptValue plain = eng.newObject(); + plain.setProperty("foo", obj.property("foo")); + QBENCHMARK { + for (int i = 0; i < iterationNumber; ++i) + (void)plain.instanceOf(obj); + } +} + + + +static const int iteratorValuesNumber = 100; +class TestClassPropertyIterator : public QScriptClassPropertyIterator +{ +public: + TestClassPropertyIterator(const QScriptValue &object, QVector<QScriptString> names) + : QScriptClassPropertyIterator(object) + , m_index(0) + , names(names) + { + } + + bool hasNext() const + { + return m_index < iteratorValuesNumber - 1; + } + void next() { ++m_index; } + + bool hasPrevious() const { return m_index > 0; } + void previous() { --m_index; } + + void toFront() { m_index = 0; } + void toBack() { m_index = iteratorValuesNumber - 1; } + + QScriptString name() const { return names[m_index]; } + uint id() const { return m_index; } + QScriptValue::PropertyFlags flags() const { return 0; } + +private: + int m_index; + QVector<QScriptString> names; +}; + + +class IteratorScriptClass : public QScriptClass +{ +public: + IteratorScriptClass(QScriptEngine *engine) + : QScriptClass(engine) + { + for (int i = 0; i < iteratorValuesNumber; ++i) + names.append(engine->toStringHandle(QString("property%1").arg(i))); + } + + QScriptClassPropertyIterator *newIterator(const QScriptValue &object) + { + return new TestClassPropertyIterator(object, names); + } +private: + QVector<QScriptString> names; + friend class TestClassPropertyIterator; +}; + +// Measure the performance of the interface to iterate over QScriptClassPropertyIterator +void tst_QScriptClass::iterate() +{ + QScriptEngine eng; + IteratorScriptClass cls(&eng); + QScriptValue obj = eng.newObject(&cls); + int iterationNumberIterate = iterationNumber / iteratorValuesNumber; + QBENCHMARK { + for (int i = 0; i < iterationNumberIterate; ++i) { + QScriptValueIterator it(obj); + while (it.hasNext()) { + it.next(); + (void)it.scriptName(); + } + } + } +} + +QTEST_MAIN(tst_QScriptClass) +#include "tst_qscriptclass.moc" diff --git a/tests/benchmarks/qscriptengine/qscriptengine.pro b/tests/benchmarks/script/qscriptengine/qscriptengine.pro index df6dbb3..df6dbb3 100644 --- a/tests/benchmarks/qscriptengine/qscriptengine.pro +++ b/tests/benchmarks/script/qscriptengine/qscriptengine.pro diff --git a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp b/tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp index 6c6f0b1..6c6f0b1 100644 --- a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp +++ b/tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp diff --git a/tests/benchmarks/qscriptvalue/qscriptvalue.pro b/tests/benchmarks/script/qscriptvalue/qscriptvalue.pro index 04ea324..04ea324 100644 --- a/tests/benchmarks/qscriptvalue/qscriptvalue.pro +++ b/tests/benchmarks/script/qscriptvalue/qscriptvalue.pro diff --git a/tests/benchmarks/qscriptvalue/tst_qscriptvalue.cpp b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp index 3bfc21c..3bfc21c 100644 --- a/tests/benchmarks/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp diff --git a/tests/benchmarks/script/script.pro b/tests/benchmarks/script/script.pro new file mode 100644 index 0000000..8d689b6 --- /dev/null +++ b/tests/benchmarks/script/script.pro @@ -0,0 +1,5 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qscriptclass \ + qscriptengine \ + qscriptvalue diff --git a/tests/benchmarks/qsvgrenderer/data/tiger.svg b/tests/benchmarks/svg/qsvgrenderer/data/tiger.svg index 983e570..983e570 100644 --- a/tests/benchmarks/qsvgrenderer/data/tiger.svg +++ b/tests/benchmarks/svg/qsvgrenderer/data/tiger.svg diff --git a/tests/benchmarks/qsvgrenderer/qsvgrenderer.pro b/tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.pro index 8222a09..8222a09 100644 --- a/tests/benchmarks/qsvgrenderer/qsvgrenderer.pro +++ b/tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.pro diff --git a/tests/benchmarks/qsvgrenderer/qsvgrenderer.qrc b/tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.qrc index bdf4a31..bdf4a31 100644 --- a/tests/benchmarks/qsvgrenderer/qsvgrenderer.qrc +++ b/tests/benchmarks/svg/qsvgrenderer/qsvgrenderer.qrc diff --git a/tests/benchmarks/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/benchmarks/svg/qsvgrenderer/tst_qsvgrenderer.cpp index 895ffe0..895ffe0 100644 --- a/tests/benchmarks/qsvgrenderer/tst_qsvgrenderer.cpp +++ b/tests/benchmarks/svg/qsvgrenderer/tst_qsvgrenderer.cpp diff --git a/tests/benchmarks/svg/svg.pro b/tests/benchmarks/svg/svg.pro new file mode 100644 index 0000000..cdc2ca5 --- /dev/null +++ b/tests/benchmarks/svg/svg.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = \ + qsvgrenderer diff --git a/tests/manual/bearerex/bearerex.cpp b/tests/manual/bearerex/bearerex.cpp new file mode 100644 index 0000000..19246a2 --- /dev/null +++ b/tests/manual/bearerex/bearerex.cpp @@ -0,0 +1,561 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "bearerex.h" + +#include <QtNetwork> + +Q_DECLARE_METATYPE(QNetworkConfiguration) + +BearerEx::BearerEx(QWidget* parent) + : QMainWindow(parent) +{ + setupUi(this); + + createMenus(); + + connect(&m_NetworkConfigurationManager, SIGNAL(updateCompleted()), this, SLOT(configurationsUpdateCompleted())); + connect(&m_NetworkConfigurationManager, SIGNAL(configurationAdded(const QNetworkConfiguration&)), + this, SLOT(configurationAdded(const QNetworkConfiguration&))); + connect(&m_NetworkConfigurationManager, SIGNAL(configurationRemoved(const QNetworkConfiguration&)), + this, SLOT(configurationRemoved(const QNetworkConfiguration&))); + connect(&m_NetworkConfigurationManager, SIGNAL(onlineStateChanged(bool)), + this, SLOT(onlineStateChanged(bool))); + connect(&m_NetworkConfigurationManager, SIGNAL(configurationChanged(const QNetworkConfiguration&)), + this, SLOT(configurationChanged(const QNetworkConfiguration&))); + showConfigurations(); +} + +void BearerEx::createMenus() +{ + QAction* act1 = new QAction(tr("Show Details"), this); + menuBar()->addAction(act1); + connect(act1, SIGNAL(triggered()), this, SLOT(on_showDetailsButton_clicked())); + + QAction* exitAct = new QAction(tr("Exit"), this); + menuBar()->addAction(exitAct); + connect(exitAct, SIGNAL(triggered()), this, SLOT(close())); +} + +void BearerEx::showConfigurations() +{ + listWidget->clear(); + QListWidgetItem* listItem; + + QNetworkConfiguration defaultConfig = m_NetworkConfigurationManager.defaultConfiguration(); + if (defaultConfig.type() == QNetworkConfiguration::UserChoice) { + listItem = new QListWidgetItem(); + QFont font = listItem->font(); + font.setBold(true); + font.setUnderline(true); + listItem->setFont(font); + listItem->setText(" UserChoice"); + listItem->setData(Qt::UserRole, qVariantFromValue(defaultConfig)); + listWidget->addItem(listItem); + } + + QList<QNetworkConfiguration> configurations = m_NetworkConfigurationManager.allConfigurations(); + for (int i=0; i<configurations.count(); i++) + { + listItem = new QListWidgetItem(); + QString text; + if (configurations[i].type() == QNetworkConfiguration::InternetAccessPoint) { + text.append("(IAP,"); + } else if (configurations[i].type() == QNetworkConfiguration::ServiceNetwork) { + text.append("(SNAP,"); + } + + if ((configurations[i].state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) { + text.append("Act) "); + } else if ((configurations[i].state() & QNetworkConfiguration::Discovered) == QNetworkConfiguration::Discovered) { + text.append("Disc) "); + } else { + text.append("Def) "); + } + text.append(configurations[i].name()); + + if (defaultConfig.isValid() && defaultConfig == configurations[i]) { + QFont font = listItem->font(); + font.setBold(true); + font.setUnderline(true); + listItem->setFont(font); + } + listItem->setText(text); + listItem->setData(Qt::UserRole, qVariantFromValue(configurations[i])); + listWidget->addItem(listItem); + } +} + +void BearerEx::on_updateConfigurationsButton_clicked() +{ + m_NetworkConfigurationManager.updateConfigurations(); +} + +void BearerEx::on_updateListButton_clicked() +{ + showConfigurations(); +} + +void BearerEx::on_showDetailsButton_clicked() +{ + QListWidgetItem* item = listWidget->currentItem(); + if (!item) { + return; + } + + QNetworkConfiguration networkConfiguration = qVariantValue<QNetworkConfiguration>(item->data(Qt::UserRole)); + DetailedInfoDialog infoDialog(&networkConfiguration,this); + infoDialog.exec(); +} + +void BearerEx::on_createSessionButton_clicked() +{ + QListWidgetItem* item = listWidget->currentItem(); + if (!item) { + return; + } + QNetworkConfiguration networkConfiguration = qVariantValue<QNetworkConfiguration>(item->data(Qt::UserRole)); + int newTabIndex = mainTabWidget->count(); + SessionTab* newTab = new SessionTab(&networkConfiguration,&m_NetworkConfigurationManager,eventListWidget,newTabIndex-1); + QString label = QString("S")+QString::number(newTabIndex-1); + mainTabWidget->insertTab(newTabIndex,newTab,label); + mainTabWidget->setCurrentIndex(newTabIndex); +} + +void BearerEx::on_clearEventListButton_clicked() +{ + eventListWidget->clear(); +} + +void BearerEx::configurationAdded(const QNetworkConfiguration& config) +{ + QListWidgetItem* listItem = new QListWidgetItem(); + listItem->setText(QString("Added: ")+config.name()); + eventListWidget->addItem(listItem); +} + +void BearerEx::configurationRemoved(const QNetworkConfiguration& config) +{ + QListWidgetItem* listItem = new QListWidgetItem(); + listItem->setText(QString("Removed: ")+config.name()); + eventListWidget->addItem(listItem); +} + +void BearerEx::onlineStateChanged(bool isOnline) +{ + QListWidgetItem* listItem = new QListWidgetItem(); + QFont font = listItem->font(); + font.setBold(true); + listItem->setFont(font); + if (isOnline) { + listItem->setText(QString("> Online")); + } else { + listItem->setText(QString("< Offline")); + } + eventListWidget->addItem(listItem); +} + +void BearerEx::configurationChanged(const QNetworkConfiguration & config) +{ + QListWidgetItem* listItem = new QListWidgetItem(); + QString state; + switch (config.state()) + { + case QNetworkConfiguration::Undefined: + state = "Undef : "; + break; + case QNetworkConfiguration::Defined: + state = "Def : "; + break; + case QNetworkConfiguration::Discovered: + state = "Disc : "; + break; + case QNetworkConfiguration::Active: + state = "Act : "; + break; + } + listItem->setText(state+config.name()); + eventListWidget->addItem(listItem); +} + +void BearerEx::configurationsUpdateCompleted() +{ + QMessageBox msgBox; + msgBox.setStandardButtons(QMessageBox::Close); + msgBox.setText("Configurations update completed."); + msgBox.exec(); +} + +DetailedInfoDialog::DetailedInfoDialog(QNetworkConfiguration* apNetworkConfiguration, QWidget * parent) + : QDialog(parent) +{ + setupUi(this); + + tableWidget->setColumnCount(2); + int rowCount = 2; + + if (apNetworkConfiguration->type() == QNetworkConfiguration::ServiceNetwork) { + rowCount = rowCount + apNetworkConfiguration->children().count(); + } + + tableWidget->setRowCount(rowCount); + tableWidget->setColumnWidth(1,250); + tableWidget->setItem(0, 0, new QTableWidgetItem(tr("Name"))); + tableWidget->setItem(0, 1, new QTableWidgetItem(apNetworkConfiguration->name())); + tableWidget->setItem(1, 0, new QTableWidgetItem(tr("Id"))); + tableWidget->setItem(1, 1, new QTableWidgetItem(apNetworkConfiguration->identifier())); + if (apNetworkConfiguration->type() == QNetworkConfiguration::ServiceNetwork) { + for (int i=0; i<apNetworkConfiguration->children().count(); i++) { + tableWidget->setItem(i+2, 0, new QTableWidgetItem(QString("IAP")+QString::number(i+1))); + tableWidget->setItem(i+2, 1, new QTableWidgetItem(apNetworkConfiguration->children()[i].name())); + } + } + + tableWidget->setFocusPolicy(Qt::NoFocus); + +#ifdef Q_OS_SYMBIAN + this->showMaximized(); +#endif +} + +SessionTab::SessionTab(QNetworkConfiguration* apNetworkConfiguration, + QNetworkConfigurationManager* configManager, + QListWidget* eventListWidget, + int index, + BearerEx * parent) + : QWidget(parent), m_http(0), m_eventListWidget(eventListWidget), + m_index(index), m_httpRequestOngoing(false), m_alrEnabled (false) +{ + setupUi(this); + + m_ConfigManager = configManager; + m_NetworkSession = new QNetworkSession(*apNetworkConfiguration); + + // Update initial Session state to UI + newState(m_NetworkSession->state()); + + connect(m_NetworkSession, SIGNAL(newConfigurationActivated()), this, SLOT(newConfigurationActivated())); + connect(m_NetworkSession, SIGNAL(stateChanged(QNetworkSession::State)), + this, SLOT(stateChanged(QNetworkSession::State))); + connect(m_NetworkSession, SIGNAL(opened()), this, SLOT(opened())); + connect(m_NetworkSession, SIGNAL(closed()), this, SLOT(closed())); + connect(m_NetworkSession, SIGNAL(error(QNetworkSession::SessionError)), this, SLOT(error(QNetworkSession::SessionError))); + + if (apNetworkConfiguration->type() == QNetworkConfiguration::InternetAccessPoint) { + snapLabel->hide(); + snapLineEdit->hide(); + alrButton->hide(); + iapLineEdit->setText(apNetworkConfiguration->name()+" ("+apNetworkConfiguration->identifier()+")"); + } else if (apNetworkConfiguration->type() == QNetworkConfiguration::ServiceNetwork) { + snapLineEdit->setText(apNetworkConfiguration->name()+" ("+apNetworkConfiguration->identifier()+")"); + } + bearerLineEdit->setText(apNetworkConfiguration->bearerName()); + sentRecDataLineEdit->setText(QString::number(m_NetworkSession->bytesWritten())+ + QString(" / ")+ + QString::number(m_NetworkSession->bytesReceived())); + snapLineEdit->setFocusPolicy(Qt::NoFocus); + iapLineEdit->setFocusPolicy(Qt::NoFocus); + bearerLineEdit->setFocusPolicy(Qt::NoFocus); + sentRecDataLineEdit->setFocusPolicy(Qt::NoFocus); + stateLineEdit->setFocusPolicy(Qt::NoFocus); +} + +SessionTab::~SessionTab() +{ + delete m_NetworkSession; + delete m_http; +} + +void SessionTab::on_createQHttpButton_clicked() +{ + if (m_httpRequestOngoing) { + return; + } + + if (m_http) { + disconnect(m_http, 0, 0, 0); + delete m_http; + } + m_http = new QHttp(this); + createQHttpButton->setText("Recreate QHttp"); + connect(m_http, SIGNAL(done(bool)), this, SLOT(done(bool))); +} + +void SessionTab::on_sendRequestButton_clicked() +{ + if (m_http) { + QString urlstring("http://www.google.com"); + QUrl url(urlstring); + m_http->setHost(url.host(), QHttp::ConnectionModeHttp, url.port() == -1 ? 0 : url.port()); + m_http->get(urlstring); + m_httpRequestOngoing = true; + } else { + QMessageBox msgBox; + msgBox.setStandardButtons(QMessageBox::Close); + msgBox.setText("QHttp not created.\nCreate QHttp First."); + msgBox.exec(); + } +} + +void SessionTab::on_openSessionButton_clicked() +{ + m_NetworkSession->open(); + if (m_NetworkSession->isOpen()) { + newState(m_NetworkSession->state()); + } +} + +void SessionTab::on_closeSessionButton_clicked() +{ + m_NetworkSession->close(); + if (!m_NetworkSession->isOpen()) { + newState(m_NetworkSession->state()); + } +} + +void SessionTab::on_stopConnectionButton_clicked() +{ + m_NetworkSession->stop(); +} + +void SessionTab::on_alrButton_clicked() +{ + if (!m_alrEnabled) { + connect(m_NetworkSession, SIGNAL(preferredConfigurationChanged(const QNetworkConfiguration&, bool)), + this, SLOT(preferredConfigurationChanged(const QNetworkConfiguration&, bool))); + alrButton->setText("Disable ALR"); + m_alrEnabled = true; + } else { + disconnect(m_NetworkSession, SIGNAL(preferredConfigurationChanged(const QNetworkConfiguration&, bool)), 0, 0); + alrButton->setText("Enable ALR"); + m_alrEnabled = false; + } +} + +void SessionTab::on_deleteSessionButton_clicked() +{ + setWindowTitle("Bearer Example"); + delete this; +} + +void SessionTab::newConfigurationActivated() +{ + QMessageBox msgBox; + msgBox.setText("New configuration activated."); + msgBox.setInformativeText("Do you want to accept new configuration?"); + msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + msgBox.setDefaultButton(QMessageBox::Yes); + if (msgBox.exec() == QMessageBox::Yes) { + m_NetworkSession->accept(); + iapLineEdit->setText(m_config.name()+" ("+m_config.identifier()+")"); + } else { + m_NetworkSession->reject(); + } +} + +void SessionTab::preferredConfigurationChanged(const QNetworkConfiguration& config, bool /*isSeamless*/) +{ + m_config = config; + QMessageBox msgBox; + msgBox.setText("Roaming to new configuration."); + msgBox.setInformativeText("Do you want to migrate to "+config.name()+"?"); + msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + msgBox.setDefaultButton(QMessageBox::Yes); + if (msgBox.exec() == QMessageBox::Yes) { + m_NetworkSession->migrate(); + } else { + m_NetworkSession->ignore(); + } +} + +void SessionTab::opened() +{ + QListWidgetItem* listItem = new QListWidgetItem(); + QFont font = listItem->font(); + font.setBold(true); + listItem->setFont(font); + listItem->setText(QString("S")+QString::number(m_index)+QString(" - ")+QString("Opened")); + m_eventListWidget->addItem(listItem); + + QVariant identifier = m_NetworkSession->property("ActiveConfiguration"); + if (!identifier.isNull()) { + QString configId = identifier.toString(); + QNetworkConfiguration config = m_ConfigManager->configurationFromIdentifier(configId); + if (config.isValid()) { + iapLineEdit->setText(config.name()+" ("+config.identifier()+")"); + } + } + + if (m_NetworkSession->configuration().type() == QNetworkConfiguration::UserChoice) { + QVariant identifier = m_NetworkSession->property("UserChoiceConfiguration"); + if (!identifier.isNull()) { + QString configId = identifier.toString(); + QNetworkConfiguration config = m_ConfigManager->configurationFromIdentifier(configId); + if (config.isValid() && (config.type() == QNetworkConfiguration::ServiceNetwork)) { + snapLineEdit->setText(config.name()); + } + } + } +} + +void SessionTab::closed() +{ + QListWidgetItem* listItem = new QListWidgetItem(); + QFont font = listItem->font(); + font.setBold(true); + listItem->setFont(font); + listItem->setText(QString("S")+QString::number(m_index)+QString(" - ")+QString("Closed")); + m_eventListWidget->addItem(listItem); +} + +QString SessionTab::stateString(QNetworkSession::State state) +{ + QString stateString; + switch (state) + { + case QNetworkSession::Invalid: + stateString = "Invalid"; + break; + case QNetworkSession::NotAvailable: + stateString = "NotAvailable"; + break; + case QNetworkSession::Connecting: + stateString = "Connecting"; + break; + case QNetworkSession::Connected: + stateString = "Connected"; + break; + case QNetworkSession::Closing: + stateString = "Closing"; + break; + case QNetworkSession::Disconnected: + stateString = "Disconnected"; + break; + case QNetworkSession::Roaming: + stateString = "Roaming"; + break; + } + return stateString; +} + +void SessionTab::stateChanged(QNetworkSession::State state) +{ + newState(state); + + QListWidgetItem* listItem = new QListWidgetItem(); + listItem->setText(QString("S")+QString::number(m_index)+QString(" - ")+stateString(state)); + m_eventListWidget->addItem(listItem); +} + +void SessionTab::newState(QNetworkSession::State state) +{ + QVariant identifier = m_NetworkSession->property("ActiveConfiguration"); + if (state == QNetworkSession::Connected && !identifier.isNull()) { + QString configId = identifier.toString(); + QNetworkConfiguration config = m_ConfigManager->configurationFromIdentifier(configId); + if (config.isValid()) { + iapLineEdit->setText(config.name()+" ("+config.identifier()+")"); + bearerLineEdit->setText(config.bearerName()); + } + } else { + bearerLineEdit->setText(m_NetworkSession->configuration().bearerName()); + } + + QString active; + if (m_NetworkSession->isOpen()) { + active = " (O)"; + } + stateLineEdit->setText(stateString(state)+active); +} + +void SessionTab::error(QNetworkSession::SessionError error) +{ + QListWidgetItem* listItem = new QListWidgetItem(); + QMessageBox msgBox; + msgBox.setStandardButtons(QMessageBox::Close); + + QString errorString; + switch (error) + { + case QNetworkSession::UnknownSessionError: + errorString = "UnknownSessionError"; + break; + case QNetworkSession::SessionAbortedError: + errorString = "SessionAbortedError"; + break; + case QNetworkSession::RoamingError: + errorString = "RoamingError"; + break; + case QNetworkSession::OperationNotSupportedError: + errorString = "OperationNotSupportedError"; + break; + case QNetworkSession::InvalidConfigurationError: + errorString = "InvalidConfigurationError"; + break; + } + listItem->setText(QString("S")+QString::number(m_index)+QString(" - ")+errorString); + m_eventListWidget->addItem(listItem); + + msgBox.setText(errorString); + msgBox.exec(); +} + +void SessionTab::done(bool error) +{ + m_httpRequestOngoing = false; + + QMessageBox msgBox; + msgBox.setStandardButtons(QMessageBox::Close); + if (error) { + msgBox.setText("HTTP request failed."); + } else { + QString result(m_http->readAll()); + msgBox.setText(QString("HTTP request finished successfully.\nReceived ")+QString::number(result.length())+QString(" bytes.")); + } + msgBox.exec(); + + sentRecDataLineEdit->setText(QString::number(m_NetworkSession->bytesWritten())+ + QString(" / ")+ + QString::number(m_NetworkSession->bytesReceived())); +} + +// End of file + diff --git a/tests/manual/bearerex/bearerex.h b/tests/manual/bearerex/bearerex.h new file mode 100644 index 0000000..2875d6a --- /dev/null +++ b/tests/manual/bearerex/bearerex.h @@ -0,0 +1,142 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef ACCESSPOINTMANAGEREX_H +#define ACCESSPOINTMANAGEREX_H + +#include <QtGui> + +#include "ui_bearerex.h" +#include "ui_detailedinfodialog.h" +#include "ui_sessiondialog.h" + +#include "qnetworkconfigmanager.h" +#include "qnetworksession.h" +#include "xqlistwidget.h" + +QT_BEGIN_NAMESPACE +class QHttp; +QT_END_NAMESPACE + +class SessionTab; + +QT_USE_NAMESPACE + +class BearerEx : public QMainWindow, public Ui::BearerExMainWindow +{ + Q_OBJECT + +public: + BearerEx(QWidget* parent = 0); + void createMenus(); + void showConfigurations(); + +private Q_SLOTS: + void on_updateConfigurationsButton_clicked(); + void on_updateListButton_clicked(); + void on_showDetailsButton_clicked(); + void on_createSessionButton_clicked(); + void on_clearEventListButton_clicked(); + + void configurationsUpdateCompleted(); + void configurationAdded(const QNetworkConfiguration& config); + void configurationRemoved(const QNetworkConfiguration& config); + void onlineStateChanged(bool isOnline); + void configurationChanged(const QNetworkConfiguration & config); + +private: + QNetworkConfigurationManager m_NetworkConfigurationManager; + QAction* m_openAction; +}; + +class DetailedInfoDialog : public QDialog, public Ui::DetailedInfoDialog +{ + Q_OBJECT + +public: + DetailedInfoDialog(QNetworkConfiguration* apNetworkConfiguration = 0, QWidget* parent = 0); +}; + + +class SessionTab : public QWidget, public Ui::SessionTab +{ + Q_OBJECT + +public: + SessionTab(QNetworkConfiguration* apNetworkConfiguration = 0, QNetworkConfigurationManager* configManager = 0, + QListWidget* eventListWidget = 0, int index = 0, BearerEx* parent = 0); + ~SessionTab(); + + QString stateString(QNetworkSession::State state); + +private Q_SLOTS: + void on_createQHttpButton_clicked(); + void on_sendRequestButton_clicked(); + void on_openSessionButton_clicked(); + void on_closeSessionButton_clicked(); + void on_stopConnectionButton_clicked(); + void on_deleteSessionButton_clicked(); + void on_alrButton_clicked(); + void done(bool error); + + void newConfigurationActivated(); + void preferredConfigurationChanged(const QNetworkConfiguration& config, bool isSeamless); + void stateChanged(QNetworkSession::State state); + void newState(QNetworkSession::State state); + void opened(); + void closed(); + void error(QNetworkSession::SessionError error); + +private: //data + QHttp* m_http; + QNetworkSession* m_NetworkSession; + QNetworkConfigurationManager* m_ConfigManager; + QListWidget* m_eventListWidget; + QNetworkConfiguration m_config; + int m_index; + bool m_httpRequestOngoing; + bool m_alrEnabled; +}; + +#endif // ACCESSPOINTMANAGEREX_H + +// End of file + diff --git a/tests/manual/bearerex/bearerex.pro b/tests/manual/bearerex/bearerex.pro new file mode 100644 index 0000000..927f982 --- /dev/null +++ b/tests/manual/bearerex/bearerex.pro @@ -0,0 +1,20 @@ +TEMPLATE = app +TARGET = BearerEx + +QT += core \ + gui \ + network + +FORMS += sessiondialog.ui \ + bearerex.ui \ + detailedinfodialog.ui + +# Example headers and sources +HEADERS += bearerex.h \ + xqlistwidget.h + +SOURCES += bearerex.cpp \ + main.cpp \ + xqlistwidget.cpp + +symbian:TARGET.CAPABILITY = NetworkServices NetworkControl ReadUserData
\ No newline at end of file diff --git a/tests/manual/bearerex/bearerex.ui b/tests/manual/bearerex/bearerex.ui new file mode 100644 index 0000000..e5ab62f --- /dev/null +++ b/tests/manual/bearerex/bearerex.ui @@ -0,0 +1,95 @@ +<ui version="4.0" > + <class>BearerExMainWindow</class> + <widget class="QMainWindow" name="BearerExMainWindow" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>360</width> + <height>640</height> + </rect> + </property> + <property name="windowTitle" > + <string>Bearer Example</string> + </property> + <widget class="QWidget" name="centralwidget" > + <layout class="QVBoxLayout" name="verticalLayout" > + <item> + <widget class="QTabWidget" name="mainTabWidget" > + <widget class="QWidget" name="tab" > + <attribute name="title" > + <string>Main</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2" > + <item> + <widget class="QLabel" name="label" > + <property name="text" > + <string>Network Configurations</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="listWidget" /> + </item> + <item> + <layout class="QGridLayout" name="gridLayout" > + <item row="0" column="0" > + <widget class="QPushButton" name="updateConfigurationsButton" > + <property name="text" > + <string>Update Configs</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QPushButton" name="updateListButton" > + <property name="text" > + <string>Update List</string> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QPushButton" name="createSessionButton" > + <property name="text" > + <string>Create Session</string> + </property> + </widget> + </item> + <item row="1" column="1" > + <widget class="QPushButton" name="showDetailsButton" > + <property name="text" > + <string>Show Details</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_2" > + <attribute name="title" > + <string>Events</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3" > + <item> + <widget class="QListWidget" name="eventListWidget" /> + </item> + <item> + <widget class="QPushButton" name="clearEventListButton" > + <property name="text" > + <string>Clear</string> + </property> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/manual/bearerex/detailedinfodialog.ui b/tests/manual/bearerex/detailedinfodialog.ui new file mode 100644 index 0000000..c4a21fa --- /dev/null +++ b/tests/manual/bearerex/detailedinfodialog.ui @@ -0,0 +1,54 @@ +<ui version="4.0" > + <class>DetailedInfoDialog</class> + <widget class="QDialog" name="DetailedInfoDialog" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>308</width> + <height>396</height> + </rect> + </property> + <property name="windowTitle" > + <string>Bearer Example</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout" > + <item> + <widget class="QLabel" name="label" > + <property name="text" > + <string>Detailed information</string> + </property> + </widget> + </item> + <item> + <widget class="QTableWidget" name="tableWidget" /> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox" > + <property name="standardButtons" > + <set>QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>DetailedInfoDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel" > + <x>205</x> + <y>371</y> + </hint> + <hint type="destinationlabel" > + <x>223</x> + <y>8</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/tests/manual/bearerex/main.cpp b/tests/manual/bearerex/main.cpp new file mode 100644 index 0000000..20b167e --- /dev/null +++ b/tests/manual/bearerex/main.cpp @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QApplication> + +#include "bearerex.h" + +int main(int argc, char* argv[]) +{ + QApplication app(argc, argv); + BearerEx bearerEx; +#ifdef Q_OS_SYMBIAN + bearerEx.showMaximized(); +#else + bearerEx.show(); +#endif + return app.exec(); +} + +// End of file + diff --git a/tests/manual/bearerex/sessiondialog.ui b/tests/manual/bearerex/sessiondialog.ui new file mode 100644 index 0000000..fcf2136 --- /dev/null +++ b/tests/manual/bearerex/sessiondialog.ui @@ -0,0 +1,139 @@ +<ui version="4.0" > + <class>SessionTab</class> + <widget class="QWidget" name="SessionTab" > + <layout class="QVBoxLayout" name="verticalLayout" > + <item> + <layout class="QFormLayout" name="formLayout" > + <item row="0" column="0" > + <widget class="QLabel" name="snapLabel" > + <property name="text" > + <string>SNAP</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QLineEdit" name="snapLineEdit" > + <property name="readOnly" > + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QLabel" name="iapLabel" > + <property name="text" > + <string>IAP</string> + </property> + </widget> + </item> + <item row="1" column="1" > + <widget class="QLineEdit" name="iapLineEdit" > + <property name="enabled" > + <bool>true</bool> + </property> + <property name="readOnly" > + <bool>true</bool> + </property> + </widget> + </item> + <item row="2" column="0" > + <widget class="QLabel" name="bearerLabel" > + <property name="text" > + <string>Bearer</string> + </property> + </widget> + </item> + <item row="2" column="1" > + <widget class="QLineEdit" name="bearerLineEdit" > + <property name="readOnly" > + <bool>true</bool> + </property> + </widget> + </item> + <item row="3" column="0" > + <widget class="QLabel" name="sentRecDataLabel" > + <property name="text" > + <string>Sent/Rec.</string> + </property> + </widget> + </item> + <item row="3" column="1" > + <widget class="QLineEdit" name="sentRecDataLineEdit" > + <property name="readOnly" > + <bool>true</bool> + </property> + </widget> + </item> + <item row="4" column="0" > + <widget class="QLabel" name="stateLabel" > + <property name="text" > + <string>State</string> + </property> + </widget> + </item> + <item row="4" column="1" > + <widget class="QLineEdit" name="stateLineEdit" > + <property name="readOnly" > + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QGridLayout" name="gridLayout" > + <item row="0" column="0" > + <widget class="QPushButton" name="openSessionButton" > + <property name="text" > + <string>Open Session</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QPushButton" name="closeSessionButton" > + <property name="text" > + <string>Close Session</string> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QPushButton" name="stopConnectionButton" > + <property name="text" > + <string>Stop Conn.</string> + </property> + </widget> + </item> + <item row="2" column="0" > + <widget class="QPushButton" name="createQHttpButton" > + <property name="text" > + <string>Create QHttp</string> + </property> + </widget> + </item> + <item row="2" column="1" > + <widget class="QPushButton" name="sendRequestButton" > + <property name="text" > + <string>Send Test Req.</string> + </property> + </widget> + </item> + <item row="3" column="0" > + <widget class="QPushButton" name="alrButton" > + <property name="text" > + <string>Enable ALR</string> + </property> + </widget> + </item> + <item row="3" column="1" > + <widget class="QPushButton" name="deleteSessionButton" > + <property name="text" > + <string>Delete Session</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/benchmarks/qtwidgets/tst_qtwidgets.cpp b/tests/manual/bearerex/xqlistwidget.cpp index 8d2a31b..8104779 100644 --- a/tests/benchmarks/qtwidgets/tst_qtwidgets.cpp +++ b/tests/manual/bearerex/xqlistwidget.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -39,29 +39,29 @@ ** ****************************************************************************/ -#include <qtest.h> -#include <QtGui> -#include <QtNetwork> +#include "xqlistwidget.h" -#include "mainwindow.h" - -class tst_QtWidgets: public QObject -{ - Q_OBJECT - -private slots: - void snapshot(); -}; +XQListWidget::XQListWidget(QWidget* parent) : QListWidget(parent) +{ +} -void tst_QtWidgets::snapshot() +void XQListWidget::keyPressEvent(QKeyEvent* event) { - QBENCHMARK { - StyleWidget widget(0, Qt::X11BypassWindowManagerHint); - widget.show(); - QApplication::processEvents(); + switch (event->key()) + { + case Qt::Key_Left: + { + focusPreviousChild(); + break; + } + case Qt::Key_Right: + { + focusNextChild(); + break; + } + default: + { + QListWidget::keyPressEvent(event); + } } } - -QTEST_MAIN(tst_QtWidgets) - -#include "tst_qtwidgets.moc" diff --git a/tests/manual/bearerex/xqlistwidget.h b/tests/manual/bearerex/xqlistwidget.h new file mode 100644 index 0000000..0649c2b --- /dev/null +++ b/tests/manual/bearerex/xqlistwidget.h @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef XQLISTWIDGET_H +#define XQLISTWIDGET_H + +#include <QListWidget> +#include <QKeyEvent> + +class XQListWidget: public QListWidget +{ +public: + XQListWidget(QWidget* parent = 0); + +protected: + void keyPressEvent(QKeyEvent* event); +}; + +#endif // XQLISTWIDGET_H + + diff --git a/tests/manual/networkmanager/README b/tests/manual/networkmanager/README new file mode 100644 index 0000000..4bc7171 --- /dev/null +++ b/tests/manual/networkmanager/README @@ -0,0 +1,2 @@ +This application serves as prototype/test-bed for NetworkManager development. The excellent (non-existing) documentation +for the various NetworkManager interfaces makes this harder than it should be. diff --git a/tests/manual/networkmanager/dialog.ui b/tests/manual/networkmanager/dialog.ui new file mode 100644 index 0000000..1301908 --- /dev/null +++ b/tests/manual/networkmanager/dialog.ui @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Dialog</class> + <widget class="QDialog" name="Dialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>919</width> + <height>657</height> + </rect> + </property> + <property name="windowTitle"> + <string>Dialog</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Connections</string> + </property> + </widget> + </item> + <item> + <widget class="QTreeWidget" name="cons"> + <column> + <property name="text"> + <string>Path</string> + </property> + </column> + <column> + <property name="text"> + <string>State</string> + </property> + </column> + <column> + <property name="text"> + <string>Id</string> + </property> + </column> + <column> + <property name="text"> + <string>Settings</string> + </property> + </column> + </widget> + </item> + </layout> + </item> + <item row="1" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Devices:</string> + </property> + </widget> + </item> + <item> + <widget class="QTreeWidget" name="devicesTreeWidget"> + <column> + <property name="text"> + <string>Path</string> + </property> + </column> + <column> + <property name="text"> + <string>Managed</string> + </property> + </column> + <column> + <property name="text"> + <string>Interface</string> + </property> + </column> + <column> + <property name="text"> + <string>Driver</string> + </property> + </column> + <column> + <property name="text"> + <string>Type</string> + </property> + </column> + <column> + <property name="text"> + <string>State</string> + </property> + </column> + <column> + <property name="text"> + <string>IP4 Address</string> + </property> + </column> + <column> + <property name="text"> + <string>IP4 Config</string> + </property> + </column> + <column> + <property name="text"> + <string>Hostname</string> + </property> + </column> + <column> + <property name="text"> + <string>Domains</string> + </property> + </column> + </widget> + </item> + </layout> + </item> + <item row="2" column="0"> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>908</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="3" column="0"> + <widget class="QTreeWidget" name="accessPointsTreeWidget"> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + <column> + <property name="text"> + <string>SSID</string> + </property> + </column> + <column> + <property name="text"> + <string>Strength</string> + </property> + </column> + <column> + <property name="text"> + <string>Wpa</string> + </property> + </column> + <column> + <property name="text"> + <string>Rsn</string> + </property> + </column> + <column> + <property name="text"> + <string>Freq</string> + </property> + </column> + <column> + <property name="text"> + <string>Hardware Address</string> + </property> + </column> + <column> + <property name="text"> + <string>Mode</string> + </property> + </column> + <column> + <property name="text"> + <string>Max Bitrate</string> + </property> + </column> + </widget> + </item> + <item row="4" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QPushButton" name="startButton"> + <property name="text"> + <string>Start</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="stopButton"> + <property name="text"> + <string>Stop</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="scanButton"> + <property name="text"> + <string>Scan</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="updateButton"> + <property name="text"> + <string>Update</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/manual/networkmanager/networkmanager.pro b/tests/manual/networkmanager/networkmanager.pro new file mode 100644 index 0000000..84289d3 --- /dev/null +++ b/tests/manual/networkmanager/networkmanager.pro @@ -0,0 +1,9 @@ +SOURCES += networkmanagertest.cpp nmview.cpp +HEADERS += nmview.h +TARGET = tst_networkmanagertest + +QT = core network dbus gui + +requires(contains(QT_CONFIG,dbus)) + +FORMS += dialog.ui diff --git a/tests/manual/networkmanager/networkmanagertest.cpp b/tests/manual/networkmanager/networkmanagertest.cpp new file mode 100644 index 0000000..8a6c5fa --- /dev/null +++ b/tests/manual/networkmanager/networkmanagertest.cpp @@ -0,0 +1,287 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QDBusConnection> +#include <QDBusError> +#include <QDBusInterface> +#include <QDBusMessage> +#include <QDBusReply> +#include <QtDBus> +#include <QHostAddress> +#include <QDebug> +#include <NetworkManager/NetworkManager.h> +#include <QApplication> +#include <QMainWindow> +#include "nmview.h" + +#include <arpa/inet.h> + +typedef QMap< QString, QMap<QString,QVariant> > SettingsMap; +Q_DECLARE_METATYPE(SettingsMap) + +void printConnectionDetails(const QString& service) +{ + QDBusConnection dbc = QDBusConnection::systemBus(); + if (!dbc.isConnected()) { + qWarning() << "Unable to connect to D-Bus:" << dbc.lastError(); + return; + } + QDBusInterface allCons(service, NM_DBUS_PATH_SETTINGS, NM_DBUS_IFACE_SETTINGS, dbc); + if (allCons.isValid()) { + QDBusReply<QList<QDBusObjectPath> > reply = allCons.call("ListConnections"); + if ( reply.isValid() ) { + qWarning() << "Known connections:"; + QList<QDBusObjectPath> list = reply.value(); + foreach(QDBusObjectPath path, list) { + qWarning() << " " << path.path(); + QDBusInterface sysIface(NM_DBUS_SERVICE_SYSTEM_SETTINGS, path.path(), NM_DBUS_IFACE_SETTINGS_CONNECTION, dbc); + if (sysIface.isValid()) { + QDBusMessage r = sysIface.call("GetSettings"); + QDBusReply< SettingsMap > rep = sysIface.call("GetSettings"); + qWarning() << " GetSettings:" << r.arguments() << r.signature() << rep.isValid() << sysIface.lastError(); + QMap< QString, QMap<QString,QVariant> > map = rep.value(); + QList<QString> list = map.keys(); + foreach (QString key, list) { + QMap<QString,QVariant> innerMap = map[key]; + qWarning() << " Key: " << key; + QMap<QString,QVariant>::const_iterator i = innerMap.constBegin(); + while (i != innerMap.constEnd()) { + QString k = i.key(); + qWarning() << " Key: " << k << " Entry: " << i.value(); + if (k == "addresses" && i.value().canConvert<QDBusArgument>()) { + QDBusArgument arg = i.value().value<QDBusArgument>(); + arg.beginArray(); + while (!arg.atEnd()) { + QDBusVariant addr; + arg >> addr; + uint ip = addr.variant().toUInt(); + qWarning() << ip; + qWarning() << " " << QHostAddress(htonl(ip)).toString(); + } + + } + i++; + } + } + } + } + } + } + + +} + +void readConnectionManagerDetails() +{ + qDBusRegisterMetaType<SettingsMap>(); + QDBusConnection dbc = QDBusConnection::systemBus(); + if (!dbc.isConnected()) { + qWarning() << "Unable to connect to D-Bus:" << dbc.lastError(); + return; + } + + QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc); + if (!iface.isValid()) { + qWarning() << "Could not find NetworkManager"; + return; + } + + uint state = iface.property("State").toUInt(); + switch(state) { + case NM_STATE_UNKNOWN: + qWarning() << "State: Unknown"; break; + case NM_STATE_ASLEEP: + qWarning() << "State: Asleep"; break; + case NM_STATE_CONNECTING: + qWarning() << "State: Connecting"; break; + case NM_STATE_CONNECTED: + qWarning() << "State: Connected"; break; + case NM_STATE_DISCONNECTED: + qWarning() << "State: Disconnected"; break; + } + //get list of network devices + QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices"); + if ( reply.isValid() ) { + qWarning() << "Current devices:"; + QList<QDBusObjectPath> list = reply.value(); + foreach(QDBusObjectPath path, list) { + qWarning() << " " << path.path(); + QDBusInterface devIface(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_DEVICE, dbc); + if (devIface.isValid()) { + qWarning() << " Managed: " << devIface.property("Managed").toBool(); + qWarning() << " Interface: " << devIface.property("Interface").toString(); + qWarning() << " HAL UDI: " << devIface.property("Udi").toString(); + qWarning() << " Driver: " << devIface.property("Driver").toString(); + QVariant v = devIface.property("DeviceType"); + switch(v.toUInt()) { + case DEVICE_TYPE_UNKNOWN: + qWarning() << " DeviceType: Unknown" ; + break; + case DEVICE_TYPE_802_3_ETHERNET: + qWarning() << " DeviceType: Ethernet" ; + break; + case DEVICE_TYPE_802_11_WIRELESS: + qWarning() << " DeviceType: Wireless" ; + break; + case DEVICE_TYPE_GSM: + qWarning() << " DeviceType: GSM" ; + break; + case DEVICE_TYPE_CDMA: + qWarning() << " DeviceType: CDMA" ; + break; + + } + v = devIface.property("State"); + switch(v.toUInt()) { + case NM_DEVICE_STATE_UNKNOWN: + qWarning() << " State: Unknown" ; break; + case NM_DEVICE_STATE_UNMANAGED: + qWarning() << " State: Unmanaged" ; break; + case NM_DEVICE_STATE_UNAVAILABLE: + qWarning() << " State: Unavailable" ; break; + case NM_DEVICE_STATE_DISCONNECTED: + qWarning() << " State: Disconnected" ; break; + case NM_DEVICE_STATE_PREPARE: + qWarning() << " State: Preparing" ; break; + case NM_DEVICE_STATE_CONFIG: + qWarning() << " State: Being configured" ; break; + case NM_DEVICE_STATE_NEED_AUTH: + qWarning() << " State: Awaiting secrets" ; break; + case NM_DEVICE_STATE_IP_CONFIG: + qWarning() << " State: IP requested" ; break; + case NM_DEVICE_STATE_ACTIVATED: + qWarning() << " State: Activated" ; break; + case NM_DEVICE_STATE_FAILED: + qWarning() << " State: FAILED" ; break; + } + quint32 ip = devIface.property("Ip4Address").toUInt(); + qWarning() << " IP4Address: " << QHostAddress(htonl(ip)).toString(); + if (v.toUInt() == NM_DEVICE_STATE_ACTIVATED) { + QString path = devIface.property("Ip4Config").value<QDBusObjectPath>().path(); + qWarning() << " IP4Config: " << path; + QDBusInterface ipIface(NM_DBUS_SERVICE, path, NM_DBUS_INTERFACE_IP4_CONFIG, dbc); + if (ipIface.isValid()) { + qWarning() << " Hostname: " << ipIface.property("Hostname").toString(); + qWarning() << " Domains: " << ipIface.property("Domains").toStringList(); + qWarning() << " NisDomain: " << ipIface.property("NisDomain").toString(); + QDBusArgument arg= ipIface.property("Addresses").value<QDBusArgument>(); + //qWarning() << " " << arg.currentType(); + qWarning() << " Addresses: " << ipIface.property("Addresses"); + qWarning() << " Nameservers: " << ipIface.property("Nameservers"); + qWarning() << " NisServers: " << ipIface.property("NisServers"); + } + + } + + } + } + } + + //get list of active connections + QVariant prop = iface.property("ActiveConnections"); + QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >(); + QString activePath; + if ( connections.count() ) + qWarning() << "Active connections:"; + foreach(QDBusObjectPath path, connections) { + qWarning() << " " << path.path(); + activePath = path.path(); + QString serviceName; + QDBusInterface conIface(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_ACTIVE_CONNECTION, dbc); + if (conIface.isValid()) { + qWarning() << " default connection: " << conIface.property("Default").toBool(); + serviceName = conIface.property("ServiceName").toString(); + qWarning() << " service name: " << serviceName; + qWarning() << " connection path: " << conIface.property("Connection").value<QDBusObjectPath>().path(); + qWarning() << " specific object:" << conIface.property("SpecificObject").value<QDBusObjectPath>().path(); + qWarning() << " sharedServiceName: " << conIface.property("SharedServiceName").toString(); + QList<QDBusObjectPath> devs = conIface.property("Devices").value<QList<QDBusObjectPath> >(); + qWarning() << " devices: "; + foreach(QDBusObjectPath p, devs) + qWarning() << " " << path.path(); + QVariant v = conIface.property("State"); + switch (v.toInt()) { + case NM_ACTIVE_CONNECTION_STATE_UNKNOWN: + qWarning()<< " State: unknown"; break; + case NM_ACTIVE_CONNECTION_STATE_ACTIVATING: + qWarning()<< " State: activating"; break; + case NM_ACTIVE_CONNECTION_STATE_ACTIVATED: + qWarning()<< " State: activated"; break; + } + } else { + qWarning() << conIface.lastError(); + } + + } + + printConnectionDetails(NM_DBUS_SERVICE_SYSTEM_SETTINGS); + printConnectionDetails(NM_DBUS_SERVICE_USER_SETTINGS); + + + //turn active connection off + /*QDBusObjectPath dbop("/org/freedesktop/NetworkManager/ActiveConnection/1"); + QVariant asd = QVariant::fromValue(dbop); + iface.call(QLatin1String("DeactivateConnection"), asd); + qWarning() << iface.lastError();*/ + + /*QDBusObjectPath p1device("/org/freedesktop/Hal/devices/net_00_60_6e_82_02_65"); + QVariant p1v = QVariant::fromValue(p1device); + QDBusObjectPath p1con("/org/freedesktop/NetworkManagerSettings/0"); + QVariant p1c = QVariant::fromValue(p1con); + QDBusObjectPath p1sp(""); + QVariant p1sp1 = QVariant::fromValue(p1sp); + iface.call(QLatin1String("ActivateConnection"), + QString("/org/freedesktop/NetworkManagerSystemSettings"), p1c,p1v, p1v ); + qWarning() << iface.lastError(); + */ +} + +int main( int argc, char** argv) +{ + QApplication app(argc, argv); + //readConnectionManagerDetails(); + QMainWindow main; + NMView view; + main.setCentralWidget(&view); + main.show(); + return app.exec(); + +} diff --git a/tests/manual/networkmanager/nmview.cpp b/tests/manual/networkmanager/nmview.cpp new file mode 100644 index 0000000..9e28ff0 --- /dev/null +++ b/tests/manual/networkmanager/nmview.cpp @@ -0,0 +1,1028 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "nmview.h" + +#include <QLabel> +#include <QLayout> +#include <QListWidget> +#include <QDebug> +#include <QPushButton> + +#include <QtDBus> +#include <QtNetwork> +#include <NetworkManager/NetworkManager.h> +#include <arpa/inet.h> + +#include <QDBusConnection> +#include <QDBusError> +#include <QDBusInterface> +#include <QDBusMessage> +#include <QDBusReply> + +#include <QHostAddress> +#include <QNetworkInterface> +#include <QTreeWidgetItem> +#include <QMessageBox> + +//#include "ui_dialog.h" + +#include <qnetworkconfiguration.h> +#include <qnetworkconfigmanager.h> +#include <qnetworksession.h> +#include <QtNetwork/private/qnetworkmanagerservice_p.h> + +//static QDBusConnection dbc = QDBusConnection::systemBus(); +//typedef QMap< QString, QMap<QString,QVariant> > SettingsMap; +//Q_DECLARE_METATYPE(SettingsMap) + + +NMView::NMView(QDialog* parent) + : QDialog(parent, 0), dbc(QDBusConnection::systemBus()) +{ + init(); + + if (!dbc.isConnected()) { + qWarning() << "Unable to connect to D-Bus:" << dbc.lastError(); + return; + } + updateConnections(); + getDevices(); +} + +NMView::~NMView() +{ +} +void NMView::init() +{ + setupUi(this); + sess = 0; +// readSettings(); + connect(startButton, SIGNAL(clicked()), this, SLOT(activate())); + connect(stopButton, SIGNAL(clicked()), this, SLOT(deactivate())); + connect(scanButton, SIGNAL(clicked()), this, SLOT(findAccessPoints())); + connect(updateButton, SIGNAL(clicked()), this, SLOT(update())); + + connect(cons, SIGNAL(itemActivated(QTreeWidgetItem*, int)), + this,SLOT(connectionItemActivated(QTreeWidgetItem*, int))); + + + connect(devicesTreeWidget, SIGNAL(itemActivated(QTreeWidgetItem*, int)), + this, SLOT(deviceItemActivated(QTreeWidgetItem*, int))); + + cons->header()->setResizeMode(QHeaderView::ResizeToContents); + devicesTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents); + accessPointsTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents); +// accessPointsTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents); + + manager = new QNetworkConfigurationManager(this); + + connect(manager, SIGNAL(updateCompleted()), this, SLOT(updateCompleted())); + + connect(manager, SIGNAL(configurationAdded(const QNetworkConfiguration &)), + this, SLOT(configurationAdded(const QNetworkConfiguration&))); + + devicesTreeWidget->header()->hideSection(0); + devicesTreeWidget->header()->hideSection(1); + devicesTreeWidget->header()->hideSection(3); + devicesTreeWidget->header()->hideSection(5); + devicesTreeWidget->header()->hideSection(6); + devicesTreeWidget->header()->hideSection(7); + devicesTreeWidget->header()->hideSection(8); + devicesTreeWidget->header()->hideSection(9); +} + +void NMView::updateConnections() +{ + cons->clear(); + manager->updateConfigurations(); + QList<QNetworkConfiguration> configs = manager->allConfigurations(); + foreach(QNetworkConfiguration p, configs) { + QStringList strlist; + strlist << p.name(); + strlist << stateToString(p.state()); + strlist << p.identifier(); + strlist << typeToString(p.type()); + QTreeWidgetItem *item; + item = new QTreeWidgetItem(strlist); + cons->insertTopLevelItem(0, item); + } + cons->sortItems ( 1, Qt::AscendingOrder); +} + +void NMView::getActiveConnections() +{ + QList<QNetworkConfiguration> configs = manager->allConfigurations(QNetworkConfiguration::Active); + foreach(QNetworkConfiguration p, configs) { + qWarning() << __FUNCTION__ << p.name() << p.identifier(); + } + +// QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc); +// if (!iface.isValid()) { +// qWarning() << "Could not find NetworkManager"; +// return; +// } + +// QVariant prop = iface.property("ActiveConnections"); +// QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >(); +// foreach(QDBusObjectPath path, connections) { +// QDBusInterface conDetails(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_ACTIVE_CONNECTION, dbc); +// if (conDetails.isValid()) { +// QString desc = path.path(); +// conDetails.property("Connection Path").value<QDBusObjectPath>().path(); + +// QList<QDBusObjectPath> devices = conDetails.property("Devices").value<QList<QDBusObjectPath> >(); +// +// foreach(QDBusObjectPath devpath, devices) { +// QDBusInterface devIface(NM_DBUS_SERVICE, devpath.path(), NM_DBUS_INTERFACE_DEVICE, dbc); +// desc += " "+devIface.property("Interface").toString(); +// desc += " "+QHostAddress(htonl(devIface.property("Ip4Address").toUInt())).toString(); + +// } + +// qWarning() << conDetails.property("Connection").value<QDBusObjectPath>().path() << path.path(); + +// QListWidgetItem* item = new QListWidgetItem(desc, activeCons); +// item->setData(Qt::UserRole, path.path()); +// } +// } +} + +void NMView::update() +{ +// QNetworkManagerInterface *dbIface; +// dbIface = new QNetworkManagerInterface; +// QList <QDBusObjectPath> connections = dbIface->activeConnections(); +// +// foreach(QDBusObjectPath conpath, connections) { +// QNetworkManagerConnectionActive *aConn; +// aConn = new QNetworkManagerConnectionActive(conpath.path()); +// // in case of accesspoint, specificObject will hold the accessPOintObjectPath +// qWarning() << aConn->connection().path() << aConn->specificObject().path() << aConn->devices().count(); +// QList <QDBusObjectPath> devs = aConn->devices(); +// foreach(QDBusObjectPath device, devs) { +// qWarning() << " " << device.path(); +// } +// } + + QStringList connectionServices; + connectionServices << NM_DBUS_SERVICE_SYSTEM_SETTINGS; + connectionServices << NM_DBUS_SERVICE_USER_SETTINGS; + foreach (QString service, connectionServices) { + QDBusInterface allCons(service, + NM_DBUS_PATH_SETTINGS, + NM_DBUS_IFACE_SETTINGS, + dbc); + if (allCons.isValid()) { + QDBusReply<QList<QDBusObjectPath> > reply = allCons.call("ListConnections"); + if ( reply.isValid() ) { + QList<QDBusObjectPath> list = reply.value(); + foreach(QDBusObjectPath path, list) { + QDBusInterface sysIface(service, + path.path(), + NM_DBUS_IFACE_SETTINGS_CONNECTION, + dbc); + if (sysIface.isValid()) { + qWarning() << ""; + qWarning() << path.path(); + + // QDBusMessage r = sysIface.call("GetSettings"); + QDBusReply< QNmSettingsMap > rep = sysIface.call("GetSettings"); + + QMap< QString, QMap<QString,QVariant> > map = rep.value(); + QList<QString> list = map.keys(); + foreach (QString key, list) { + QMap<QString,QVariant> innerMap = map[key]; + qWarning() << " Key: " << key; + QMap<QString,QVariant>::const_iterator i = innerMap.constBegin(); + + while (i != innerMap.constEnd()) { + QString k = i.key(); + qWarning() << " Key: " << k << " Entry: " << i.value(); + i++; + }//end innerMap + }//end foreach key + }//end settings connection + } // foreach path + } //end ListConnections + } //end settingsInterface + }// end services + QDBusInterface iface(NM_DBUS_SERVICE, + NM_DBUS_PATH, + NM_DBUS_INTERFACE, + dbc); + if (iface.isValid()) { + QVariant prop = iface.property("ActiveConnections"); + QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >(); + foreach(QDBusObjectPath conpath, connections) { + qWarning() << "Active connection" << conpath.path(); + QDBusInterface conDetails(NM_DBUS_SERVICE, + conpath.path(), + NM_DBUS_INTERFACE_ACTIVE_CONNECTION, + dbc); + if (conDetails.isValid()) { + + QVariant prop = conDetails.property("Connection"); + QDBusObjectPath connection = prop.value<QDBusObjectPath>(); + qWarning() << conDetails.property("Default").toBool() << connection.path(); + +// QVariant Sprop = conDetails.property("Devices"); +// QList<QDBusObjectPath> so = Sprop.value<QList<QDBusObjectPath> >(); +// foreach(QDBusObjectPath device, so) { +// if(device.path() == devicePath) { +// path = connection.path(); +// } +// break; +// } + } + } + } +qWarning() << ""; +} + +void NMView::deactivate() +{ + QList<QNetworkConfiguration> configs = manager->allConfigurations(QNetworkConfiguration::Active); + foreach(QNetworkConfiguration p, configs) { + qWarning() << "Active cons" << p.name(); + if(p.name() == cons->currentItem()->text(0) + && p.identifier() == cons->currentItem()->text(2)) { + qWarning() <<__FUNCTION__<< p.name(); + if(!sess) { + sess = new QNetworkSession(p); + + connect(sess, SIGNAL(stateChanged(QNetworkSession::State)), + this, SLOT(stateChanged(QNetworkSession::State))); + + connect(sess, SIGNAL(error(QNetworkSession::SessionError)), + this, SLOT(networkSessionError(QNetworkSession::SessionError))); + } + sess->close(); + delete sess; + sess = 0; + } + } +} + +void NMView::activate() +{ + qWarning() << __FUNCTION__ << cons->currentItem()->text(0); + + QList<QNetworkConfiguration> configs = manager->allConfigurations(); + foreach(QNetworkConfiguration p, configs) { + if(p.name() == cons->currentItem()->text(0)) { + + sess = new QNetworkSession(p); + + connect(sess, SIGNAL(newConfigurationActivated()), + this, SLOT(getActiveConnections())); + + connect(sess, SIGNAL(stateChanged(QNetworkSession::State)), + this, SLOT(stateChanged(QNetworkSession::State))); + + connect(sess, SIGNAL(error(QNetworkSession::SessionError)), + this, SLOT(networkSessionError(QNetworkSession::SessionError))); + + sess->open(); + } + } +} + +void NMView::getDevices() +{ + qWarning() << ""; + qWarning() << __FUNCTION__; + devicesTreeWidget->clear(); + //qDBusRegisterMetaType<SettingsMap>(); + + if (!dbc.isConnected()) { + qWarning() << "Unable to connect to D-Bus:" << dbc.lastError(); + return; + } + QDBusInterface iface(NM_DBUS_SERVICE, + NM_DBUS_PATH, + NM_DBUS_INTERFACE, + dbc); +//NetworkManager interface + if (!iface.isValid()) { + qWarning() << "Could not find NetworkManager"; + return; + } + +// uint state = iface.property("State").toUInt(); +// switch(state) { +// case NM_STATE_UNKNOWN: +// qWarning() << "State: Unknown"; break; +// case NM_STATE_ASLEEP: +// qWarning() << "State: Asleep"; break; +// case NM_STATE_CONNECTING: +// qWarning() << "State: Connecting"; break; +// case NM_STATE_CONNECTED: +// qWarning() << "State: Connected"; break; +// case NM_STATE_DISCONNECTED: +// qWarning() << "State: Disconnected"; break; +// } + + //get list of network devices + QTreeWidgetItem *item; + QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices"); + if ( reply.isValid() ) { +// qWarning() << "Current devices:"; + QList<QDBusObjectPath> list = reply.value(); + foreach(QDBusObjectPath path, list) { + QStringList devicesList; + qWarning() << " " << path.path(); + devicesList << path.path(); + + QDBusInterface devIface(NM_DBUS_SERVICE, + path.path(), + NM_DBUS_INTERFACE_DEVICE, + dbc); + if (devIface.isValid()) { + + + + ////// connect the dbus signal +// /*if(*/dbc.connect(NM_DBUS_SERVICE, +// path.path(), +// NM_DBUS_INTERFACE_DEVICE, +// "StateChanged", +// this,SLOT(deviceStateChanged(quint32))); +// { +// qWarning() << "XXXXXXXXXX dbus connect successful" << path.path(); +// } + + + // qWarning() << " Managed: " << devIface.property("Managed").toBool(); + devicesList << devIface.property("Managed").toString(); + // qWarning() << " Interface: " << devIface.property("Interface").toString(); + devicesList << devIface.property("Interface").toString(); + // qWarning() << " HAL UDI: " << devIface.property("Udi").toString(); + // qWarning() << " Driver: " << devIface.property("Driver").toString(); + devicesList << devIface.property("Driver").toString(); + + QString x = deviceTypeToString(devIface.property("DeviceType").toUInt()); + // qWarning() << " Type:" << x; + devicesList << x; + + if( devIface.property("DeviceType").toUInt() == DEVICE_TYPE_802_11_WIRELESS) { + qWarning() << "Device is WIFI"; + // // findAccessPoints(path.path()); + } + + QVariant v = devIface.property("State"); + x = deviceStateToString(v.toUInt()); +// qWarning() << " State:" << x; + devicesList << x; + + quint32 ip = devIface.property("Ip4Address").toUInt(); +// qWarning() << " IP4Address: " << QHostAddress(htonl(ip)).toString(); + devicesList << QHostAddress(htonl(ip)).toString(); + + + if (v.toUInt() == NM_DEVICE_STATE_ACTIVATED) { + QString path = devIface.property("Ip4Config").value<QDBusObjectPath>().path(); +// qWarning() << " IP4Config: " << path; + devicesList << path; + QDBusInterface ipIface(NM_DBUS_SERVICE, + path, + NM_DBUS_INTERFACE_IP4_CONFIG, + dbc); + if (ipIface.isValid()) { + // qWarning() << " Hostname: " << ipIface.property("Hostname").toString(); + devicesList << ipIface.property("Hostname").toString(); +// qWarning() << " Domains: " << ipIface.property("Domains").toStringList(); + devicesList << ipIface.property("Domains").toStringList().join(", "); +// qWarning() << " NisDomain: " << ipIface.property("NisDomain").toString(); + QDBusArgument arg= ipIface.property("Addresses").value<QDBusArgument>(); +// qWarning() << " Addresses: " << ipIface.property("Addresses"); +// qWarning() << " Nameservers: " << ipIface.property("Nameservers"); +// qWarning() << " NisServers: " << ipIface.property("NisServers"); + } + + } + + } + item = new QTreeWidgetItem(devicesList); + devicesTreeWidget->insertTopLevelItem(0, item); + } + } + + +// netconfig(); + +} + +void NMView::readSettings() +{ + QDBusInterface settingsiface(NM_DBUS_SERVICE_SYSTEM_SETTINGS, + NM_DBUS_PATH_SETTINGS, + NM_DBUS_IFACE_SETTINGS, + dbc); + //NetworkManagerSettings interface + if (settingsiface.isValid()) { + QDBusReply<QList<QDBusObjectPath> > reply = settingsiface.call("ListConnections"); + if ( reply.isValid() ) { + QList<QDBusObjectPath> list = reply.value(); + foreach(QDBusObjectPath path, list) { + qWarning() <<__FUNCTION__ << path.path(); + + } + } + } + + QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc); + if (!iface.isValid()) { + qWarning() << "Could not find NetworkManager"; + return; + } + + // QStringList list = item->text().split(" -> "); + + QVariant prop = iface.property("ActiveConnections"); + QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >(); + foreach(QDBusObjectPath path, connections) { + QDBusInterface conDetails(NM_DBUS_SERVICE, + path.path(), + NM_DBUS_INTERFACE_ACTIVE_CONNECTION, + dbc); + + if (conDetails.isValid()) { + QString desc = path.path(); + qWarning() << desc; + //if ( item->text(0) == conDetails.property("Connection").value<QDBusObjectPath>().path() ) { + // QListWidgetItem* item = new QTreeWidgetItem( desc, + // cons); + // item->setData(Qt::UserRole, desc); + // activeItemActivated( item ); + //} + } + } +} + +void NMView::printConnectionDetails(const QString& service) +{ + Q_UNUSED(service); + +// +// qWarning() << __FUNCTION__ << service; +// +// QDBusConnection dbc = QDBusConnection::systemBus(); +// if (!dbc.isConnected()) { +// qWarning() << "Unable to connect to D-Bus:" << dbc.lastError(); +// return; +// } +// QDBusInterface allCons(service, +// NM_DBUS_PATH_SETTINGS, +// NM_DBUS_IFACE_SETTINGS, +// dbc); +// +// if (allCons.isValid()) { +// QDBusReply<QList<QDBusObjectPath> > reply = allCons.call("ListConnections"); +// +// if ( reply.isValid() ) { +// qWarning() << "Known connections:"; +// QList<QDBusObjectPath> list = reply.value(); +// +// foreach(QDBusObjectPath path, list) { +// qWarning() << " " << path.path(); +// +// QDBusInterface sysIface(NM_DBUS_SERVICE_SYSTEM_SETTINGS, +// path.path(), +// NM_DBUS_IFACE_SETTINGS_CONNECTION, +// dbc); +// +// if (sysIface.isValid()) { +// QDBusMessage r = sysIface.call("GetSettings"); +// QDBusReply< QSettingsMap > rep = sysIface.call("GetSettings"); +// +// qWarning() << " GetSettings:" << r.arguments() << r.signature() << rep.isValid() << sysIface.lastError(); +// +// QMap< QString, QMap<QString,QVariant> > map = rep.value(); +// QList<QString> list = map.keys(); +// +// foreach (QString key, list) { +// QMap<QString,QVariant> innerMap = map[key]; +// qWarning() << " Key: " << key; +// QMap<QString,QVariant>::const_iterator i = innerMap.constBegin(); +// +// while (i != innerMap.constEnd()) { +// QString k = i.key(); +// qWarning() << " Key: " << k << " Entry: " << i.value(); +// +// if (k == "addresses" && i.value().canConvert<QDBusArgument>()) { +// QDBusArgument arg = i.value().value<QDBusArgument>(); +// arg.beginArray(); +// +// while (!arg.atEnd()) { +// QDBusVariant addr; +// arg >> addr; +// uint ip = addr.variant().toUInt(); +// qWarning() << ip; +// qWarning() << " " << QHostAddress(htonl(ip)).toString(); +// } +// +// } +// i++; +// } +// } +// } +// } +// } +// } + qWarning() << ""; +} + +void NMView::getNetworkDevices() +{ + +} + +void NMView::connectionItemActivated( QTreeWidgetItem * item, int col ) +{ + Q_UNUSED(col); + + qWarning() <<__FUNCTION__<< item->text(0); + QDBusInterface iface(NM_DBUS_SERVICE, + NM_DBUS_PATH, + NM_DBUS_INTERFACE, + dbc); + if (!iface.isValid()) { + qWarning() << "Could not find NetworkManager"; + return; + } + QVariant prop = iface.property("ActiveConnections"); + QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >(); + foreach(QDBusObjectPath path, connections) { + QDBusInterface conDetails(NM_DBUS_SERVICE, + path.path(), + NM_DBUS_INTERFACE_ACTIVE_CONNECTION, + dbc); + + if (conDetails.isValid()) { + QString desc = path.path(); + qWarning() << desc; + if ( item->text(0) == conDetails.property("Connection").value<QDBusObjectPath>().path() ) { +// QListWidgetItem* item = new QTreeWidgetItem( desc, +// cons); +// item->setData(Qt::UserRole, desc); +// activeItemActivated( item ); + } + } + } +} + + + +void NMView::deviceItemActivated( QTreeWidgetItem * item , int section) +{ + Q_UNUSED(item); + Q_UNUSED(section); + + // qWarning() << item->text(section) << item->text(4); + //if(item->text(4) == "Wireless") findAccessPoints(item->text(0)); +} + + +void NMView::netconfig() +{ +// qWarning() << __FUNCTION__; + +// qDBusRegisterMetaType<SettingsMap>(); + QDBusConnection dbc = QDBusConnection::systemBus(); + if (!dbc.isConnected()) { + qWarning() << "Unable to connect to D-Bus:" << dbc.lastError(); + return; + } + + QDBusInterface iface(NM_DBUS_SERVICE, + NM_DBUS_PATH, + NM_DBUS_IFACE_SETTINGS_CONNECTION, + dbc); + if (!iface.isValid()) { + qWarning() << "Could not find NetworkManager Settings"; + return; + } else { + QDBusReply<QList<QDBusObjectPath> > reply = iface.call("ListConnections"); + QList<QDBusObjectPath> list = reply.value(); +// qWarning() << reply.value(); + foreach(QDBusObjectPath path, list) { + qWarning() << " " << path.path(); + } + } +} + + +void NMView::findAccessPoints() +{ + accessPointsTreeWidget->clear(); + + QDBusInterface iface(NM_DBUS_SERVICE, + NM_DBUS_PATH, + NM_DBUS_INTERFACE, + dbc); + + QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices"); + if ( reply.isValid() ) { + QList<QDBusObjectPath> list = reply.value(); + foreach(QDBusObjectPath path, list) { + QDBusInterface devIface(NM_DBUS_SERVICE, + path.path(), + NM_DBUS_INTERFACE_DEVICE, + dbc); + if (devIface.isValid()) { + + if( devIface.property("DeviceType").toUInt() == DEVICE_TYPE_802_11_WIRELESS) { + +// qWarning() <<"deviface"<< devIface.path(); + QDBusInterface wififace(NM_DBUS_SERVICE, + devIface.path(), + NM_DBUS_INTERFACE_DEVICE_WIRELESS, + dbc); + if (!wififace.isValid()) { + qWarning() << "Could not find NetworkManager wireless interface"; + return; + } + +///////////////////////// +// if(dbc.connect(NM_DBUS_SERVICE, +// path.path(), +// NM_DBUS_INTERFACE_DEVICE_WIRELESS, +// "PropertiesChanged", +// this,SLOT(aPPropertiesChanged( QMap<QString,QVariant>))) ) { +// qWarning() << "PropertiesChanged connect"; +// } else { +// qWarning() << "NOT connect"; + +// } +///////////////////////// + qWarning() <<"wififace"<< wififace.path(); + QDBusReply<QList<QDBusObjectPath> > reply2 = wififace.call("GetAccessPoints"); + if ( reply2.isValid() ) { + QTreeWidgetItem *item; + QList<QDBusObjectPath> list2 = reply2.value(); + foreach(QDBusObjectPath path2, list2) { + QDBusInterface accessPointIface(NM_DBUS_SERVICE, + path2.path(), + NM_DBUS_INTERFACE_ACCESS_POINT, + dbc); + if (accessPointIface.isValid()) { +//// qWarning() <<"path2" << path2.path(); + +// if(dbc.connect(NM_DBUS_SERVICE, //signal strength +// path2.path(), +// NM_DBUS_INTERFACE_ACCESS_POINT, +// "PropertiesChanged", +// this,SLOT(aPPropertiesChanged( QMap<QString,QVariant>))) ) { +// qWarning() << "PropertiesChanged connect"; +// } else { +// qWarning() << "NOT connect"; +// +// } + + QStringList accessPoints; + accessPoints << accessPointIface.property("Ssid").toString(); + accessPoints << QString::number(accessPointIface.property("Strength").toInt()); + accessPoints << securityCapabilitiesToString(accessPointIface.property("WpaFlags" ).toInt()); + accessPoints << securityCapabilitiesToString(accessPointIface.property("RsnFlags" ).toInt()); + accessPoints << accessPointIface.property("Frequency" ).toString(); + accessPoints << accessPointIface.property("HwAddress" ).toString(); + accessPoints << deviceModeToString(accessPointIface.property("Mode" ).toInt()); + accessPoints << accessPointIface.property("MaxBitrate" ).toString(); + //HwAddress + // if(accessPointIface.property("Flags" ).toInt() == NM_802_11_AP_FLAGS_PRIVACY ) { + // qWarning() << "Secure"; + // } + item = new QTreeWidgetItem(accessPoints); + accessPointsTreeWidget->insertTopLevelItem(0, item); + } + } + } + } + } + } + } +} + +QString NMView::deviceStateToString(int state) +{ + QString ret; + switch(state) { + case NM_DEVICE_STATE_UNKNOWN: + ret = "Unknown"; + break; + case NM_DEVICE_STATE_UNMANAGED: + ret = "Unmanaged"; + break; + case NM_DEVICE_STATE_UNAVAILABLE: + ret = "Unavailable"; + break; + case NM_DEVICE_STATE_DISCONNECTED: + ret = "Disconnected"; + break; + case NM_DEVICE_STATE_PREPARE: + ret = "Preparing to connect"; + break; + case NM_DEVICE_STATE_CONFIG: + ret = "Being configured"; + break; + case NM_DEVICE_STATE_NEED_AUTH: + ret = "Awaiting secrets"; + break; + case NM_DEVICE_STATE_IP_CONFIG: + ret = "IP requested"; + break; + case NM_DEVICE_STATE_ACTIVATED: + ret = "Activated"; + break; + case NM_DEVICE_STATE_FAILED: + ret = "FAILED"; + break; + }; + return ret; +} + +QString NMView::deviceTypeToString(int device) +{ + QString ret; + switch(device) { + case DEVICE_TYPE_UNKNOWN: + ret = "Unknown"; + break; + case DEVICE_TYPE_802_3_ETHERNET: + ret = "Ethernet"; + break; + case DEVICE_TYPE_802_11_WIRELESS: + ret = "Wireless"; + break; + case DEVICE_TYPE_GSM: + ret = "GSM"; + break; + case DEVICE_TYPE_CDMA: + ret = "CDMA"; + break; + }; + return ret; +} + +QString NMView::securityCapabilitiesToString(int caps) +{ + int check = caps; +// qWarning() << __FUNCTION__<< caps; + QString ret; + if( check == 0 ) + ret += "None."; + if( (check & NM_802_11_AP_SEC_PAIR_WEP40)) + ret += " 40-bit WEP encryption. "; + if( (check & NM_802_11_AP_SEC_PAIR_WEP104) ) + ret += " 104-bit WEP encryption. "; + if( (check & NM_802_11_AP_SEC_PAIR_TKIP) ) + ret += " TKIP encryption. "; + if( (check & NM_802_11_AP_SEC_PAIR_CCMP) ) + ret += " CCMP encryption. "; + if( (check & NM_802_11_AP_SEC_GROUP_WEP40)) + ret += " 40-bit WEP cipher. "; + if( (check & NM_802_11_AP_SEC_GROUP_WEP104)) + ret += " 104-bit WEP cipher. "; + if( (check & NM_802_11_AP_SEC_GROUP_TKIP) ) + ret += " TKIP cipher. "; + if( (check & NM_802_11_AP_SEC_GROUP_CCMP) ) + ret += " CCMP cipher. "; + if( (check & NM_802_11_AP_SEC_KEY_MGMT_PSK)) + ret += " PSK key management. "; + if( (check & NM_802_11_AP_SEC_KEY_MGMT_802_1X) ) + ret += " 802.1x key management. "; + return ret; +} + +QString NMView::deviceModeToString(int mode) +{ + QString ret; + switch (mode) { + case NM_802_11_MODE_UNKNOWN: + ret = "Unknown"; + break; + case NM_802_11_MODE_ADHOC: + ret = " (Adhoc)."; + break; + case NM_802_11_MODE_INFRA: + ret = " (Infrastructure)"; + }; + return ret; +} + +void NMView::netManagerState(quint32 state) +{ + qWarning() << __FUNCTION__ << state;// << old << reason; + switch(state) { + case NM_STATE_UNKNOWN: + qWarning() << "The NetworkManager daemon is in an unknown state. "; + break; + case NM_STATE_ASLEEP: + qWarning() << "The NetworkManager daemon is asleep and all interfaces managed by it are inactive. "; + break; + case NM_STATE_CONNECTING: + qWarning() << "The NetworkManager daemon is connecting a device. FIXME: What does this mean when one device is active and another is connecting? "; + break; + case NM_STATE_CONNECTED: + qWarning() <<"The NetworkManager daemon is connected. "; + break; + case NM_STATE_DISCONNECTED: + qWarning() << "The NetworkManager daemon is disconnected."; + break; + + }; +} + +void NMView::deviceStateChanged(quint32 state) +{ + qWarning() << __FUNCTION__ << state; + switch(state) { + case NM_DEVICE_STATE_UNKNOWN : + qWarning() <<"The device is in an unknown state. "; + break; + case NM_DEVICE_STATE_UNMANAGED: + qWarning() <<"The device is not managed by NetworkManager."; + break; + case NM_DEVICE_STATE_UNAVAILABLE: + qWarning() <<"The device cannot be used (carrier off, rfkill, etc)."; + break; + case NM_DEVICE_STATE_DISCONNECTED: + qWarning() <<"The device is not connected."; + break; + case NM_DEVICE_STATE_PREPARE: + qWarning() <<"The device is preparing to connect."; + break; + case NM_DEVICE_STATE_CONFIG: + qWarning() <<"The device is being configured."; + break; + case NM_DEVICE_STATE_NEED_AUTH: + qWarning() <<"The device is awaiting secrets necessary to continue connection."; + break; + case NM_DEVICE_STATE_IP_CONFIG: + qWarning() <<"The IP settings of the device are being requested and configured."; + break; + case NM_DEVICE_STATE_ACTIVATED: + qWarning() <<"The device is active."; + break; + case NM_DEVICE_STATE_FAILED: + qWarning() <<"The device is in a failure state following an attempt to activate it."; + break; + }; +} + +void NMView::updateCompleted() +{ + qWarning() << __FUNCTION__; +} + +void NMView::newConfigurationActivated() +{ + qWarning() << __FUNCTION__; + getActiveConnections(); +} + +void NMView::stateChanged(QNetworkSession::State state) +{ + // QString stateStringstr; + switch (state) { + case QNetworkSession::Invalid: + stateString = "Invalid session"; + break; + case QNetworkSession::NotAvailable: + stateString = "Session is defined but not yet discovered"; + break; + case QNetworkSession::Connecting: + stateString = "Session is being established"; + break; + case QNetworkSession::Connected: + stateString = "Session is active and can be used for socket operations"; + cons->currentItem()->setText(1, "Active"); + break; + case QNetworkSession::Closing: + stateString = "Session is being shutdown"; + break; + case QNetworkSession::Disconnected: + qWarning() << __FUNCTION__; + manager->updateConfigurations(); + stateString = "Session disconnected"; + cons->currentItem()->setText(1,"Discovered") ; + break; + case QNetworkSession::Roaming: + stateString = "session is roaming from one AP to another"; + break; + }; + qWarning() << __FUNCTION__ << state << stateString; +} + +QString NMView::stateToString(int state) +{ + switch (state) { + case QNetworkConfiguration::Undefined: + return "Undefined"; + break; + case QNetworkConfiguration::Defined: + return "Defined"; + break; + case QNetworkConfiguration::Discovered: + return "Discovered"; + break; + case QNetworkConfiguration::Active: + return "Active"; + break; + }; + return ""; +} + +void NMView::configurationAdded(const QNetworkConfiguration &config) +{ + qWarning() << __FUNCTION__<< config.name() << config.identifier(); +} + +QString NMView::typeToString(int type) +{ + switch(type) { + case QNetworkConfiguration::InternetAccessPoint: + return "Internet AccessPoint"; + break; + case QNetworkConfiguration::ServiceNetwork: + return "Service Network"; + break; + }; + return QString(); +} + +void NMView::aPPropertiesChanged( QMap<QString,QVariant> map) +{ + //QMap<QString, QVariant>::const_iterator iterator = d->values.find(type + QLatin1String("Path")) + QMapIterator<QString, QVariant> i(map); + while (i.hasNext()) { + i.next(); + if( i.key() == "State") { + qWarning() << __FUNCTION__ << i.key() << ": " << i.value().toUInt(); +// deviceStateChanged(i.value().toUInt()); + } else if( i.key() == "ActiveAccessPoint") { + qWarning() << __FUNCTION__ << i.key() << ": " << i.value().value<QDBusObjectPath>().path(); + } else if( i.key() == "Strength") + qWarning() << __FUNCTION__ << i.key() << ": " << i.value().toUInt(); + else + qWarning() << __FUNCTION__ << i.key() << ": " << i.value(); + } +} + +void NMView::networkSessionError(QNetworkSession::SessionError error) +{ + QString errorStr; + switch(error) { + case QNetworkSession::RoamingError: + errorStr = "Roaming error"; + break; + case QNetworkSession::SessionAbortedError: + errorStr = "Session aborted by user or system"; + break; + default: + case QNetworkSession::UnknownSessionError: + errorStr = "Unidentified Error"; + break; + }; + + QMessageBox::warning(this, tr("NMView"), errorStr, QMessageBox::Ok); +} diff --git a/tests/manual/networkmanager/nmview.h b/tests/manual/networkmanager/nmview.h new file mode 100644 index 0000000..41ee04f --- /dev/null +++ b/tests/manual/networkmanager/nmview.h @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QWidget> +#include <QDBusConnection> +#include <qnetworkconfigmanager.h> +#include <qnetworksession.h> +#include <qnetworkconfiguration.h> + +#include "ui_dialog.h" + +QT_USE_NAMESPACE + +QT_BEGIN_NAMESPACE +class QListWidget; +class QTreeWidget; +class QTreeWidgetItem; +QT_END_NAMESPACE + +class NMView : public QDialog, private Ui::Dialog +{ + Q_OBJECT +public: + NMView(QDialog* parent = 0); + virtual ~NMView(); + +private: + void init(); + QString stateString; + + QDBusConnection dbc; + void printConnectionDetails(const QString&); + + QString deviceStateToString(int state); + QString deviceTypeToString(int device); + QString securityCapabilitiesToString(int caps); + QString deviceModeToString(int mode); +//QDBusInterface getInterface(); + QNetworkConfigurationManager *manager; + QNetworkSession *sess; + QString stateToString(int state); + QString typeToString(int type); + +private slots: + void update(); + void deactivate(); + void activate(); + void getActiveConnections(); + void updateConnections(); + void getDevices(); + // void readConnectionManagerDetails(); + void getNetworkDevices(); + void connectionItemActivated( QTreeWidgetItem *, int); +// void activeItemActivated( QListWidgetItem *); + void deviceItemActivated( QTreeWidgetItem *, int); + void netconfig(); + void findAccessPoints(); + + void netManagerState(quint32); + void readSettings(); + void updateCompleted(); + void newConfigurationActivated(); + + void stateChanged(QNetworkSession::State); + void deviceStateChanged(quint32 state); + + void configurationAdded(const QNetworkConfiguration &config); + void aPPropertiesChanged( QMap<QString,QVariant> map); + void networkSessionError(QNetworkSession::SessionError); + +}; diff --git a/tests/manual/networkmanager/startdlg.cpp b/tests/manual/networkmanager/startdlg.cpp new file mode 100644 index 0000000..e34b5e9 --- /dev/null +++ b/tests/manual/networkmanager/startdlg.cpp @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "startdlg.h" +#include <NetworkManager/NetworkManager.h> + + +StartDialog::StartDialog(QWidget * parent) + :QDialog(parent) +{ + QVBoxLayout *layout = new QVBoxLayout(this); + box = new QComboBox(); + layout->addWidget(box); + + QHBoxLayout* hbox = new QHBoxLayout(); + QPushButton* start = new QPushButton("Start"); + connect(start, SIGNAL(clicked()), this, SLOT(accept())); + QPushButton* cancel = new QPushButton("Cancel"); + connect(cancel, SIGNAL(clicked()), this, SLOT(reject())); + + + hbox->addWidget(start); + hbox->addWidget(cancel); + + layout->addLayout(hbox); + + QDBusConnection dbc = QDBusConnection::systemBus(); + if (!dbc.isConnected()) { + qWarning() << "Unable to connect to D-Bus:" << dbc.lastError(); + return; + } + QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc); + if (!iface.isValid()) { + qWarning() << "Could not find NetworkManager"; + return; + } + QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices"); + if ( reply.isValid() ) { + QList<QDBusObjectPath> list = reply.value(); + foreach(QDBusObjectPath path, list) { + QDBusInterface devIface(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_DEVICE, dbc); + if ( devIface.isValid() ) { + box->addItem(devIface.property("Interface").toString(), QVariant(path.path())); + } + } + } +} + +QString StartDialog::device() const +{ + return dev; +} + +void StartDialog::accept() +{ + dev = box->itemData(box->currentIndex(), Qt::UserRole).toString(); + QDialog::accept(); +} diff --git a/tests/manual/networkmanager/startdlg.h b/tests/manual/networkmanager/startdlg.h new file mode 100644 index 0000000..32c8557 --- /dev/null +++ b/tests/manual/networkmanager/startdlg.h @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QDialog> +#include <QtDBus> +#include <QtGui> + +class StartDialog : public QDialog +{ + Q_OBJECT +public: + StartDialog(QWidget* parent = 0); + + QString device() const; + +public slots: + void accept(); +private: + QString dev; + QComboBox* box; +}; diff --git a/tests/tests.pro b/tests/tests.pro index 7fbc8a9..75ca120 100644 --- a/tests/tests.pro +++ b/tests/tests.pro @@ -1,2 +1,3 @@ TEMPLATE = subdirs -SUBDIRS = auto +SUBDIRS = auto \ + benchmarks |