diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp | 17 | ||||
-rw-r--r-- | tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp | 27 |
2 files changed, 23 insertions, 21 deletions
diff --git a/tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp b/tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp index 41315fd5f0..17c12b87e8 100644 --- a/tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp +++ b/tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp @@ -165,7 +165,7 @@ void tst_qmlcachegen::loadGeneratedFile() QVERIFY(compilationUnit); auto unitData = compilationUnit->unitData(); QVERIFY(unitData); - QVERIFY(!(unitData->flags & QV4::CompiledData::Unit::StaticData)); + QVERIFY(unitData->flags & QV4::CompiledData::Unit::StaticData); } void tst_qmlcachegen::translationExpressionSupport() @@ -236,13 +236,11 @@ void tst_qmlcachegen::signalHandlerParameters() QVERIFY(QFile::exists(cacheFilePath)); QVERIFY(QFile::remove(testFilePath)); - quint32 oldImportsOffset = 0; { QFile cache(cacheFilePath); QVERIFY(cache.open(QIODevice::ReadOnly)); const QV4::CompiledData::Unit *cacheUnit = reinterpret_cast<const QV4::CompiledData::Unit *>(cache.map(/*offset*/0, sizeof(QV4::CompiledData::Unit))); QVERIFY(cacheUnit); - oldImportsOffset = cacheUnit->offsetToImports; } QQmlEngine engine; @@ -259,19 +257,18 @@ void tst_qmlcachegen::signalHandlerParameters() QVERIFY(compilationUnit); QVERIFY(compilationUnit->unitData()); - // Verify that the JS unit is used unchanged, no tables were added, by checking the - // offset of the first QML specific table. - QCOMPARE(quint32(compilationUnit->unitData()->offsetToImports), oldImportsOffset); + // Verify that the QML objects don't come from the original data. + QVERIFY(compilationUnit->objectAt(0) != compilationUnit->unitData()->qmlUnit()->objectAt(0)); // Typically the final file name is one of those strings that is not in the original // pre-compiled qml file's string table, while for example the signal parameter // name ("value") is. - const auto isStringIndexInOriginalStringTable = [compilationUnit](uint index) { - return index < compilationUnit->backingUnit->stringTableSize; + const auto isStringIndexInStringTable = [compilationUnit](uint index) { + return index < compilationUnit->unitData()->stringTableSize; }; - QVERIFY(isStringIndexInOriginalStringTable(compilationUnit->objectAt(0)->signalAt(0)->parameterAt(0)->nameIndex)); - QVERIFY(!isStringIndexInOriginalStringTable(compilationUnit->unitData()->sourceFileIndex)); + QVERIFY(isStringIndexInStringTable(compilationUnit->objectAt(0)->signalAt(0)->parameterAt(0)->nameIndex)); + QVERIFY(!compilationUnit->dynamicStrings.isEmpty()); } } diff --git a/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp b/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp index 612293c0eb..84d14c82ab 100644 --- a/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp +++ b/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp @@ -272,9 +272,11 @@ void tst_qmldiskcache::regenerateAfterChange() const QV4::CompiledData::Unit *testUnit = testCompiler.mapUnit(); QVERIFY2(testUnit, qPrintable(testCompiler.lastErrorString)); - QCOMPARE(quint32(testUnit->nObjects), quint32(1)); + const QV4::CompiledData::QmlUnit *qmlUnit = testUnit->qmlUnit(); - const QV4::CompiledData::Object *obj = testUnit->objectAtInternal(0); + QCOMPARE(quint32(qmlUnit->nObjects), quint32(1)); + + const QV4::CompiledData::Object *obj = qmlUnit->objectAt(0); QCOMPARE(quint32(obj->nBindings), quint32(1)); QCOMPARE(quint32(obj->bindingTable()->type), quint32(QV4::CompiledData::Binding::Type_Script)); QCOMPARE(quint32(obj->bindingTable()->value.compiledScriptIndex), quint32(0)); @@ -298,9 +300,11 @@ void tst_qmldiskcache::regenerateAfterChange() const QV4::CompiledData::Unit *testUnit = testCompiler.mapUnit(); QVERIFY2(testUnit, qPrintable(testCompiler.lastErrorString)); - QCOMPARE(quint32(testUnit->nObjects), quint32(1)); + const QV4::CompiledData::QmlUnit *qmlUnit = testUnit->qmlUnit(); + + QCOMPARE(quint32(qmlUnit->nObjects), quint32(1)); - const QV4::CompiledData::Object *obj = testUnit->objectAtInternal(0); + const QV4::CompiledData::Object *obj = qmlUnit->objectAt(0); QCOMPARE(quint32(obj->nBindings), quint32(2)); QCOMPARE(quint32(obj->bindingTable()->type), quint32(QV4::CompiledData::Binding::Type_Number)); QCOMPARE(obj->bindingTable()->valueAsNumber(reinterpret_cast<const QV4::Value *>(testUnit->constants())), double(42)); @@ -331,21 +335,22 @@ void tst_qmldiskcache::registerImportForImplicitComponent() const QV4::CompiledData::Unit *testUnit = testCompiler.mapUnit(); QVERIFY2(testUnit, qPrintable(testCompiler.lastErrorString)); - QCOMPARE(quint32(testUnit->nImports), quint32(2)); - QCOMPARE(testUnit->stringAtInternal(testUnit->importAtInternal(0)->uriIndex), QStringLiteral("QtQuick")); + const QV4::CompiledData::QmlUnit *qmlUnit = testUnit->qmlUnit(); + QCOMPARE(quint32(qmlUnit->nImports), quint32(2)); + QCOMPARE(testUnit->stringAtInternal(qmlUnit->importAt(0)->uriIndex), QStringLiteral("QtQuick")); QQmlType componentType = QQmlMetaType::qmlType(&QQmlComponent::staticMetaObject); - QCOMPARE(testUnit->stringAtInternal(testUnit->importAtInternal(1)->uriIndex), QString(componentType.module())); - QCOMPARE(testUnit->stringAtInternal(testUnit->importAtInternal(1)->qualifierIndex), QStringLiteral("QmlInternals")); + QCOMPARE(testUnit->stringAtInternal(qmlUnit->importAt(1)->uriIndex), QString(componentType.module())); + QCOMPARE(testUnit->stringAtInternal(qmlUnit->importAt(1)->qualifierIndex), QStringLiteral("QmlInternals")); - QCOMPARE(quint32(testUnit->nObjects), quint32(3)); + QCOMPARE(quint32(qmlUnit->nObjects), quint32(3)); - const QV4::CompiledData::Object *obj = testUnit->objectAtInternal(0); + const QV4::CompiledData::Object *obj = qmlUnit->objectAt(0); QCOMPARE(quint32(obj->nBindings), quint32(1)); QCOMPARE(quint32(obj->bindingTable()->type), quint32(QV4::CompiledData::Binding::Type_Object)); - const QV4::CompiledData::Object *implicitComponent = testUnit->objectAtInternal(obj->bindingTable()->value.objectIndex); + const QV4::CompiledData::Object *implicitComponent = qmlUnit->objectAt(obj->bindingTable()->value.objectIndex); QCOMPARE(testUnit->stringAtInternal(implicitComponent->inheritedTypeNameIndex), QStringLiteral("QmlInternals.") + componentType.elementName()); } } |