summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-07-24 16:10:52 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-27 03:27:23 +0200
commit9784dd8d06565177a302d4dabec0b6555a958e53 (patch)
treec6746ade9a3cb2327a13d471c351fbd58ed16b4a /tests/auto/corelib
parent17c74529e4d343424c53e6630cd8c14d8d4d3313 (diff)
Implement implicit constructors for built-in classes.
Change-Id: I6b0b104bc1da3252d014615c50b81830de42e722 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index b6382d3896..7fc092b44d 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -234,6 +234,8 @@ private slots:
void loadQt5Stream();
void saveQt5Stream_data();
void saveQt5Stream();
+
+ void implicitConstruction();
private:
void dataStream_data(QDataStream::Version version);
void loadQVariantFromDataStream(QDataStream::Version version);
@@ -3254,5 +3256,53 @@ void tst_QVariant::debugStreamType()
QVERIFY(msgHandler.testPassed());
}
+void tst_QVariant::implicitConstruction()
+{
+ // This is a compile-time test
+ QVariant v;
+
+#define FOR_EACH_CORE_CLASS(F) \
+ F(Char) \
+ F(String) \
+ F(StringList) \
+ F(ByteArray) \
+ F(BitArray) \
+ F(Date) \
+ F(Time) \
+ F(DateTime) \
+ F(Url) \
+ F(Locale) \
+ F(Rect) \
+ F(RectF) \
+ F(Size) \
+ F(SizeF) \
+ F(Line) \
+ F(LineF) \
+ F(Point) \
+ F(PointF) \
+ F(RegExp) \
+ F(EasingCurve) \
+ F(Uuid) \
+ F(ModelIndex) \
+ F(RegularExpression) \
+ F(JsonValue) \
+ F(JsonObject) \
+ F(JsonArray) \
+ F(JsonDocument) \
+
+#define CONSTRUCT(TYPE) \
+ { \
+ Q##TYPE t; \
+ v = t; \
+ t = v.to##TYPE(); \
+ QVERIFY(true); \
+ }
+
+ FOR_EACH_CORE_CLASS(CONSTRUCT)
+
+#undef CONSTRUCT
+#undef FOR_EACH_CORE_CLASS
+}
+
QTEST_MAIN(tst_QVariant)
#include "tst_qvariant.moc"