aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp')
-rw-r--r--tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp531
1 files changed, 307 insertions, 224 deletions
diff --git a/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp b/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
index 50277cc694..be1f9e05af 100644
--- a/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
+++ b/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
@@ -55,6 +55,15 @@ public:
private slots:
void dump();
+
+ void point();
+ void pointf();
+ void size();
+ void sizef();
+ void rect();
+ void rectf();
+ void vector3d();
+ void time();
};
static QStringList messages;
@@ -68,13 +77,12 @@ void tst_qdeclarativeinstruction::dump()
QDeclarativeCompiledData *data = new QDeclarativeCompiledData(0);
{
QDeclarativeInstruction i;
- i.line = 0;
- i.type = QDeclarativeInstruction::Init;
+ i.setType(QDeclarativeInstruction::Init);
i.init.bindingsSize = 0;
i.init.parserStatusSize = 3;
i.init.contextCache = -1;
i.init.compiledBinding = -1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
@@ -83,512 +91,473 @@ void tst_qdeclarativeinstruction::dump()
data->types << ref;
QDeclarativeInstruction i;
- i.line = 1;
- i.type = QDeclarativeInstruction::CreateObject;
+ i.setType(QDeclarativeInstruction::CreateObject);
i.create.type = 0;
i.create.data = -1;
i.create.bindingBits = -1;
i.create.column = 10;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->primitives << "testId";
QDeclarativeInstruction i;
- i.line = 2;
- i.type = QDeclarativeInstruction::SetId;
+ i.setType(QDeclarativeInstruction::SetId);
i.setId.value = data->primitives.count() - 1;
i.setId.index = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 3;
- i.type = QDeclarativeInstruction::SetDefault;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::SetDefault);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 4;
- i.type = QDeclarativeInstruction::CreateComponent;
+ i.setType(QDeclarativeInstruction::CreateComponent);
i.createComponent.count = 3;
i.createComponent.column = 4;
i.createComponent.endLine = 14;
i.createComponent.metaObject = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 5;
- i.type = QDeclarativeInstruction::StoreMetaObject;
+ i.setType(QDeclarativeInstruction::StoreMetaObject);
i.storeMeta.data = 3;
i.storeMeta.aliasData = 6;
i.storeMeta.propertyCache = 7;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 6;
- i.type = QDeclarativeInstruction::StoreFloat;
+ i.setType(QDeclarativeInstruction::StoreFloat);
i.storeFloat.propertyIndex = 3;
i.storeFloat.value = 11.3;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 7;
- i.type = QDeclarativeInstruction::StoreDouble;
+ i.setType(QDeclarativeInstruction::StoreDouble);
i.storeDouble.propertyIndex = 4;
i.storeDouble.value = 14.8;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 8;
- i.type = QDeclarativeInstruction::StoreInteger;
+ i.setType(QDeclarativeInstruction::StoreInteger);
i.storeInteger.propertyIndex = 5;
i.storeInteger.value = 9;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 9;
- i.type = QDeclarativeInstruction::StoreBool;
+ i.setType(QDeclarativeInstruction::StoreBool);
i.storeBool.propertyIndex = 6;
i.storeBool.value = true;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->primitives << "Test String";
QDeclarativeInstruction i;
- i.line = 10;
- i.type = QDeclarativeInstruction::StoreString;
+ i.setType(QDeclarativeInstruction::StoreString);
i.storeString.propertyIndex = 7;
i.storeString.value = data->primitives.count() - 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->urls << QUrl("http://www.nokia.com");
QDeclarativeInstruction i;
- i.line = 11;
- i.type = QDeclarativeInstruction::StoreUrl;
+ i.setType(QDeclarativeInstruction::StoreUrl);
i.storeUrl.propertyIndex = 8;
i.storeUrl.value = data->urls.count() - 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 12;
- i.type = QDeclarativeInstruction::StoreColor;
+ i.setType(QDeclarativeInstruction::StoreColor);
i.storeColor.propertyIndex = 9;
i.storeColor.value = 0xFF00FF00;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 13;
- i.type = QDeclarativeInstruction::StoreDate;
+ i.setType(QDeclarativeInstruction::StoreDate);
i.storeDate.propertyIndex = 10;
i.storeDate.value = 9;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 14;
- i.type = QDeclarativeInstruction::StoreTime;
+ i.setType(QDeclarativeInstruction::StoreTime);
i.storeTime.propertyIndex = 11;
- i.storeTime.valueIndex = 33;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 15;
- i.type = QDeclarativeInstruction::StoreDateTime;
+ i.setType(QDeclarativeInstruction::StoreDateTime);
i.storeDateTime.propertyIndex = 12;
- i.storeDateTime.valueIndex = 44;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 16;
- i.type = QDeclarativeInstruction::StorePoint;
- i.storeRealPair.propertyIndex = 13;
- i.storeRealPair.valueIndex = 3;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StorePoint);
+ i.storePoint.propertyIndex = 13;
+ i.storePoint.point.xp = 3;
+ i.storePoint.point.yp = 7;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 17;
- i.type = QDeclarativeInstruction::StorePointF;
- i.storeRealPair.propertyIndex = 14;
- i.storeRealPair.valueIndex = 9;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StorePointF);
+ i.storePointF.propertyIndex = 13;
+ i.storePointF.point.xp = 3;
+ i.storePointF.point.yp = 7;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 18;
- i.type = QDeclarativeInstruction::StoreSize;
- i.storeRealPair.propertyIndex = 15;
- i.storeRealPair.valueIndex = 8;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StoreSize);
+ i.storeSize.propertyIndex = 15;
+ i.storeSize.size.wd = 8;
+ i.storeSize.size.ht = 11;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 19;
- i.type = QDeclarativeInstruction::StoreSizeF;
- i.storeRealPair.propertyIndex = 16;
- i.storeRealPair.valueIndex = 99;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StoreSizeF);
+ i.storeSizeF.propertyIndex = 15;
+ i.storeSizeF.size.wd = 8;
+ i.storeSizeF.size.ht = 11;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 20;
- i.type = QDeclarativeInstruction::StoreRect;
+ i.setType(QDeclarativeInstruction::StoreRect);
i.storeRect.propertyIndex = 17;
- i.storeRect.valueIndex = 2;
- data->bytecode << i;
+ i.storeRect.rect.x1 = 7;
+ i.storeRect.rect.y1 = 9;
+ i.storeRect.rect.x2 = 11;
+ i.storeRect.rect.y2 = 13;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 21;
- i.type = QDeclarativeInstruction::StoreRectF;
- i.storeRect.propertyIndex = 18;
- i.storeRect.valueIndex = 19;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StoreRectF);
+ i.storeRectF.propertyIndex = 18;
+ i.storeRectF.rect.xp = 11.3;
+ i.storeRectF.rect.yp = 9.8;
+ i.storeRectF.rect.w = 3;
+ i.storeRectF.rect.h = 2.1;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 22;
- i.type = QDeclarativeInstruction::StoreVector3D;
+ i.setType(QDeclarativeInstruction::StoreVector3D);
i.storeVector3D.propertyIndex = 19;
- i.storeVector3D.valueIndex = 9;
- data->bytecode << i;
+ i.storeVector3D.vector.xp = 9;
+ i.storeVector3D.vector.yp = 3;
+ i.storeVector3D.vector.zp = 92;
+ data->addInstruction(i);
}
{
data->primitives << "color(1, 1, 1, 1)";
QDeclarativeInstruction i;
- i.line = 23;
- i.type = QDeclarativeInstruction::StoreVariant;
+ i.setType(QDeclarativeInstruction::StoreVariant);
i.storeString.propertyIndex = 20;
i.storeString.value = data->primitives.count() - 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 24;
- i.type = QDeclarativeInstruction::StoreObject;
+ i.setType(QDeclarativeInstruction::StoreObject);
i.storeObject.propertyIndex = 21;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 25;
- i.type = QDeclarativeInstruction::StoreVariantObject;
+ i.setType(QDeclarativeInstruction::StoreVariantObject);
i.storeObject.propertyIndex = 22;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 26;
- i.type = QDeclarativeInstruction::StoreInterface;
+ i.setType(QDeclarativeInstruction::StoreInterface);
i.storeObject.propertyIndex = 23;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->primitives << "console.log(1921)";
QDeclarativeInstruction i;
- i.line = 27;
- i.type = QDeclarativeInstruction::StoreSignal;
+ i.setType(QDeclarativeInstruction::StoreSignal);
i.storeSignal.signalIndex = 2;
i.storeSignal.value = data->primitives.count() - 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 29;
- i.type = QDeclarativeInstruction::StoreScriptString;
+ i.setType(QDeclarativeInstruction::StoreScriptString);
i.storeScriptString.propertyIndex = 24;
i.storeScriptString.value = 3;
i.storeScriptString.scope = 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->datas << "mySignal";
QDeclarativeInstruction i;
- i.line = 30;
- i.type = QDeclarativeInstruction::AssignSignalObject;
+ i.setType(QDeclarativeInstruction::AssignSignalObject);
i.assignSignalObject.signal = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 31;
- i.type = QDeclarativeInstruction::AssignCustomType;
+ i.setType(QDeclarativeInstruction::AssignCustomType);
i.assignCustomType.propertyIndex = 25;
- i.assignCustomType.valueIndex = 4;
- data->bytecode << i;
+ i.assignCustomType.primitive = 6;
+ i.assignCustomType.type = 9;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 32;
- i.type = QDeclarativeInstruction::StoreBinding;
+ i.setType(QDeclarativeInstruction::StoreBinding);
i.assignBinding.property = 26;
i.assignBinding.value = 3;
i.assignBinding.context = 2;
i.assignBinding.owner = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 33;
- i.type = QDeclarativeInstruction::StoreCompiledBinding;
+ i.setType(QDeclarativeInstruction::StoreCompiledBinding);
i.assignBinding.property = 27;
i.assignBinding.value = 2;
i.assignBinding.context = 4;
i.assignBinding.owner = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 34;
- i.type = QDeclarativeInstruction::StoreValueSource;
+ i.setType(QDeclarativeInstruction::StoreValueSource);
i.assignValueSource.property = 29;
i.assignValueSource.owner = 1;
i.assignValueSource.castValue = 4;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 35;
- i.type = QDeclarativeInstruction::StoreValueInterceptor;
+ i.setType(QDeclarativeInstruction::StoreValueInterceptor);
i.assignValueInterceptor.property = 30;
i.assignValueInterceptor.owner = 2;
i.assignValueInterceptor.castValue = -4;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 36;
- i.type = QDeclarativeInstruction::BeginObject;
+ i.setType(QDeclarativeInstruction::BeginObject);
i.begin.castValue = 4;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 38;
- i.type = QDeclarativeInstruction::StoreObjectQList;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StoreObjectQList);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 39;
- i.type = QDeclarativeInstruction::AssignObjectList;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::AssignObjectList);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 40;
- i.type = QDeclarativeInstruction::FetchAttached;
+ i.setType(QDeclarativeInstruction::FetchAttached);
i.fetchAttached.id = 23;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 42;
- i.type = QDeclarativeInstruction::FetchQList;
+ i.setType(QDeclarativeInstruction::FetchQList);
i.fetch.property = 32;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 43;
- i.type = QDeclarativeInstruction::FetchObject;
+ i.setType(QDeclarativeInstruction::FetchObject);
i.fetch.property = 33;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 44;
- i.type = QDeclarativeInstruction::FetchValueType;
+ i.setType(QDeclarativeInstruction::FetchValueType);
i.fetchValue.property = 34;
i.fetchValue.type = 6;
i.fetchValue.bindingSkipList = 7;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 45;
- i.type = QDeclarativeInstruction::PopFetchedObject;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::PopFetchedObject);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 46;
- i.type = QDeclarativeInstruction::PopQList;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::PopQList);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 47;
- i.type = QDeclarativeInstruction::PopValueType;
+ i.setType(QDeclarativeInstruction::PopValueType);
i.fetchValue.property = 35;
i.fetchValue.type = 8;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 48;
- i.type = QDeclarativeInstruction::Defer;
+ i.setType(QDeclarativeInstruction::Defer);
i.defer.deferCount = 7;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = -1;
- i.type = QDeclarativeInstruction::Defer;
+ i.setType(QDeclarativeInstruction::Defer);
i.defer.deferCount = 7;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 48;
- i.type = QDeclarativeInstruction::StoreImportedScript;
+ i.setType(QDeclarativeInstruction::StoreImportedScript);
i.storeScript.value = 2;
- data->bytecode << i;
- }
-
- {
- QDeclarativeInstruction i;
- i.line = 50;
- i.type = (QDeclarativeInstruction::Type)(1234); // Non-existent
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 51;
- i.type = QDeclarativeInstruction::StoreVariantInteger;
+ i.setType(QDeclarativeInstruction::StoreVariantInteger);
i.storeInteger.value = 11;
i.storeInteger.propertyIndex = 32;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 52;
- i.type = QDeclarativeInstruction::StoreVariantDouble;
+ i.setType(QDeclarativeInstruction::StoreVariantDouble);
i.storeDouble.value = 33.7;
i.storeDouble.propertyIndex = 19;
- data->bytecode << i;
+ data->addInstruction(i);
+ }
+
+ {
+ QDeclarativeInstruction i;
+ i.setType(QDeclarativeInstruction::Done);
+ data->addInstruction(i);
}
QStringList expect;
expect
- << "Index\tLine\tOperation\t\tData1\tData2\tData3\tComments"
+ << "Index\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-1\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\t0\t\tQUrl(\"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\t2\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\t3\t\t\"console.log(1921)\""
- << "28\t\t29\tSTORE_SCRIPT_STRING\t24\t3\t1"
- << "29\t\t30\tASSIGN_SIGNAL_OBJECT\t0\t\t\t\"mySignal\""
- << "30\t\t31\tASSIGN_CUSTOMTYPE\t25\t4"
- << "31\t\t32\tSTORE_BINDING\t26\t3\t2"
- << "32\t\t33\tSTORE_COMPILED_BINDING\t27\t2\t4"
- << "33\t\t34\tSTORE_VALUE_SOURCE\t29\t4"
- << "34\t\t35\tSTORE_VALUE_INTERCEPTOR\t30\t-4"
- << "35\t\t36\tBEGIN\t\t\t4"
- << "36\t\t38\tSTORE_OBJECT_QLIST"
- << "37\t\t39\tASSIGN_OBJECT_LIST"
- << "38\t\t40\tFETCH_ATTACHED\t\t23"
- << "39\t\t42\tFETCH_QLIST\t\t32"
- << "40\t\t43\tFETCH\t\t\t33"
- << "41\t\t44\tFETCH_VALUE\t\t34\t6\t7"
- << "42\t\t45\tPOP"
- << "43\t\t46\tPOP_QLIST"
- << "44\t\t47\tPOP_VALUE\t\t35\t8"
- << "45\t\t48\tDEFER\t\t\t7"
- << "46\t\tNA\tDEFER\t\t\t7"
- << "47\t\t48\tSTORE_IMPORTED_SCRIPT\t2"
- << "48\t\t50\tXXX UNKNOWN INSTRUCTION\t1234"
- << "49\t\t51\tSTORE_VARIANT_INTEGER\t\t32\t11"
- << "50\t\t52\tSTORE_VARIANT_DOUBLE\t\t19\t33.7"
+ << "0\t\tINIT\t\t\t0\t3\t-1\t-1"
+ << "1\t\tCREATE\t\t\t0\t-1\t\t\"Test\""
+ << "2\t\tSETID\t\t\t0\t\t\t\"testId\""
+ << "3\t\tSET_DEFAULT"
+ << "4\t\tCREATE_COMPONENT\t3"
+ << "5\t\tSTORE_META\t\t3"
+ << "6\t\tSTORE_FLOAT\t\t3\t11.3"
+ << "7\t\tSTORE_DOUBLE\t\t4\t14.8"
+ << "8\t\tSTORE_INTEGER\t\t5\t9"
+ << "9\t\tSTORE_BOOL\t\t6\ttrue"
+ << "10\t\tSTORE_STRING\t\t7\t1\t\t\"Test String\""
+ << "11\t\tSTORE_URL\t\t8\t0\t\tQUrl(\"http://www.nokia.com\") "
+ << "12\t\tSTORE_COLOR\t\t9\t\t\t\"ff00ff00\""
+ << "13\t\tSTORE_DATE\t\t10\t9"
+ << "14\t\tSTORE_TIME\t\t11"
+ << "15\t\tSTORE_DATETIME\t\t12"
+ << "16\t\tSTORE_POINT\t\t13\t3\t7"
+ << "17\t\tSTORE_POINTF\t\t13\t3\t7"
+ << "18\t\tSTORE_SIZE\t\t15\t8\t11"
+ << "19\t\tSTORE_SIZEF\t\t15\t8\t11"
+ << "20\t\tSTORE_RECT\t\t17\t7\t9\t11\t13"
+ << "21\t\tSTORE_RECTF\t\t18\t11.3\t9.8\t3\t2.1"
+ << "22\t\tSTORE_VECTOR3D\t\t19\t9\t3\t92"
+ << "23\t\tSTORE_VARIANT\t\t20\t2\t\t\"color(1, 1, 1, 1)\""
+ << "24\t\tSTORE_OBJECT\t\t21"
+ << "25\t\tSTORE_VARIANT_OBJECT\t22"
+ << "26\t\tSTORE_INTERFACE\t\t23"
+ << "27\t\tSTORE_SIGNAL\t\t2\t3\t\t\"console.log(1921)\""
+ << "28\t\tSTORE_SCRIPT_STRING\t24\t3\t1"
+ << "29\t\tASSIGN_SIGNAL_OBJECT\t0\t\t\t\"mySignal\""
+ << "30\t\tASSIGN_CUSTOMTYPE\t25\t6\t9"
+ << "31\t\tSTORE_BINDING\t26\t3\t2"
+ << "32\t\tSTORE_COMPILED_BINDING\t27\t2\t4"
+ << "33\t\tSTORE_VALUE_SOURCE\t29\t4"
+ << "34\t\tSTORE_VALUE_INTERCEPTOR\t30\t-4"
+ << "35\t\tBEGIN\t\t\t4"
+ << "36\t\tSTORE_OBJECT_QLIST"
+ << "37\t\tASSIGN_OBJECT_LIST"
+ << "38\t\tFETCH_ATTACHED\t\t23"
+ << "39\t\tFETCH_QLIST\t\t32"
+ << "40\t\tFETCH\t\t\t33"
+ << "41\t\tFETCH_VALUE\t\t34\t6\t7"
+ << "42\t\tPOP"
+ << "43\t\tPOP_QLIST"
+ << "44\t\tPOP_VALUE\t\t35\t8"
+ << "45\t\tDEFER\t\t\t7"
+ << "46\t\tDEFER\t\t\t7"
+ << "47\t\tSTORE_IMPORTED_SCRIPT\t2"
+ << "48\t\tSTORE_VARIANT_INTEGER\t\t32\t11"
+ << "49\t\tSTORE_VARIANT_DOUBLE\t\t19\t33.7"
+ << "50\t\tDONE"
<< "-------------------------------------------------------------------------------";
messages = QStringList();
@@ -604,6 +573,120 @@ void tst_qdeclarativeinstruction::dump()
data->release();
}
+void tst_qdeclarativeinstruction::point()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storePoint::QPoint), sizeof(QPoint));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storePoint::QPoint), Q_ALIGNOF(QPoint));
+
+ QDeclarativeInstruction i;
+ i.storePoint.point.xp = 8;
+ i.storePoint.point.yp = 11;
+
+ const QPoint &point = (const QPoint &)(i.storePoint.point);
+ QCOMPARE(point.x(), 8);
+ QCOMPARE(point.y(), 11);
+}
+
+void tst_qdeclarativeinstruction::pointf()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storePointF::QPointF), sizeof(QPointF));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storePointF::QPointF), Q_ALIGNOF(QPointF));
+
+ QDeclarativeInstruction i;
+ i.storePointF.point.xp = 8.7;
+ i.storePointF.point.yp = 11.3;
+
+ const QPointF &point = (const QPointF &)(i.storePointF.point);
+ QCOMPARE(point.x(), 8.7);
+ QCOMPARE(point.y(), 11.3);
+}
+
+void tst_qdeclarativeinstruction::size()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeSize::QSize), sizeof(QSize));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeSize::QSize), Q_ALIGNOF(QSize));
+
+ QDeclarativeInstruction i;
+ i.storeSize.size.wd = 8;
+ i.storeSize.size.ht = 11;
+
+ const QSize &size = (const QSize &)(i.storeSize.size);
+ QCOMPARE(size.width(), 8);
+ QCOMPARE(size.height(), 11);
+}
+
+void tst_qdeclarativeinstruction::sizef()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeSizeF::QSizeF), sizeof(QSizeF));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeSizeF::QSizeF), Q_ALIGNOF(QSizeF));
+
+ QDeclarativeInstruction i;
+ i.storeSizeF.size.wd = 8;
+ i.storeSizeF.size.ht = 11;
+
+ const QSizeF &size = (const QSizeF &)(i.storeSizeF.size);
+ QCOMPARE(size.width(), (qreal)8);
+ QCOMPARE(size.height(), (qreal)11);
+}
+
+void tst_qdeclarativeinstruction::rect()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeRect::QRect), sizeof(QRect));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeRect::QRect), Q_ALIGNOF(QRect));
+
+ QDeclarativeInstruction i;
+ i.storeRect.rect.x1 = 8;
+ i.storeRect.rect.y1 = 11;
+ i.storeRect.rect.x2 = 13;
+ i.storeRect.rect.y2 = 19;
+
+ const QRect &rect = (const QRect &)(i.storeRect.rect);
+ QCOMPARE(rect.left(), 8);
+ QCOMPARE(rect.top(), 11);
+ QCOMPARE(rect.right(), 13);
+ QCOMPARE(rect.bottom(), 19);
+}
+
+void tst_qdeclarativeinstruction::rectf()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeRectF::QRectF), sizeof(QRectF));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeRectF::QRectF), Q_ALIGNOF(QRectF));
+
+ QDeclarativeInstruction i;
+ i.storeRectF.rect.xp = 8;
+ i.storeRectF.rect.yp = 11;
+ i.storeRectF.rect.w = 13;
+ i.storeRectF.rect.h = 19;
+
+ const QRectF &rect = (const QRectF &)(i.storeRectF.rect);
+ QCOMPARE(rect.left(), (qreal)8);
+ QCOMPARE(rect.top(), (qreal)11);
+ QCOMPARE(rect.width(), (qreal)13);
+ QCOMPARE(rect.height(), (qreal)19);
+}
+
+void tst_qdeclarativeinstruction::vector3d()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeVector3D::QVector3D), sizeof(QVector3D));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeVector3D::QVector3D), Q_ALIGNOF(QVector3D));
+
+ QDeclarativeInstruction i;
+ i.storeVector3D.vector.xp = 8.2;
+ i.storeVector3D.vector.yp = 99.3;
+ i.storeVector3D.vector.zp = 12.0;
+
+ const QVector3D &vector = (const QVector3D &)(i.storeVector3D.vector);
+ QCOMPARE(vector.x(), (qreal)(float)8.2);
+ QCOMPARE(vector.y(), (qreal)(float)99.3);
+ QCOMPARE(vector.z(), (qreal)(float)12.0);
+}
+
+void tst_qdeclarativeinstruction::time()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeTime::QTime), sizeof(QTime));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeTime::QTime), Q_ALIGNOF(QTime));
+}
+
QTEST_MAIN(tst_qdeclarativeinstruction)
#include "tst_qdeclarativeinstruction.moc"