summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-02-17 22:45:08 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-24 13:11:00 +0100
commit57aba47cdeaf2a107822a683c280b3929c5ee0e6 (patch)
treeaeb9cfef908a353a85020801d9d493345483c23d /tests
parent91e20fff873d8d352dd94fc94b0f54ab0feb3aad (diff)
Port badxml autotest to QMetaObjectBuilder
The meta-object format is going to change for Qt5. Use QMOB to insulate the badxml test from such changes. (It just so happens that the QFAIL("a failure") statement is still on line 109 after the refactoring, so the expected_badxml.* files' location tags did not have to be changed.) Change-Id: I04421d13c4df71c8004fa71cafc4823a59079a41 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> (cherry picked from commit 12520e83009fb8bd694d9768801875558bcc6321) Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/testlib/selftests/badxml/badxml.pro2
-rw-r--r--tests/auto/testlib/selftests/badxml/tst_badxml.cpp30
2 files changed, 16 insertions, 16 deletions
diff --git a/tests/auto/testlib/selftests/badxml/badxml.pro b/tests/auto/testlib/selftests/badxml/badxml.pro
index 5eaa1c3216..7b3b0f701c 100644
--- a/tests/auto/testlib/selftests/badxml/badxml.pro
+++ b/tests/auto/testlib/selftests/badxml/badxml.pro
@@ -1,5 +1,5 @@
SOURCES += tst_badxml.cpp
-QT = core testlib
+QT = core-private testlib
mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
diff --git a/tests/auto/testlib/selftests/badxml/tst_badxml.cpp b/tests/auto/testlib/selftests/badxml/tst_badxml.cpp
index 1a143e5243..2fb9e5ea90 100644
--- a/tests/auto/testlib/selftests/badxml/tst_badxml.cpp
+++ b/tests/auto/testlib/selftests/badxml/tst_badxml.cpp
@@ -42,6 +42,7 @@
#include <QtCore/QCoreApplication>
#include <QtTest/QtTest>
+#include <private/qmetaobjectbuilder_p.h>
/*
This test makes a testlog containing lots of characters which have a special meaning in
@@ -73,27 +74,26 @@ class EmptyClass : public tst_BadXml
class tst_BadXmlSub : public tst_BadXml
{
public:
+ tst_BadXmlSub()
+ : className("tst_BadXml"), mo(0) {}
+ ~tst_BadXmlSub() { qFree(mo); }
+
const QMetaObject* metaObject() const;
- static char const* className;
+ QByteArray className;
+private:
+ QMetaObject *mo;
};
-char const* tst_BadXmlSub::className = "tst_BadXml";
const QMetaObject* tst_BadXmlSub::metaObject() const
{
- const QMetaObject& empty = EmptyClass::staticMetaObject;
- static QMetaObject mo = {
- { empty.d.superdata, empty.d.stringdata, empty.d.data, empty.d.extradata }
- };
- static char currentClassName[1024];
- qstrcpy(currentClassName, className);
- int len = qstrlen(className);
- currentClassName[len] = 0;
- currentClassName[len+1] = 0;
-
- mo.d.stringdata = currentClassName;
-
- return &mo;
+ if (!mo || (mo->className() != className)) {
+ qFree(mo);
+ QMetaObjectBuilder builder(&EmptyClass::staticMetaObject);
+ builder.setClassName(className);
+ const_cast<tst_BadXmlSub *>(this)->mo = builder.toMetaObject();
+ }
+ return mo;
}
/*