summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2014-03-09 11:50:18 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-14 13:34:37 +0100
commit18d781af741a44ef232fa3bf2fe2a95883f44b72 (patch)
treedc0da34e26e2be28ee1555985eb0bee6d91e1533 /tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp
parent901515a008892bfc49371e9207972b2950276377 (diff)
tst_QSharedPointer: add more tests for forward-declared payloads
It is not sufficient that QSharedPointer<ForwardDeclared>'s default ctor and dtor compile. Copy/move assignment/construction and swapping should work, too. Arguably, there are more functions that should compile with just a forward-declared payload, but this is a start. Change-Id: I75470e3d4ba949c3e735c4078cbc123d53ec3007 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp')
-rw-r--r--tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp b/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp
index 5b1a2cf076..8c76e6b440 100644
--- a/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp
+++ b/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp
@@ -397,6 +397,26 @@ void tst_QSharedPointer::useOfForwardDeclared()
{
// this just a compile test: use the forward-declared class
QSharedPointer<ForwardDeclared> sp;
+
+ // copying should work, too:
+ QSharedPointer<ForwardDeclared> sp2 = sp;
+
+ // and assignment:
+ QSharedPointer<ForwardDeclared> sp3;
+ sp3 = sp;
+
+ // move assignment:
+ QSharedPointer<ForwardDeclared> sp4;
+ sp4 = qMove(sp);
+
+ // and move constuction:
+ QSharedPointer<ForwardDeclared> sp5 = qMove(sp2);
+
+ // swapping:
+ sp4.swap(sp3);
+ qSwap(sp4, sp3);
+
+ // and, of course, destruction
}