summaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp')
-rw-r--r--tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp585
1 files changed, 0 insertions, 585 deletions
diff --git a/tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp b/tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp
deleted file mode 100644
index 38d024a..0000000
--- a/tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp
+++ /dev/null
@@ -1,585 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qtest.h>
-#include <private/qmlcompiler_p.h>
-
-class tst_qmlinstruction : public QObject
-{
- Q_OBJECT
-public:
- tst_qmlinstruction() {}
-
-private slots:
- void dump();
-};
-
-static QStringList messages;
-static void msgHandler(QtMsgType, const char *msg)
-{
- messages << QLatin1String(msg);
-}
-
-void tst_qmlinstruction::dump()
-{
- QmlCompiledData *data = new QmlCompiledData(0);
- {
- QmlInstruction i;
- i.line = 0;
- i.type = QmlInstruction::Init;
- i.init.bindingsSize = 0;
- i.init.parserStatusSize = 3;
- i.init.contextCache = -1;
- i.init.compiledBinding = -1;
- data->bytecode << i;
- }
-
- {
- QmlCompiledData::TypeReference ref;
- ref.className = "Test";
- data->types << ref;
-
- QmlInstruction i;
- i.line = 1;
- i.type = QmlInstruction::CreateObject;
- i.create.type = 0;
- i.create.data = -1;
- i.create.bindingBits = -1;
- i.create.column = 10;
- data->bytecode << i;
- }
-
- {
- data->primitives << "testId";
-
- QmlInstruction i;
- i.line = 2;
- i.type = QmlInstruction::SetId;
- i.setId.value = 0;
- i.setId.index = 0;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 3;
- i.type = QmlInstruction::SetDefault;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 4;
- i.type = QmlInstruction::CreateComponent;
- i.createComponent.count = 3;
- i.createComponent.column = 4;
- i.createComponent.endLine = 14;
- i.createComponent.metaObject = 0;
-
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 5;
- i.type = QmlInstruction::StoreMetaObject;
- i.storeMeta.data = 3;
- i.storeMeta.aliasData = 6;
- i.storeMeta.propertyCache = 7;
-
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 6;
- i.type = QmlInstruction::StoreFloat;
- i.storeFloat.propertyIndex = 3;
- i.storeFloat.value = 11.3;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 7;
- i.type = QmlInstruction::StoreDouble;
- i.storeDouble.propertyIndex = 4;
- i.storeDouble.value = 14.8;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 8;
- i.type = QmlInstruction::StoreInteger;
- i.storeInteger.propertyIndex = 5;
- i.storeInteger.value = 9;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 9;
- i.type = QmlInstruction::StoreBool;
- i.storeBool.propertyIndex = 6;
- i.storeBool.value = true;
-
- data->bytecode << i;
- }
-
- {
- data->primitives << "Test String";
- QmlInstruction i;
- i.line = 10;
- i.type = QmlInstruction::StoreString;
- i.storeString.propertyIndex = 7;
- i.storeString.value = 1;
- data->bytecode << i;
- }
-
- {
- data->primitives << "http://www.nokia.com";
- QmlInstruction i;
- i.line = 11;
- i.type = QmlInstruction::StoreUrl;
- i.storeUrl.propertyIndex = 8;
- i.storeUrl.value = 2;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 12;
- i.type = QmlInstruction::StoreColor;
- i.storeColor.propertyIndex = 9;
- i.storeColor.value = 0xFF00FF00;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 13;
- i.type = QmlInstruction::StoreDate;
- i.storeDate.propertyIndex = 10;
- i.storeDate.value = 9;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 14;
- i.type = QmlInstruction::StoreTime;
- i.storeTime.propertyIndex = 11;
- i.storeTime.valueIndex = 33;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 15;
- i.type = QmlInstruction::StoreDateTime;
- i.storeDateTime.propertyIndex = 12;
- i.storeDateTime.valueIndex = 44;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 16;
- i.type = QmlInstruction::StorePoint;
- i.storeRealPair.propertyIndex = 13;
- i.storeRealPair.valueIndex = 3;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 17;
- i.type = QmlInstruction::StorePointF;
- i.storeRealPair.propertyIndex = 14;
- i.storeRealPair.valueIndex = 9;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 18;
- i.type = QmlInstruction::StoreSize;
- i.storeRealPair.propertyIndex = 15;
- i.storeRealPair.valueIndex = 8;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 19;
- i.type = QmlInstruction::StoreSizeF;
- i.storeRealPair.propertyIndex = 16;
- i.storeRealPair.valueIndex = 99;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 20;
- i.type = QmlInstruction::StoreRect;
- i.storeRect.propertyIndex = 17;
- i.storeRect.valueIndex = 2;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 21;
- i.type = QmlInstruction::StoreRectF;
- i.storeRect.propertyIndex = 18;
- i.storeRect.valueIndex = 19;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 22;
- i.type = QmlInstruction::StoreVector3D;
- i.storeVector3D.propertyIndex = 19;
- i.storeVector3D.valueIndex = 9;
- data->bytecode << i;
- }
-
- {
- data->primitives << "color(1, 1, 1, 1)";
- QmlInstruction i;
- i.line = 23;
- i.type = QmlInstruction::StoreVariant;
- i.storeString.propertyIndex = 20;
- i.storeString.value = 3;
-
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 24;
- i.type = QmlInstruction::StoreObject;
- i.storeObject.propertyIndex = 21;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 25;
- i.type = QmlInstruction::StoreVariantObject;
- i.storeObject.propertyIndex = 22;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 26;
- i.type = QmlInstruction::StoreInterface;
- i.storeObject.propertyIndex = 23;
- data->bytecode << i;
- }
-
- {
- data->primitives << "console.log(1921)";
-
- QmlInstruction i;
- i.line = 27;
- i.type = QmlInstruction::StoreSignal;
- i.storeSignal.signalIndex = 2;
- i.storeSignal.value = 4;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 28;
- i.type = QmlInstruction::StoreScript;
- i.storeScript.value = 2;
- //i.storeScript.fileName = 18;
- //i.storeScript.lineNumber = 28;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 29;
- i.type = QmlInstruction::StoreScriptString;
- i.storeScriptString.propertyIndex = 24;
- i.storeScriptString.value = 3;
- i.storeScriptString.scope = 1;
- data->bytecode << i;
- }
-
- {
- data->datas << "mySignal";
-
- QmlInstruction i;
- i.line = 30;
- i.type = QmlInstruction::AssignSignalObject;
- i.assignSignalObject.signal = 0;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 31;
- i.type = QmlInstruction::AssignCustomType;
- i.assignCustomType.propertyIndex = 25;
- i.assignCustomType.valueIndex = 4;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 32;
- i.type = QmlInstruction::StoreBinding;
- i.assignBinding.property = 26;
- i.assignBinding.value = 3;
- i.assignBinding.context = 2;
- i.assignBinding.owner = 0;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 33;
- i.type = QmlInstruction::StoreCompiledBinding;
- i.assignBinding.property = 27;
- i.assignBinding.value = 2;
- i.assignBinding.context = 4;
- i.assignBinding.owner = 0;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 34;
- i.type = QmlInstruction::StoreValueSource;
- i.assignValueSource.property = 29;
- i.assignValueSource.owner = 1;
- i.assignValueSource.castValue = 4;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 35;
- i.type = QmlInstruction::StoreValueInterceptor;
- i.assignValueInterceptor.property = 30;
- i.assignValueInterceptor.owner = 2;
- i.assignValueInterceptor.castValue = -4;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 36;
- i.type = QmlInstruction::BeginObject;
- i.begin.castValue = 4;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 38;
- i.type = QmlInstruction::StoreObjectQList;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 39;
- i.type = QmlInstruction::AssignObjectList;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 40;
- i.type = QmlInstruction::FetchAttached;
- i.fetchAttached.id = 23;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 42;
- i.type = QmlInstruction::FetchQList;
- i.fetch.property = 32;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 43;
- i.type = QmlInstruction::FetchObject;
- i.fetch.property = 33;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 44;
- i.type = QmlInstruction::FetchValueType;
- i.fetchValue.property = 34;
- i.fetchValue.type = 6;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 45;
- i.type = QmlInstruction::PopFetchedObject;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 46;
- i.type = QmlInstruction::PopQList;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 47;
- i.type = QmlInstruction::PopValueType;
- i.fetchValue.property = 35;
- i.fetchValue.type = 8;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 48;
- i.type = QmlInstruction::Defer;
- i.defer.deferCount = 7;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = -1;
- i.type = QmlInstruction::Defer;
- i.defer.deferCount = 7;
- data->bytecode << i;
- }
-
- {
- QmlInstruction i;
- i.line = 50;
- i.type = (QmlInstruction::Type)(QmlInstruction::Defer + 1); // Non-existant
- data->bytecode << i;
- }
-
- QStringList expect;
- expect
- << "Index\tLine\tOperation\t\tData1\tData2\tData3\tComments"
- << "-------------------------------------------------------------------------------"
- << "0\t\t0\tINIT\t\t\t0\t3\t-1\t-1"
- << "1\t\t1\tCREATE\t\t\t0\t\t\t\"Test\""
- << "2\t\t2\tSETID\t\t\t0\t\t\t\"testId\""
- << "3\t\t3\tSET_DEFAULT"
- << "4\t\t4\tCREATE_COMPONENT\t3"
- << "5\t\t5\tSTORE_META\t\t3"
- << "6\t\t6\tSTORE_FLOAT\t\t3\t11.3"
- << "7\t\t7\tSTORE_DOUBLE\t\t4\t14.8"
- << "8\t\t8\tSTORE_INTEGER\t\t5\t9"
- << "9\t\t9\tSTORE_BOOL\t\t6\ttrue"
- << "10\t\t10\tSTORE_STRING\t\t7\t1\t\t\"Test String\""
- << "11\t\t11\tSTORE_URL\t\t8\t2\t\t\"http://www.nokia.com\""
- << "12\t\t12\tSTORE_COLOR\t\t9\t\t\t\"ff00ff00\""
- << "13\t\t13\tSTORE_DATE\t\t10\t9"
- << "14\t\t14\tSTORE_TIME\t\t11\t33"
- << "15\t\t15\tSTORE_DATETIME\t\t12\t44"
- << "16\t\t16\tSTORE_POINT\t\t13\t3"
- << "17\t\t17\tSTORE_POINTF\t\t14\t9"
- << "18\t\t18\tSTORE_SIZE\t\t15\t8"
- << "19\t\t19\tSTORE_SIZEF\t\t16\t99"
- << "20\t\t20\tSTORE_RECT\t\t17\t2"
- << "21\t\t21\tSTORE_RECTF\t\t18\t19"
- << "22\t\t22\tSTORE_VECTOR3D\t\t19\t9"
- << "23\t\t23\tSTORE_VARIANT\t\t20\t3\t\t\"color(1, 1, 1, 1)\""
- << "24\t\t24\tSTORE_OBJECT\t\t21"
- << "25\t\t25\tSTORE_VARIANT_OBJECT\t22"
- << "26\t\t26\tSTORE_INTERFACE\t\t23"
- << "27\t\t27\tSTORE_SIGNAL\t\t2\t4\t\t\"console.log(1921)\""
- << "28\t\t28\tSTORE_SCRIPT\t\t2"
- << "29\t\t29\tSTORE_SCRIPT_STRING\t24\t3\t1"
- << "30\t\t30\tASSIGN_SIGNAL_OBJECT\t0\t\t\t\"mySignal\""
- << "31\t\t31\tASSIGN_CUSTOMTYPE\t25\t4"
- << "32\t\t32\tSTORE_BINDING\t26\t3\t2"
- << "33\t\t33\tSTORE_COMPILED_BINDING\t27\t2\t4"
- << "34\t\t34\tSTORE_VALUE_SOURCE\t29\t4"
- << "35\t\t35\tSTORE_VALUE_INTERCEPTOR\t30\t-4"
- << "36\t\t36\tBEGIN\t\t\t4"
- << "37\t\t38\tSTORE_OBJECT_QLIST"
- << "38\t\t39\tASSIGN_OBJECT_LIST"
- << "39\t\t40\tFETCH_ATTACHED\t\t23"
- << "40\t\t42\tFETCH_QLIST\t\t32"
- << "41\t\t43\tFETCH\t\t\t33"
- << "42\t\t44\tFETCH_VALUE\t\t34\t6"
- << "43\t\t45\tPOP"
- << "44\t\t46\tPOP_QLIST"
- << "45\t\t47\tPOP_VALUE\t\t35\t8"
- << "46\t\t48\tDEFER\t\t\t7"
- << "47\t\tNA\tDEFER\t\t\t7"
- << "48\t\t50\tXXX UNKOWN INSTRUCTION\t47"
- << "-------------------------------------------------------------------------------";
-
- messages = QStringList();
- QtMsgHandler old = qInstallMsgHandler(msgHandler);
- data->dumpInstructions();
- qInstallMsgHandler(old);
-
- QCOMPARE(messages.count(), expect.count());
- for (int ii = 0; ii < messages.count(); ++ii) {
- QCOMPARE(messages.at(ii), expect.at(ii));
- }
-
- data->release();
-}
-
-QTEST_MAIN(tst_qmlinstruction)
-
-#include "tst_qmlinstruction.moc"