From 1edcf64d282b9368d4609b91453cbc6e3f6a84c5 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 16 Jan 2012 13:29:38 +0100 Subject: [PATCH] Remove QJSEngine::toObject() and QJSValue::toObject() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Rationale: There is no compelling usecase for these functions. They are a remnant from QtScript. Task-number: QTBUG-23604 Change-Id: I6d8b4299956dd8f6284934739c4f1a65e4deb64c Reviewed-by: Simon Hausmann Reviewed-by: Jędrzej Nowacki --- src/declarative/qml/v8/qjsengine.cpp | 27 --- src/declarative/qml/v8/qjsengine.h | 2 - src/declarative/qml/v8/qjsvalue.cpp | 14 +- src/declarative/qml/v8/qjsvalue.h | 1 - src/declarative/qml/v8/qjsvalue_impl_p.h | 45 ----- src/declarative/qml/v8/qjsvalue_p.h | 2 - tests/auto/declarative/qjsengine/tst_qjsengine.cpp | 83 +--------- tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp | 182 +++++---------------- tests/auto/declarative/qjsvalue/tst_qjsvalue.h | 2 - .../qjsvalueiterator/tst_qjsvalueiterator.cpp | 4 +- 10 files changed, 40 insertions(+), 322 deletions(-) diff --git a/src/declarative/qml/v8/qjsengine.cpp b/src/declarative/qml/v8/qjsengine.cpp index 0e8d0c1..a4a7f58 100644 --- a/src/declarative/qml/v8/qjsengine.cpp +++ b/src/declarative/qml/v8/qjsengine.cpp @@ -450,33 +450,6 @@ QJSValue QJSEngine::globalObject() const /*! \obsolete - Converts the given \a value to an object, if such a conversion is - possible; otherwise returns an invalid QJSValue. The conversion - is performed according to the following table: - - \table - \header \o Input Type \o Result - \row \o Undefined \o An invalid QJSValue. - \row \o Null \o An invalid QJSValue. - \row \o Boolean \o A new Boolean object whose internal value is set to the value of the boolean. - \row \o Number \o A new Number object whose internal value is set to the value of the number. - \row \o String \o A new String object whose internal value is set to the value of the string. - \row \o Object \o The result is the object itself (no conversion). - \endtable - - \sa newObject() -*/ -QJSValue QJSEngine::toObject(const QJSValue& value) -{ - Q_D(QJSEngine); - QScriptIsolate api(d, QScriptIsolate::NotNullEngine); - v8::HandleScope handleScope; - return QJSValuePrivate::get(QJSValuePrivate::get(value)->toObject(d)); -} - -/*! - \obsolete - Creates a JavaScript object of class Date from the given \a value. \sa QJSValue::toDateTime() diff --git a/src/declarative/qml/v8/qjsengine.h b/src/declarative/qml/v8/qjsengine.h index ff1aab8..40f853f 100644 --- a/src/declarative/qml/v8/qjsengine.h +++ b/src/declarative/qml/v8/qjsengine.h @@ -101,8 +101,6 @@ public: QT_DEPRECATED QJSValue newRegExp(const QString &pattern, const QString &flags); QT_DEPRECATED QJSValue newDate(double value); QT_DEPRECATED QJSValue newDate(const QDateTime &value); - - QT_DEPRECATED QJSValue toObject(const QJSValue &value); #endif Q_SIGNALS: diff --git a/src/declarative/qml/v8/qjsvalue.cpp b/src/declarative/qml/v8/qjsvalue.cpp index a31fa5f..f470973 100644 --- a/src/declarative/qml/v8/qjsvalue.cpp +++ b/src/declarative/qml/v8/qjsvalue.cpp @@ -461,7 +461,7 @@ bool QJSValue::isArray() const Note that function values, variant values, and QObject values are objects, so this function returns true for such values. - \sa toObject(), QJSEngine::newObject() + \sa QJSEngine::newObject() */ bool QJSValue::isObject() const { @@ -677,18 +677,6 @@ quint16 QJSValue::toUInt16() const return d->toUInt16(); } -/*! - \obsolete - - This function is obsolete; use QJSEngine::toObject() instead. -*/ -QJSValue QJSValue::toObject() const -{ - Q_D(const QJSValue); - QScriptIsolate api(d->engine()); - return QJSValuePrivate::get(d->toObject()); -} - #endif // QT_DEPRECATED /*! diff --git a/src/declarative/qml/v8/qjsvalue.h b/src/declarative/qml/v8/qjsvalue.h index d81688c..4e4cfe0 100644 --- a/src/declarative/qml/v8/qjsvalue.h +++ b/src/declarative/qml/v8/qjsvalue.h @@ -144,7 +144,6 @@ public: QT_DEPRECATED qint32 toInt32() const; QT_DEPRECATED quint32 toUInt32() const; QT_DEPRECATED quint16 toUInt16() const; - QT_DEPRECATED QJSValue toObject() const; QT_DEPRECATED QRegExp toRegExp() const; QT_DEPRECATED bool instanceOf(const QJSValue &other) const; diff --git a/src/declarative/qml/v8/qjsvalue_impl_p.h b/src/declarative/qml/v8/qjsvalue_impl_p.h index 28b928d..f039753 100644 --- a/src/declarative/qml/v8/qjsvalue_impl_p.h +++ b/src/declarative/qml/v8/qjsvalue_impl_p.h @@ -256,51 +256,6 @@ double QJSValuePrivate::toNumber() const return 0; // Avoid compiler warning. } -QScriptPassPointer QJSValuePrivate::toObject(QV8Engine* engine) const -{ - Q_ASSERT(engine); - if (this->engine() && engine != this->engine()) { - qWarning("QJSEngine::toObject: cannot convert value created in a different engine"); - return InvalidValue(); - } - - v8::HandleScope scope; - switch (m_state) { - case Invalid: - case CNull: - case CUndefined: - return new QJSValuePrivate; - case CString: - return new QJSValuePrivate(engine, engine->makeJSValue(*u.m_string)->ToObject()); - case CNumber: - return new QJSValuePrivate(engine, engine->makeJSValue(u.m_number)->ToObject()); - case CBool: - return new QJSValuePrivate(engine, engine->makeJSValue(u.m_bool)->ToObject()); - case JSValue: - if (m_value->IsObject()) - return const_cast(this); - if (m_value->IsNull() || m_value->IsUndefined()) // avoid "Uncaught TypeError: Cannot convert null to object" - return InvalidValue(); - return new QJSValuePrivate(engine, m_value->ToObject()); - default: - Q_ASSERT_X(false, Q_FUNC_INFO, "Not all states are included in this switch"); - return InvalidValue(); - } -} - -/*! - This method is created only for QJSValue::toObject() purpose which is obsolete. - \internal - */ -QScriptPassPointer QJSValuePrivate::toObject() const -{ - if (isJSBased()) - return toObject(engine()); - - // Without an engine there is not much we can do. - return new QJSValuePrivate; -} - QString QJSValuePrivate::toString() const { switch (m_state) { diff --git a/src/declarative/qml/v8/qjsvalue_p.h b/src/declarative/qml/v8/qjsvalue_p.h index 356e191..ae79409 100644 --- a/src/declarative/qml/v8/qjsvalue_p.h +++ b/src/declarative/qml/v8/qjsvalue_p.h @@ -84,8 +84,6 @@ public: inline bool toBool() const; inline double toNumber() const; - inline QScriptPassPointer toObject() const; - inline QScriptPassPointer toObject(QV8Engine *engine) const; inline QString toString() const; inline double toInteger() const; inline qint32 toInt32() const; diff --git a/tests/auto/declarative/qjsengine/tst_qjsengine.cpp b/tests/auto/declarative/qjsengine/tst_qjsengine.cpp index 092b997..c13f86f 100644 --- a/tests/auto/declarative/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/declarative/qjsengine/tst_qjsengine.cpp @@ -235,7 +235,6 @@ private slots: #endif void jsContinueInSwitch(); void jsShadowReadOnlyPrototypeProperty(); - void toObject(); void jsReservedWords_data(); void jsReservedWords(); void jsFutureReservedWords_data(); @@ -4366,7 +4365,7 @@ void tst_QJSEngine::stringObjects() QString str("ciao"); // in C++ { - QJSValue obj = QJSValue(&eng, str).toObject(); + QJSValue obj = eng.evaluate(QString::fromLatin1("new String('%0')").arg(str)); QCOMPARE(obj.property("length").toInt(), str.length()); QCOMPARE(obj.propertyFlags("length"), QJSValue::PropertyFlags(QJSValue::Undeletable | QJSValue::SkipInEnumeration | QJSValue::ReadOnly)); for (int i = 0; i < str.length(); ++i) { @@ -4390,7 +4389,6 @@ void tst_QJSEngine::stringObjects() QVERIFY(obj.property("100").strictlyEquals(val)); } - // in script { QJSValue ret = eng.evaluate("s = new String('ciao'); r = []; for (var p in s) r.push(p); r"); QVERIFY(ret.isArray()); @@ -4677,85 +4675,6 @@ void tst_QJSEngine::jsShadowReadOnlyPrototypeProperty() QVERIFY(eng.evaluate("o.hasOwnProperty('length')").toBool()); } -void tst_QJSEngine::toObject() -{ - QJSEngine eng; - - QVERIFY(!eng.toObject(eng.undefinedValue()).isValid()); - - QVERIFY(!eng.toObject(eng.nullValue()).isValid()); - - QJSValue falskt(false); - { - QJSValue tmp = eng.toObject(falskt); - QVERIFY(tmp.isObject()); - QCOMPARE(tmp.toNumber(), falskt.toNumber()); - } - QVERIFY(falskt.isBool()); - - QJSValue sant(true); - { - QJSValue tmp = eng.toObject(sant); - QVERIFY(tmp.isObject()); - QCOMPARE(tmp.toNumber(), sant.toNumber()); - } - QVERIFY(sant.isBool()); - - QJSValue number(123.0); - { - QJSValue tmp = eng.toObject(number); - QVERIFY(tmp.isObject()); - QCOMPARE(tmp.toNumber(), number.toNumber()); - } - QVERIFY(number.isNumber()); - - QJSValue str = QJSValue(&eng, QString("ciao")); - { - QJSValue tmp = eng.toObject(str); - QVERIFY(tmp.isObject()); - QCOMPARE(tmp.toString(), str.toString()); - } - QVERIFY(str.isString()); - - QJSValue object = eng.newObject(); - { - QJSValue tmp = eng.toObject(object); - QVERIFY(tmp.isObject()); - QVERIFY(tmp.strictlyEquals(object)); - } - - QJSValue qobject = eng.newQObject(this); - QVERIFY(eng.toObject(qobject).strictlyEquals(qobject)); - - QVERIFY(!eng.toObject(QJSValue()).isValid()); - - // v1 constructors - - QJSValue boolValue(&eng, true); - { - QJSValue ret = eng.toObject(boolValue); - QVERIFY(ret.isObject()); - QCOMPARE(ret.toBool(), boolValue.toBool()); - } - QVERIFY(boolValue.isBool()); - - QJSValue numberValue(&eng, 123.0); - { - QJSValue ret = eng.toObject(numberValue); - QVERIFY(ret.isObject()); - QCOMPARE(ret.toNumber(), numberValue.toNumber()); - } - QVERIFY(numberValue.isNumber()); - - QJSValue stringValue(&eng, QString::fromLatin1("foo")); - { - QJSValue ret = eng.toObject(stringValue); - QVERIFY(ret.isObject()); - QCOMPARE(ret.toString(), stringValue.toString()); - } - QVERIFY(stringValue.isString()); -} - void tst_QJSEngine::jsReservedWords_data() { QTest::addColumn("word"); diff --git a/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp b/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp index 8c048d4..c02e446 100644 --- a/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp +++ b/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp @@ -1437,114 +1437,6 @@ void tst_QJSValue::toQObject() QCOMPARE(qjsvalue_cast(variant3), &button); } -void tst_QJSValue::toObject() -{ - QJSEngine eng; - - QJSValue undefined = eng.undefinedValue(); - QCOMPARE(undefined.toObject().isValid(), false); - QVERIFY(undefined.isUndefined()); - - QJSValue null = eng.nullValue(); - QCOMPARE(null.toObject().isValid(), false); - QVERIFY(null.isNull()); - - { - QJSValue falskt = QJSValue(&eng, false); - { - QJSValue tmp = falskt.toObject(); - QCOMPARE(tmp.isObject(), true); - QCOMPARE(tmp.toNumber(), falskt.toNumber()); - } - QVERIFY(falskt.isBool()); - - QJSValue sant = QJSValue(&eng, true); - { - QJSValue tmp = sant.toObject(); - QCOMPARE(tmp.isObject(), true); - QCOMPARE(tmp.toNumber(), sant.toNumber()); - } - QVERIFY(sant.isBool()); - - QJSValue number = QJSValue(&eng, 123.0); - { - QJSValue tmp = number.toObject(); - QCOMPARE(tmp.isObject(), true); - QCOMPARE(tmp.toNumber(), number.toNumber()); - } - QVERIFY(number.isNumber()); - - QJSValue str = QJSValue(&eng, QString("ciao")); - { - QJSValue tmp = str.toObject(); - QCOMPARE(tmp.isObject(), true); - QCOMPARE(tmp.toString(), str.toString()); - } - QVERIFY(str.isString()); - } - - QJSValue object = eng.newObject(); - { - QJSValue tmp = object.toObject(); - QCOMPARE(tmp.isObject(), true); - } - - QJSValue qobject = eng.newQObject(this); - QCOMPARE(qobject.toObject().isValid(), true); - - QJSValue inv; - QCOMPARE(inv.toObject().isValid(), false); - - // V2 constructors: in this case, you have to use QScriptEngine::toObject() - { - QJSValue undefined = QJSValue(QJSValue::UndefinedValue); - QVERIFY(!undefined.toObject().isValid()); - QVERIFY(!eng.toObject(undefined).isValid()); - QVERIFY(undefined.isUndefined()); - - QJSValue null = QJSValue(QJSValue::NullValue); - QVERIFY(!null.toObject().isValid()); - QVERIFY(!eng.toObject(null).isValid()); - QVERIFY(null.isNull()); - - QJSValue falskt = QJSValue(false); - QVERIFY(!falskt.toObject().isValid()); - { - QJSValue tmp = eng.toObject(falskt); - QVERIFY(tmp.isObject()); - QVERIFY(tmp.toBool()); - } - QVERIFY(falskt.isBool()); - - QJSValue sant = QJSValue(true); - QVERIFY(!sant.toObject().isValid()); - { - QJSValue tmp = eng.toObject(sant); - QVERIFY(tmp.isObject()); - QVERIFY(tmp.toBool()); - } - QVERIFY(sant.isBool()); - - QJSValue number = QJSValue(123.0); - QVERIFY(!number.toObject().isValid()); - { - QJSValue tmp = eng.toObject(number); - QVERIFY(tmp.isObject()); - QCOMPARE(tmp.toInt(), number.toInt()); - } - QVERIFY(number.isNumber()); - - QJSValue str = QJSValue(QString::fromLatin1("ciao")); - QVERIFY(!str.toObject().isValid()); - { - QJSValue tmp = eng.toObject(str); - QVERIFY(tmp.isObject()); - QCOMPARE(tmp.toString(), QString::fromLatin1("ciao")); - } - QVERIFY(str.isString()); - } -} - void tst_QJSValue::toDateTime() { QJSEngine eng; @@ -2851,7 +2743,7 @@ void tst_QJSValue::call_this() QJSValue fun = eng.evaluate("(function() { return this; })"); QCOMPARE(fun.isCallable(), true); - QJSValue numberObject = QJSValue(&eng, 123.0).toObject(); + QJSValue numberObject = eng.evaluate("new Number(123)"); QJSValue result = fun.callWithInstance(numberObject); QCOMPARE(result.isObject(), true); QCOMPARE(result.toNumber(), 123.0); @@ -3445,11 +3337,11 @@ void tst_QJSValue::equals() QCOMPARE(num.equals(QJSValue(&eng, 321)), false); QCOMPARE(num.equals(QJSValue(&eng, QLatin1String("123"))), true); QCOMPARE(num.equals(QJSValue(&eng, QLatin1String("321"))), false); - QCOMPARE(num.equals(QJSValue(&eng, 123).toObject()), true); - QCOMPARE(num.equals(QJSValue(&eng, 321).toObject()), false); - QCOMPARE(num.equals(QJSValue(&eng, QLatin1String("123")).toObject()), true); - QCOMPARE(num.equals(QJSValue(&eng, QLatin1String("321")).toObject()), false); - QVERIFY(num.toObject().equals(num)); + QCOMPARE(num.equals(eng.evaluate("new Number(123)")), true); + QCOMPARE(num.equals(eng.evaluate("new Number(321)")), false); + QCOMPARE(num.equals(eng.evaluate("new String('123')")), true); + QCOMPARE(num.equals(eng.evaluate("new String('321')")), false); + QVERIFY(eng.evaluate("new Number(123)").equals(num)); QCOMPARE(num.equals(QJSValue()), false); QJSValue str = QJSValue(&eng, QLatin1String("123")); @@ -3457,11 +3349,11 @@ void tst_QJSValue::equals() QCOMPARE(str.equals(QJSValue(&eng, QLatin1String("321"))), false); QCOMPARE(str.equals(QJSValue(&eng, 123)), true); QCOMPARE(str.equals(QJSValue(&eng, 321)), false); - QCOMPARE(str.equals(QJSValue(&eng, QLatin1String("123")).toObject()), true); - QCOMPARE(str.equals(QJSValue(&eng, QLatin1String("321")).toObject()), false); - QCOMPARE(str.equals(QJSValue(&eng, 123).toObject()), true); - QCOMPARE(str.equals(QJSValue(&eng, 321).toObject()), false); - QVERIFY(str.toObject().equals(str)); + QCOMPARE(str.equals(eng.evaluate("new String('123')")), true); + QCOMPARE(str.equals(eng.evaluate("new String('321')")), false); + QCOMPARE(str.equals(eng.evaluate("new Number(123)")), true); + QCOMPARE(str.equals(eng.evaluate("new Number(321)")), false); + QVERIFY(eng.evaluate("new String('123')").equals(str)); QCOMPARE(str.equals(QJSValue()), false); QJSValue num2 = QJSValue(123); @@ -3499,10 +3391,10 @@ void tst_QJSValue::equals() QVERIFY(sant.equals(QJSValue(&eng, 1))); QVERIFY(sant.equals(QJSValue(&eng, QLatin1String("1")))); QVERIFY(sant.equals(sant)); - QVERIFY(sant.equals(QJSValue(&eng, 1).toObject())); - QVERIFY(sant.equals(QJSValue(&eng, QLatin1String("1")).toObject())); - QVERIFY(sant.equals(sant.toObject())); - QVERIFY(sant.toObject().equals(sant)); + QVERIFY(sant.equals(eng.evaluate("new Number(1)"))); + QVERIFY(sant.equals(eng.evaluate("new String('1')"))); + QVERIFY(sant.equals(eng.evaluate("new Boolean(true)"))); + QVERIFY(eng.evaluate("new Boolean(true)").equals(sant)); QVERIFY(!sant.equals(QJSValue(&eng, 0))); QVERIFY(!sant.equals(undefined)); QVERIFY(!sant.equals(null)); @@ -3511,10 +3403,10 @@ void tst_QJSValue::equals() QVERIFY(falskt.equals(QJSValue(&eng, 0))); QVERIFY(falskt.equals(QJSValue(&eng, QLatin1String("0")))); QVERIFY(falskt.equals(falskt)); - QVERIFY(falskt.equals(QJSValue(&eng, 0).toObject())); - QVERIFY(falskt.equals(QJSValue(&eng, QLatin1String("0")).toObject())); - QVERIFY(falskt.equals(falskt.toObject())); - QVERIFY(falskt.toObject().equals(falskt)); + QVERIFY(falskt.equals(eng.evaluate("new Number(0)"))); + QVERIFY(falskt.equals(eng.evaluate("new String('0')"))); + QVERIFY(falskt.equals(eng.evaluate("new Boolean(false)"))); + QVERIFY(eng.evaluate("new Boolean(false)").equals(falskt)); QVERIFY(!falskt.equals(sant)); QVERIFY(!falskt.equals(undefined)); QVERIFY(!falskt.equals(null)); @@ -3646,11 +3538,11 @@ void tst_QJSValue::strictlyEquals() QCOMPARE(num.strictlyEquals(QJSValue(&eng, 321)), false); QCOMPARE(num.strictlyEquals(QJSValue(&eng, QLatin1String("123"))), false); QCOMPARE(num.strictlyEquals(QJSValue(&eng, QLatin1String("321"))), false); - QCOMPARE(num.strictlyEquals(QJSValue(&eng, 123).toObject()), false); - QCOMPARE(num.strictlyEquals(QJSValue(&eng, 321).toObject()), false); - QCOMPARE(num.strictlyEquals(QJSValue(&eng, QLatin1String("123")).toObject()), false); - QCOMPARE(num.strictlyEquals(QJSValue(&eng, QLatin1String("321")).toObject()), false); - QVERIFY(!num.toObject().strictlyEquals(num)); + QCOMPARE(num.strictlyEquals(eng.evaluate("new Number(123)")), false); + QCOMPARE(num.strictlyEquals(eng.evaluate("new Number(321)")), false); + QCOMPARE(num.strictlyEquals(eng.evaluate("new String('123')")), false); + QCOMPARE(num.strictlyEquals(eng.evaluate("new String('321')")), false); + QVERIFY(!eng.evaluate("new Number(123)").strictlyEquals(num)); QVERIFY(!num.strictlyEquals(QJSValue())); QVERIFY(!QJSValue().strictlyEquals(num)); @@ -3659,11 +3551,11 @@ void tst_QJSValue::strictlyEquals() QCOMPARE(str.strictlyEquals(QJSValue(&eng, QLatin1String("321"))), false); QCOMPARE(str.strictlyEquals(QJSValue(&eng, 123)), false); QCOMPARE(str.strictlyEquals(QJSValue(&eng, 321)), false); - QCOMPARE(str.strictlyEquals(QJSValue(&eng, QLatin1String("123")).toObject()), false); - QCOMPARE(str.strictlyEquals(QJSValue(&eng, QLatin1String("321")).toObject()), false); - QCOMPARE(str.strictlyEquals(QJSValue(&eng, 123).toObject()), false); - QCOMPARE(str.strictlyEquals(QJSValue(&eng, 321).toObject()), false); - QVERIFY(!str.toObject().strictlyEquals(str)); + QCOMPARE(str.strictlyEquals(eng.evaluate("new String('123')")), false); + QCOMPARE(str.strictlyEquals(eng.evaluate("new String('321')")), false); + QCOMPARE(str.strictlyEquals(eng.evaluate("new Number(123)")), false); + QCOMPARE(str.strictlyEquals(eng.evaluate("new Number(321)")), false); + QVERIFY(!eng.evaluate("new String('123')").strictlyEquals(str)); QVERIFY(!str.strictlyEquals(QJSValue())); QJSValue num2 = QJSValue(123); @@ -3699,10 +3591,10 @@ void tst_QJSValue::strictlyEquals() QVERIFY(!sant.strictlyEquals(QJSValue(&eng, 1))); QVERIFY(!sant.strictlyEquals(QJSValue(&eng, QLatin1String("1")))); QVERIFY(sant.strictlyEquals(sant)); - QVERIFY(!sant.strictlyEquals(QJSValue(&eng, 1).toObject())); - QVERIFY(!sant.strictlyEquals(QJSValue(&eng, QLatin1String("1")).toObject())); - QVERIFY(!sant.strictlyEquals(sant.toObject())); - QVERIFY(!sant.toObject().strictlyEquals(sant)); + QVERIFY(!sant.strictlyEquals(eng.evaluate("new Number(1)"))); + QVERIFY(!sant.strictlyEquals(eng.evaluate("new String('1')"))); + QVERIFY(!sant.strictlyEquals(eng.evaluate("new Boolean(true)"))); + QVERIFY(!eng.evaluate("new Boolean(true)").strictlyEquals(sant)); QVERIFY(!sant.strictlyEquals(QJSValue(&eng, 0))); QVERIFY(!sant.strictlyEquals(undefined)); QVERIFY(!sant.strictlyEquals(null)); @@ -3712,10 +3604,10 @@ void tst_QJSValue::strictlyEquals() QVERIFY(!falskt.strictlyEquals(QJSValue(&eng, 0))); QVERIFY(!falskt.strictlyEquals(QJSValue(&eng, QLatin1String("0")))); QVERIFY(falskt.strictlyEquals(falskt)); - QVERIFY(!falskt.strictlyEquals(QJSValue(&eng, 0).toObject())); - QVERIFY(!falskt.strictlyEquals(QJSValue(&eng, QLatin1String("0")).toObject())); - QVERIFY(!falskt.strictlyEquals(falskt.toObject())); - QVERIFY(!falskt.toObject().strictlyEquals(falskt)); + QVERIFY(!falskt.strictlyEquals(eng.evaluate("new Number(0)"))); + QVERIFY(!falskt.strictlyEquals(eng.evaluate("new String('0')"))); + QVERIFY(!falskt.strictlyEquals(eng.evaluate("new Boolean(false)"))); + QVERIFY(!eng.evaluate("new Boolean(false)").strictlyEquals(falskt)); QVERIFY(!falskt.strictlyEquals(sant)); QVERIFY(!falskt.strictlyEquals(undefined)); QVERIFY(!falskt.strictlyEquals(null)); diff --git a/tests/auto/declarative/qjsvalue/tst_qjsvalue.h b/tests/auto/declarative/qjsvalue/tst_qjsvalue.h index 0365777..978cd92 100644 --- a/tests/auto/declarative/qjsvalue/tst_qjsvalue.h +++ b/tests/auto/declarative/qjsvalue/tst_qjsvalue.h @@ -60,8 +60,6 @@ public: virtual ~tst_QJSValue(); private slots: - void toObject(); - void ctor_invalid(); void ctor_undefinedWithEngine(); void ctor_undefined(); diff --git a/tests/auto/declarative/qjsvalueiterator/tst_qjsvalueiterator.cpp b/tests/auto/declarative/qjsvalueiterator/tst_qjsvalueiterator.cpp index a8dff45..f54fcc3 100644 --- a/tests/auto/declarative/qjsvalueiterator/tst_qjsvalueiterator.cpp +++ b/tests/auto/declarative/qjsvalueiterator/tst_qjsvalueiterator.cpp @@ -282,9 +282,7 @@ void tst_QJSValueIterator::iterateArray() void tst_QJSValueIterator::iterateString() { QJSEngine engine; - QJSValue str = QJSValue(&engine, QString::fromLatin1("ciao")); - QVERIFY(str.isString()); - QJSValue obj = str.toObject(); + QJSValue obj = engine.evaluate("new String('ciao')"); QVERIFY(obj.property("length").isNumber()); int length = obj.property("length").toInt(); QCOMPARE(length, 4); -- 2.7.4