aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-01-17 09:49:52 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-01 08:37:49 +0100
commite77ea6f2fa8e98cb4a03144664a31b6070635a63 (patch)
tree9d95dc1efba9bbc62ddb193ba2da04a9144ba033 /tests/auto
parentbe784e3b15068c0677115ca9500531212584cc7d (diff)
Remove QJSEngine::newVariant() function
Rationale: This is a remnant from QtScript. There is no reason one should be able to explicitly wrap an arbitrary C++ type in a QVariant. toScriptValue() will automatically wrap the type in a QVariant if it's a type that's not specifically handled by the meta-type system, or if it can't usefully/losslessly be converted to a native JavaScript type. Task-number: QTBUG-23604 Change-Id: I5790cd92b9ffd5fcfbee1cd73a8eaa16fc74846f Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/declarative/qjsengine/tst_qjsengine.cpp30
-rw-r--r--tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp159
2 files changed, 25 insertions, 164 deletions
diff --git a/tests/auto/declarative/qjsengine/tst_qjsengine.cpp b/tests/auto/declarative/qjsengine/tst_qjsengine.cpp
index 7aadabb192..2d49619a8c 100644
--- a/tests/auto/declarative/qjsengine/tst_qjsengine.cpp
+++ b/tests/auto/declarative/qjsengine/tst_qjsengine.cpp
@@ -654,7 +654,7 @@ void tst_QJSEngine::newVariant()
{
QJSEngine eng;
{
- QJSValue opaque = eng.newVariant(QVariant());
+ QJSValue opaque = eng.toScriptValue(QVariant(QPoint(1, 2)));
QCOMPARE(opaque.isValid(), true);
QCOMPARE(opaque.isVariant(), true);
QVERIFY(!opaque.isCallable());
@@ -662,7 +662,7 @@ void tst_QJSEngine::newVariant()
QCOMPARE(opaque.prototype().isValid(), true);
QEXPECT_FAIL("", "FIXME: newly created QObject's prototype is an JS Object", Continue);
QCOMPARE(opaque.prototype().isVariant(), true);
- QVERIFY(opaque.property("valueOf").callWithInstance(opaque).isUndefined());
+ QVERIFY(opaque.property("valueOf").callWithInstance(opaque).equals(opaque));
}
}
@@ -732,31 +732,7 @@ void tst_QJSEngine::newVariant_valueOfToString()
// valueOf() and toString()
QJSEngine eng;
{
- QJSValue object = eng.newVariant(QVariant(123));
- QJSValue value = object.property("valueOf").callWithInstance(object);
- QVERIFY(value.isNumber());
- QCOMPARE(value.toInt(), 123);
- QCOMPARE(object.toString(), QString::fromLatin1("123"));
- QCOMPARE(object.toVariant().toString(), object.toString());
- }
- {
- QJSValue object = eng.newVariant(QVariant(QString::fromLatin1("hello")));
- QJSValue value = object.property("valueOf").callWithInstance(object);
- QVERIFY(value.isString());
- QCOMPARE(value.toString(), QString::fromLatin1("hello"));
- QCOMPARE(object.toString(), QString::fromLatin1("hello"));
- QCOMPARE(object.toVariant().toString(), object.toString());
- }
- {
- QJSValue object = eng.newVariant(QVariant(false));
- QJSValue value = object.property("valueOf").callWithInstance(object);
- QVERIFY(value.isBool());
- QCOMPARE(value.toBool(), false);
- QCOMPARE(object.toString(), QString::fromLatin1("false"));
- QCOMPARE(object.toVariant().toString(), object.toString());
- }
- {
- QJSValue object = eng.newVariant(QVariant(QPoint(10, 20)));
+ QJSValue object = eng.toScriptValue(QVariant(QPoint(10, 20)));
QJSValue value = object.property("valueOf").callWithInstance(object);
QVERIFY(value.isObject());
QVERIFY(value.strictlyEquals(object));
diff --git a/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp b/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp
index 1c03fc1509..d034b76c03 100644
--- a/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp
+++ b/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp
@@ -442,16 +442,11 @@ void tst_QJSValue::toString()
// variant should use internal valueOf(), then fall back to QVariant::toString(),
// then fall back to "QVariant(typename)"
- QJSValue variant = eng.newVariant(123);
- QVERIFY(variant.isVariant());
- QCOMPARE(variant.toString(), QString::fromLatin1("123"));
- variant = eng.newVariant(QByteArray("hello"));
- QVERIFY(variant.isVariant());
- QCOMPARE(variant.toString(), QString::fromLatin1("hello"));
- variant = eng.newVariant(QVariant(QPoint(10, 20)));
+ QJSValue variant = eng.toScriptValue(QPoint(10, 20));
QVERIFY(variant.isVariant());
QCOMPARE(variant.toString(), QString::fromLatin1("QVariant(QPoint)"));
- variant = eng.newVariant(QUrl());
+ variant = eng.toScriptValue(QUrl());
+ QVERIFY(variant.isVariant());
QVERIFY(variant.toString().isEmpty());
}
@@ -1037,11 +1032,6 @@ void tst_QJSValue::toVariant()
QCOMPARE(qjsvalue_cast<QVariant>(str), QVariant(QString("ciao")));
}
- QVariant var(QChar(0x007A));
- QJSValue opaque = eng.newVariant(var);
- QVERIFY(opaque.isVariant());
- QCOMPARE(opaque.toVariant(), var);
-
QJSValue object = eng.newObject();
QCOMPARE(object.toVariant(), QVariant(QVariantMap()));
@@ -1136,8 +1126,8 @@ void tst_QJSValue::toQObject_nonQObject_data()
QTest::newRow("object") << engine->newObject();
QTest::newRow("array") << engine->newArray();
QTest::newRow("date") << engine->evaluate("new Date(124)");
- QTest::newRow("variant(12345)") << engine->newVariant(12345);
- QTest::newRow("variant((QObject*)0)") << engine->newVariant(qVariantFromValue((QObject*)0));
+ QTest::newRow("variant(12345)") << engine->toScriptValue(QVariant(12345));
+ QTest::newRow("variant((QObject*)0)") << engine->toScriptValue(qVariantFromValue((QObject*)0));
QTest::newRow("newQObject(0)") << engine->newQObject(0);
}
@@ -1173,25 +1163,6 @@ void tst_QJSValue::toQObject()
QCOMPARE(qjsvalue_cast<QObject*>(qbutton), (QObject *)&button);
QCOMPARE(qjsvalue_cast<QWidget*>(qbutton), (QWidget *)&button);
QCOMPARE(qjsvalue_cast<QPushButton*>(qbutton), &button);
-
- // wrapping a QObject* as variant
- QJSValue variant = eng.newVariant(qVariantFromValue((QObject*)&button));
- QCOMPARE(variant.toQObject(), (QObject*)&button);
- QCOMPARE(qjsvalue_cast<QObject*>(variant), (QObject*)&button);
- QCOMPARE(qjsvalue_cast<QWidget*>(variant), (QWidget*)&button);
- QCOMPARE(qjsvalue_cast<QPushButton*>(variant), &button);
-
- QJSValue variant2 = eng.newVariant(qVariantFromValue((QWidget*)&button));
- QCOMPARE(variant2.toQObject(), (QObject*)&button);
- QCOMPARE(qjsvalue_cast<QObject*>(variant2), (QObject*)&button);
- QCOMPARE(qjsvalue_cast<QWidget*>(variant2), (QWidget*)&button);
- QCOMPARE(qjsvalue_cast<QPushButton*>(variant2), &button);
-
- QJSValue variant3 = eng.newVariant(qVariantFromValue(&button));
- QCOMPARE(variant3.toQObject(), (QObject*)0);
- QCOMPARE(qjsvalue_cast<QObject*>(variant3), (QObject*)0);
- QCOMPARE(qjsvalue_cast<QWidget*>(variant3), (QWidget*)0);
- QCOMPARE(qjsvalue_cast<QPushButton*>(variant3), &button);
}
void tst_QJSValue::toDateTime()
@@ -2371,7 +2342,7 @@ void tst_QJSValue::getSetScriptClass_QVariant()
TestScriptClass testClass(&eng);
// object that already has a(n internal) class
{
- QJSValue obj = eng.newVariant(QUrl("http://example.com"));
+ QJSValue obj = eng.toScriptValue(QUrl("http://example.com"));
QVERIFY(obj.isVariant());
QCOMPARE(obj.scriptClass(), (QScriptClass*)0);
obj.setScriptClass(&testClass);
@@ -3162,79 +3133,16 @@ void tst_QJSValue::equals()
}
{
- QJSValue var1 = eng.newVariant(QVariant(false));
- QJSValue var2 = eng.newVariant(QVariant(false));
- QEXPECT_FAIL("", "FIXME: QVariant comparison does not work with v8", Continue);
- QVERIFY(var1.equals(var2));
- {
- QJSValue ret = compareFun.call(QJSValue(), QJSValueList() << var1 << var2);
- QVERIFY(ret.isBool());
- }
- }
- {
- QJSValue var1 = eng.newVariant(QVariant(false));
- QJSValue var2 = eng.newVariant(QVariant(0));
- // QVariant::operator==() performs type conversion
- QEXPECT_FAIL("", "FIXME: QVariant comparison does not work with v8", Continue);
- QVERIFY(var1.equals(var2));
- }
- {
- QJSValue var1 = eng.newVariant(QVariant(QStringList() << "a"));
- QJSValue var2 = eng.newVariant(QVariant(QStringList() << "a"));
- QEXPECT_FAIL("", "FIXME: QVariant comparison does not work with v8", Continue);
- QVERIFY(var1.equals(var2));
- }
- {
- QJSValue var1 = eng.newVariant(QVariant(QStringList() << "a"));
- QJSValue var2 = eng.newVariant(QVariant(QStringList() << "b"));
- QVERIFY(!var1.equals(var2));
- }
- {
- QJSValue var1 = eng.newVariant(QVariant(QPoint(1, 2)));
- QJSValue var2 = eng.newVariant(QVariant(QPoint(1, 2)));
+ QJSValue var1 = eng.toScriptValue(QVariant(QPoint(1, 2)));
+ QJSValue var2 = eng.toScriptValue(QVariant(QPoint(1, 2)));
QEXPECT_FAIL("", "FIXME: QVariant comparison does not work with v8", Continue);
QVERIFY(var1.equals(var2));
}
{
- QJSValue var1 = eng.newVariant(QVariant(QPoint(1, 2)));
- QJSValue var2 = eng.newVariant(QVariant(QPoint(3, 4)));
+ QJSValue var1 = eng.toScriptValue(QVariant(QPoint(1, 2)));
+ QJSValue var2 = eng.toScriptValue(QVariant(QPoint(3, 4)));
QVERIFY(!var1.equals(var2));
}
- {
- QJSValue var1 = eng.newVariant(QVariant(int(1)));
- QJSValue var2 = eng.newVariant(QVariant(double(1)));
- // QVariant::operator==() performs type conversion
- QEXPECT_FAIL("", "FIXME: QVariant comparison does not work with v8", Continue);
- QVERIFY(var1.equals(var2));
- }
- {
- QJSValue var1 = eng.newVariant(QVariant(QString::fromLatin1("123")));
- QJSValue var2 = eng.newVariant(QVariant(double(123)));
- QJSValue var3(QString::fromLatin1("123"));
- QJSValue var4(123);
-
- QVERIFY(var1.equals(var1));
- QEXPECT_FAIL("", "FIXME: QVariant comparison does not work with v8", Continue);
- QVERIFY(var1.equals(var2));
- QVERIFY(var1.equals(var3));
- QVERIFY(var1.equals(var4));
-
- QEXPECT_FAIL("", "FIXME: QVariant comparison does not work with v8", Continue);
- QVERIFY(var2.equals(var1));
- QVERIFY(var2.equals(var2));
- QVERIFY(var2.equals(var3));
- QVERIFY(var2.equals(var4));
-
- QVERIFY(var3.equals(var1));
- QVERIFY(var3.equals(var2));
- QVERIFY(var3.equals(var3));
- QVERIFY(var3.equals(var4));
-
- QVERIFY(var4.equals(var1));
- QVERIFY(var4.equals(var2));
- QVERIFY(var4.equals(var3));
- QVERIFY(var4.equals(var4));
- }
QJSEngine otherEngine;
QTest::ignoreMessage(QtWarningMsg, "QJSValue::equals: "
@@ -3356,34 +3264,25 @@ void tst_QJSValue::strictlyEquals()
QVERIFY(qobj1.strictlyEquals(qobj2));
{
- QJSValue var1 = eng.newVariant(QVariant(false));
- QJSValue var2 = eng.newVariant(QVariant(false));
- QVERIFY(!var1.strictlyEquals(var2));
- QVERIFY(!var1.strictlyEquals(QJSValue()));
- }
- {
- QJSValue var1 = eng.newVariant(QVariant(false));
- QJSValue var2 = eng.newVariant(QVariant(0));
+ QJSValue var1 = eng.toScriptValue(QVariant(QStringList() << "a"));
+ QJSValue var2 = eng.toScriptValue(QVariant(QStringList() << "a"));
+ QVERIFY(var1.isArray());
+ QVERIFY(var2.isArray());
QVERIFY(!var1.strictlyEquals(var2));
}
{
- QJSValue var1 = eng.newVariant(QVariant(QStringList() << "a"));
- QJSValue var2 = eng.newVariant(QVariant(QStringList() << "a"));
+ QJSValue var1 = eng.toScriptValue(QVariant(QStringList() << "a"));
+ QJSValue var2 = eng.toScriptValue(QVariant(QStringList() << "b"));
QVERIFY(!var1.strictlyEquals(var2));
}
{
- QJSValue var1 = eng.newVariant(QVariant(QStringList() << "a"));
- QJSValue var2 = eng.newVariant(QVariant(QStringList() << "b"));
+ QJSValue var1 = eng.toScriptValue(QVariant(QPoint(1, 2)));
+ QJSValue var2 = eng.toScriptValue(QVariant(QPoint(1, 2)));
QVERIFY(!var1.strictlyEquals(var2));
}
{
- QJSValue var1 = eng.newVariant(QVariant(QPoint(1, 2)));
- QJSValue var2 = eng.newVariant(QVariant(QPoint(1, 2)));
- QVERIFY(!var1.strictlyEquals(var2));
- }
- {
- QJSValue var1 = eng.newVariant(QVariant(QPoint(1, 2)));
- QJSValue var2 = eng.newVariant(QVariant(QPoint(3, 4)));
+ QJSValue var1 = eng.toScriptValue(QVariant(QPoint(1, 2)));
+ QJSValue var2 = eng.toScriptValue(QVariant(QPoint(3, 4)));
QVERIFY(!var1.strictlyEquals(var2));
}
@@ -3403,22 +3302,8 @@ void tst_QJSValue::castToPointer()
{
QJSEngine eng;
{
- QJSValue v = eng.newVariant(int(123));
- int *ip = qjsvalue_cast<int*>(v);
- QVERIFY(ip != 0);
- QCOMPARE(*ip, 123);
- *ip = 456;
- QCOMPARE(qjsvalue_cast<int>(v), 456);
-
- double *dp = qjsvalue_cast<double*>(v);
- QVERIFY(dp == 0);
-
- QJSValue v2 = eng.newVariant(qVariantFromValue(ip));
- QCOMPARE(qjsvalue_cast<int*>(v2), ip);
- }
- {
QColor c(123, 210, 231);
- QJSValue v = eng.newVariant(c);
+ QJSValue v = eng.toScriptValue(c);
QColor *cp = qjsvalue_cast<QColor*>(v);
QVERIFY(cp != 0);
QCOMPARE(*cp, c);
@@ -3426,7 +3311,7 @@ void tst_QJSValue::castToPointer()
QBrush *bp = qjsvalue_cast<QBrush*>(v);
QVERIFY(bp == 0);
- QJSValue v2 = eng.newVariant(qVariantFromValue(cp));
+ QJSValue v2 = eng.toScriptValue(qVariantFromValue(cp));
QCOMPARE(qjsvalue_cast<QColor*>(v2), cp);
}
}