diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-08-21 13:00:02 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-09-02 22:44:27 +0200 |
commit | e6988d4d0bef2c3f474576250cb305a2f00a688b (patch) | |
tree | 9412573d07041918349dc2542673467739be73ce /tests/auto/tools | |
parent | e638e8a28d74af8129aaaf6b67fabbb5dbdf31e4 (diff) |
Remove QNotifiedProperty and Q_PRIVATE_QPROPERTY
And all related functionality. This is being replaced by
Q_BINDABLE_PROPERTY and Q_OBJECT_BINDABLE_PROPERTY in the
next few commits. The new infrastructure coming will play
nicer along with the existing property system.
Commented out some autotests, that will get reimplemented
with the updated infrastructure.
Change-Id: I50c30bd4d5c6c6b6471f8eb93870e27d86f5a009
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/auto/tools')
-rw-r--r-- | tests/auto/tools/moc/tst_moc.cpp | 196 |
1 files changed, 96 insertions, 100 deletions
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp index f0f8523f19..e17e2283fa 100644 --- a/tests/auto/tools/moc/tst_moc.cpp +++ b/tests/auto/tools/moc/tst_moc.cpp @@ -1543,7 +1543,6 @@ class PrivatePropertyTest : public QObject Q_PRIVATE_PROPERTY(PrivatePropertyTest::d, QString blub4 MEMBER mBlub NOTIFY blub4Changed) Q_PRIVATE_PROPERTY(PrivatePropertyTest::d, QString blub5 MEMBER mBlub NOTIFY blub5Changed) Q_PRIVATE_PROPERTY(PrivatePropertyTest::d, QString blub6 MEMBER mConst CONSTANT) - Q_PRIVATE_PROPERTY(PrivatePropertyTest::d, QProperty<int> x) class MyDPointer { public: MyDPointer() : mConst("const"), mBar(0), mPlop(0) {} @@ -1557,7 +1556,6 @@ class PrivatePropertyTest : public QObject void setBlub(const QString &value) { mBlub = value; } QString mBlub; const QString mConst; - QProperty<int> x; private: int mBar; int mPlop; @@ -1568,6 +1566,7 @@ public: int foo() { return mFoo ; } void setFoo(int value) { mFoo = value; } MyDPointer *d_func() {return d.data();} + const MyDPointer *d_func() const {return d.data();} signals: void blub4Changed(); void blub5Changed(const QString &newBlub); @@ -1592,10 +1591,6 @@ void tst_Moc::qprivateproperties() test.setProperty("baz", 4); QCOMPARE(test.property("baz"), QVariant::fromValue(4)); - - test.setProperty("x", 100); - QCOMPARE(test.property("x"), QVariant::fromValue(100)); - QVERIFY(test.metaObject()->property(test.metaObject()->indexOfProperty("x")).isQProperty()); } void tst_Moc::warnOnPropertyWithoutREAD() @@ -4084,7 +4079,7 @@ signals: void publicPropertyChanged(); public: - QNotifiedProperty<int, &ClassWithQPropertyMembers::publicPropertyChanged> publicProperty; +// QNotifiedProperty<int, &ClassWithQPropertyMembers::publicPropertyChanged> publicProperty; QProperty<int> notExposed; @@ -4098,87 +4093,88 @@ private: void tst_Moc::qpropertyMembers() { - const auto metaObject = &ClassWithQPropertyMembers::staticMetaObject; +// const auto metaObject = &ClassWithQPropertyMembers::staticMetaObject; - QCOMPARE(metaObject->propertyCount() - metaObject->superClass()->propertyCount(), 2); +// QCOMPARE(metaObject->propertyCount() - metaObject->superClass()->propertyCount(), 2); - QCOMPARE(metaObject->indexOfProperty("notExposed"), -1); +// QCOMPARE(metaObject->indexOfProperty("notExposed"), -1); - QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("publicProperty")); - QVERIFY(prop.isValid()); +// QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("publicProperty")); +// QVERIFY(prop.isValid()); - QVERIFY(metaObject->property(metaObject->indexOfProperty("privateExposedProperty")).isValid()); +// QVERIFY(metaObject->property(metaObject->indexOfProperty("privateExposedProperty")).isValid()); - ClassWithQPropertyMembers instance; +// ClassWithQPropertyMembers instance; - prop.write(&instance, 42); - QCOMPARE(instance.publicProperty.value(), 42); +// prop.write(&instance, 42); +// QCOMPARE(instance.publicProperty.value(), 42); - QSignalSpy publicPropertySpy(&instance, SIGNAL(publicPropertyChanged())); +// QSignalSpy publicPropertySpy(&instance, SIGNAL(publicPropertyChanged())); - instance.publicProperty.setValue(&instance, 100); - QCOMPARE(prop.read(&instance).toInt(), 100); - QCOMPARE(publicPropertySpy.count(), 1); +// instance.publicProperty.setValue(&instance, 100); +// QCOMPARE(prop.read(&instance).toInt(), 100); +// QCOMPARE(publicPropertySpy.count(), 1); - QCOMPARE(prop.metaType(), QMetaType(QMetaType::Int)); +// QCOMPARE(prop.metaType(), QMetaType(QMetaType::Int)); - QVERIFY(prop.notifySignal().isValid()); +// QVERIFY(prop.notifySignal().isValid()); } void tst_Moc::observerMetaCall() { - const auto metaObject = &ClassWithQPropertyMembers::staticMetaObject; - QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("publicProperty")); - QVERIFY(prop.isValid()); +// const auto metaObject = &ClassWithQPropertyMembers::staticMetaObject; +// QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("publicProperty")); +// QVERIFY(prop.isValid()); - ClassWithQPropertyMembers instance; +// ClassWithQPropertyMembers instance; - int observerCallCount = 0; +// int observerCallCount = 0; - QProperty<int> dummy; - auto handler = dummy.onValueChanged([&observerCallCount]() { - ++observerCallCount; - }); - { - void *argv[] = { &handler }; - instance.qt_metacall(QMetaObject::RegisterQPropertyObserver, prop.propertyIndex(), argv); - } +// auto handler = QPropertyChangeHandler([&observerCallCount]() { +// ++observerCallCount; +// }); - instance.publicProperty.setValue(&instance, 100); - QCOMPARE(observerCallCount, 1); - instance.publicProperty.setValue(&instance, 101); - QCOMPARE(observerCallCount, 2); +// { +// void *argv[] = { &handler }; +// instance.qt_metacall(QMetaObject::RegisterQPropertyObserver, prop.propertyIndex(), argv); +// } + +// QCOMPARE(observerCallCount, 0); +// instance.publicProperty.setValue(100); +// QCOMPARE(observerCallCount, 1); +// instance.publicProperty.setValue(&instance, 101); +// QCOMPARE(observerCallCount, 2); } void tst_Moc::setQPRopertyBinding() { - const auto metaObject = &ClassWithQPropertyMembers::staticMetaObject; - QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("publicProperty")); - QVERIFY(prop.isValid()); +// const auto metaObject = &ClassWithQPropertyMembers::staticMetaObject; +// QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("publicProperty")); +// QVERIFY(prop.isValid()); - ClassWithQPropertyMembers instance; +// ClassWithQPropertyMembers instance; - bool bindingCalled = false; - auto binding = Qt::makePropertyBinding([&bindingCalled]() { - bindingCalled = true; - return 42; - }); +// bool bindingCalled = false; +// auto binding = Qt::makePropertyBinding([&bindingCalled]() { +// bindingCalled = true; +// return 42; +// }); - { - void *argv[] = { &binding }; - instance.qt_metacall(QMetaObject::SetQPropertyBinding, prop.propertyIndex(), argv); - } +// { +// void *argv[] = { &binding }; +// instance.qt_metacall(QMetaObject::SetQPropertyBinding, prop.propertyIndex(), argv); +// } - QCOMPARE(instance.publicProperty.value(), 42); - QVERIFY(bindingCalled); // but now it should've been called :) +// QCOMPARE(instance.publicProperty.value(), 42); +// QVERIFY(bindingCalled); // but now it should've been called :) } - +#if 0 class ClassWithPrivateQPropertyShim :public QObject { Q_OBJECT @@ -4231,54 +4227,54 @@ public: Private *d_func() { return &priv; } const Private *d_func() const { return &priv; } }; - +#endif void tst_Moc::privateQPropertyShim() { - ClassWithPrivateQPropertyShim testObject; - - { - auto metaObject = &ClassWithPrivateQPropertyShim::staticMetaObject; - QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("testProperty")); - QVERIFY(prop.isValid()); - QVERIFY(prop.notifySignal().isValid()); - } - - testObject.priv.testProperty.setValue(&testObject.priv, 42); - QCOMPARE(testObject.property("testProperty").toInt(), 42); - - // Behave like a QProperty - QVERIFY(!testObject.testProperty.hasBinding()); - testObject.testProperty.setBinding([]() { return 100; }); - QCOMPARE(testObject.testProperty.value(), 100); - QVERIFY(testObject.testProperty.hasBinding()); - - // Old style setter getters - testObject.setTestProperty(400); - QVERIFY(!testObject.testProperty.hasBinding()); - QCOMPARE(testObject.testProperty(), 400); - - // Created and default-initialized, without nullptr access - QCOMPARE(testObject.lazyTestProperty(), 0); - - // Explicitly set to something - testObject.priv.lazyTestProperty()->setValue(&testObject.priv, 42); - QCOMPARE(testObject.property("lazyTestProperty").toInt(), 42); - - // Behave like a QProperty - QVERIFY(!testObject.lazyTestProperty.hasBinding()); - testObject.lazyTestProperty.setBinding([]() { return 100; }); - QCOMPARE(testObject.lazyTestProperty.value(), 100); - QVERIFY(testObject.lazyTestProperty.hasBinding()); - - // Old style setter getters - testObject.setLazyTestProperty(400); - QVERIFY(!testObject.lazyTestProperty.hasBinding()); - QCOMPARE(testObject.lazyTestProperty(), 400); - - // mo generates correct code for plain QProperty in PIMPL - testObject.testProperty2.setValue(42); - QCOMPARE(testObject.testProperty2.value(), 42); +// ClassWithPrivateQPropertyShim testObject; + +// { +// auto metaObject = &ClassWithPrivateQPropertyShim::staticMetaObject; +// QMetaProperty prop = metaObject->property(metaObject->indexOfProperty("testProperty")); +// QVERIFY(prop.isValid()); +// QVERIFY(prop.notifySignal().isValid()); +// } + +// testObject.priv.testProperty.setValue(&testObject.priv, 42); +// QCOMPARE(testObject.property("testProperty").toInt(), 42); + +// // Behave like a QProperty +// QVERIFY(!testObject.testProperty.hasBinding()); +// testObject.testProperty.setBinding([]() { return 100; }); +// QCOMPARE(testObject.testProperty.value(), 100); +// QVERIFY(testObject.testProperty.hasBinding()); + +// // Old style setter getters +// testObject.setTestProperty(400); +// QVERIFY(!testObject.testProperty.hasBinding()); +// QCOMPARE(testObject.testProperty(), 400); + +// // Created and default-initialized, without nullptr access +// QCOMPARE(testObject.lazyTestProperty(), 0); + +// // Explicitly set to something +// testObject.priv.lazyTestProperty()->setValue(&testObject.priv, 42); +// QCOMPARE(testObject.property("lazyTestProperty").toInt(), 42); + +// // Behave like a QProperty +// QVERIFY(!testObject.lazyTestProperty.hasBinding()); +// testObject.lazyTestProperty.setBinding([]() { return 100; }); +// QCOMPARE(testObject.lazyTestProperty.value(), 100); +// QVERIFY(testObject.lazyTestProperty.hasBinding()); + +// // Old style setter getters +// testObject.setLazyTestProperty(400); +// QVERIFY(!testObject.lazyTestProperty.hasBinding()); +// QCOMPARE(testObject.lazyTestProperty(), 400); + +// // mo generates correct code for plain QProperty in PIMPL +// testObject.testProperty2.setValue(42); +// QCOMPARE(testObject.testProperty2.value(), 42); } QTEST_MAIN(tst_Moc) |