From d434e27f51c38f75184fb9e9faad421fb2e8c75a Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Thu, 3 Sep 2009 18:10:13 +1000 Subject: Test namespaced C++ types register --- tests/auto/declarative/qmlparser/cppnamespace.qml | 4 ++++ tests/auto/declarative/qmlparser/testtypes.cpp | 1 + tests/auto/declarative/qmlparser/testtypes.h | 8 +++++++- tests/auto/declarative/qmlparser/tst_qmlparser.cpp | 10 ++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/auto/declarative/qmlparser/cppnamespace.qml diff --git a/tests/auto/declarative/qmlparser/cppnamespace.qml b/tests/auto/declarative/qmlparser/cppnamespace.qml new file mode 100644 index 0000000..e1daf3b --- /dev/null +++ b/tests/auto/declarative/qmlparser/cppnamespace.qml @@ -0,0 +1,4 @@ +import Test 1.0 + +MyNamespacedType { +} diff --git a/tests/auto/declarative/qmlparser/testtypes.cpp b/tests/auto/declarative/qmlparser/testtypes.cpp index 19776a9..c11e195 100644 --- a/tests/auto/declarative/qmlparser/testtypes.cpp +++ b/tests/auto/declarative/qmlparser/testtypes.cpp @@ -6,4 +6,5 @@ QML_DEFINE_TYPE(Test,1,0,0,MyTypeObject,MyTypeObject); QML_DEFINE_TYPE(Test,1,0,0,MyContainer,MyContainer); QML_DEFINE_TYPE(Test,1,0,0,MyPropertyValueSource,MyPropertyValueSource); QML_DEFINE_TYPE(Test,1,0,0,MyDotPropertyObject,MyDotPropertyObject); +QML_DEFINE_TYPE(Test,1,0,0,MyNamespacedType,MyNamespace::MyNamespacedType); diff --git a/tests/auto/declarative/qmlparser/testtypes.h b/tests/auto/declarative/qmlparser/testtypes.h index f700484..3b5d3ae 100644 --- a/tests/auto/declarative/qmlparser/testtypes.h +++ b/tests/auto/declarative/qmlparser/testtypes.h @@ -414,6 +414,12 @@ private: QML_DECLARE_TYPE(MyDotPropertyObject); - +namespace MyNamespace { + class MyNamespacedType : public QObject + { + Q_OBJECT + }; +} +QML_DECLARE_TYPE(MyNamespace::MyNamespacedType); #endif // TESTTYPES_H diff --git a/tests/auto/declarative/qmlparser/tst_qmlparser.cpp b/tests/auto/declarative/qmlparser/tst_qmlparser.cpp index 4f2a1f5..e3735e7 100644 --- a/tests/auto/declarative/qmlparser/tst_qmlparser.cpp +++ b/tests/auto/declarative/qmlparser/tst_qmlparser.cpp @@ -47,6 +47,7 @@ private slots: void dynamicObjects(); void customVariantTypes(); void valueTypes(); + void cppnamespace(); void importsBuiltin_data(); void importsBuiltin(); @@ -507,6 +508,15 @@ void tst_qmlparser::valueTypes() QCOMPARE(p2.read(), QVariant(13)); } +void tst_qmlparser::cppnamespace() +{ + QmlComponent component(&engine, TEST_FILE("cppnamespace.qml")); + VERIFY_ERRORS(0); + QObject *object = component.create(); + QVERIFY(object != 0); + delete object; +} + class TestType : public QObject { Q_OBJECT public: -- cgit v0.12