#include <QtTest/QtTest>
#include <QPointer>
+#ifndef QT_NO_WIDGETS
#include <QWidget>
+#endif
class tst_QPointer : public QObject
{
QVERIFY(p1 == p2);
QObject *object = 0;
+#ifndef QT_NO_WIDGETS
QWidget *widget = 0;
+#endif
p1 = object;
QVERIFY(p1 == p2);
QVERIFY(object == p1);
QVERIFY(p2 != object);
QVERIFY(object != p2);
+#ifndef QT_NO_WIDGETS
QVERIFY(p1 == widget);
QVERIFY(widget == p1);
QVERIFY(p2 != widget);
QVERIFY(widget != p2);
+#endif
}
void tst_QPointer::isNull()
QCOMPARE(qobject_cast<QObject *>(guardedPointer), static_cast<QObject *>(0));
}
+#ifndef QT_NO_WIDGETS
class ChildWidget : public QWidget
{
QPointer<QWidget> guardedPointer;
QCOMPARE(static_cast<QWidget *>(guardedPointer), parentWidget());
QCOMPARE(qobject_cast<QWidget *>(guardedPointer), parentWidget());
}
+#endif
class DerivedChild;
delete parentObject;
}
+#ifndef QT_NO_WIDGETS
{
QWidget *parentWidget = new QWidget();
(void) new ChildWidget(parentWidget);
delete parentWidget;
}
+#endif
{
delete new DerivedParent();