summaryrefslogtreecommitdiffstats
path: root/tests/auto/tools/moc/tst_moc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/tools/moc/tst_moc.cpp')
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp
index 04140fa4a1..c5469bd33a 100644
--- a/tests/auto/tools/moc/tst_moc.cpp
+++ b/tests/auto/tools/moc/tst_moc.cpp
@@ -174,6 +174,9 @@ class TestClassinfoWithEscapes: public QObject
Q_OBJECT
Q_CLASSINFO("escaped", "\"bar\"")
Q_CLASSINFO("\"escaped\"", "foo")
+ Q_CLASSINFO("cpp c*/omment", "f/*oo")
+ Q_CLASSINFO("endswith\\", "Or?\?/")
+ Q_CLASSINFO("newline\n inside\n", "Or \r")
public slots:
void slotWithAReallyLongName(int)
{ }
@@ -800,6 +803,14 @@ void tst_Moc::classinfoWithEscapes()
const QMetaObject *mobj = &TestClassinfoWithEscapes::staticMetaObject;
QCOMPARE(mobj->methodCount() - mobj->methodOffset(), 1);
+ QCOMPARE(mobj->classInfoCount(), 5);
+ QCOMPARE(mobj->classInfo(2).name(), "cpp c*/omment");
+ QCOMPARE(mobj->classInfo(2).value(), "f/*oo");
+ QCOMPARE(mobj->classInfo(3).name(), "endswith\\");
+ QCOMPARE(mobj->classInfo(3).value(), "Or?\?/");
+ QCOMPARE(mobj->classInfo(4).name(), "newline\n inside\n");
+ QCOMPARE(mobj->classInfo(4).value(), "Or \r");
+
QMetaMethod mm = mobj->method(mobj->methodOffset());
QCOMPARE(mm.methodSignature(), QByteArray("slotWithAReallyLongName(int)"));
}