summaryrefslogtreecommitdiff
path: root/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp')
-rw-r--r--tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp27
1 files changed, 25 insertions, 2 deletions
diff --git a/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp b/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
index 914b35bd..16fe2149 100644
--- a/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
+++ b/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
@@ -52,8 +52,6 @@
QT_USE_NAMESPACE
#define UPDATE_INTERVAL 200
-Q_DECLARE_METATYPE(QGeoAreaMonitorInfo)
-
QString tst_qgeoareamonitorinfo_debug;
void tst_qgeoareamonitorinfo_messageHandler(QtMsgType type,
@@ -237,6 +235,31 @@ private slots:
delete obj;
}
+ void tst_monitor_move_semantics()
+ {
+ QGeoAreaMonitorInfo info1("test");
+ info1.setArea(QGeoCircle(QGeoCoordinate(1.0, 1.0), 100));
+ info1.setExpiration(QDateTime::currentDateTimeUtc());
+ QGeoAreaMonitorInfo infoCopy(info1);
+
+ QGeoAreaMonitorInfo info2(std::move(info1));
+ QCOMPARE(info2, infoCopy);
+
+ QGeoAreaMonitorInfo info3;
+ info3.setName("name");
+ info3.setArea(QGeoRectangle(QGeoCoordinate(1, 2), QGeoCoordinate(2, 1)));
+ info3.setPersistent(true);
+ infoCopy = info3;
+
+ // check that (move)assigning to the moved-from object is ok
+ info1 = std::move(info3);
+ QCOMPARE(info1, infoCopy);
+
+ // The moved-from object info3 will go out of scope and will be
+ // destroyed here, so we also implicitly check that moved-from object's
+ // destructor is called without any issues.
+ }
+
void tst_monitorValid()
{
QGeoAreaMonitorInfo mon;