Remove QJSEngine::toObject() and QJSValue::toObject()
authorKent Hansen <kent.hansen@nokia.com>
Mon, 16 Jan 2012 12:29:38 +0000 (13:29 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 1 Feb 2012 07:37:49 +0000 (08:37 +0100)
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 <simon.hausmann@nokia.com>
Reviewed-by: JÄ™drzej Nowacki <jedrzej.nowacki@nokia.com>

src/declarative/qml/v8/qjsengine.cpp
src/declarative/qml/v8/qjsengine.h
src/declarative/qml/v8/qjsvalue.cpp
src/declarative/qml/v8/qjsvalue.h
src/declarative/qml/v8/qjsvalue_impl_p.h
src/declarative/qml/v8/qjsvalue_p.h
tests/auto/declarative/qjsengine/tst_qjsengine.cpp
tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp
tests/auto/declarative/qjsvalue/tst_qjsvalue.h
tests/auto/declarative/qjsvalueiterator/tst_qjsvalueiterator.cpp

index 0e8d0c1..a4a7f58 100644 (file)
@@ -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()
index ff1aab8..40f853f 100644 (file)
@@ -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:
index a31fa5f..f470973 100644 (file)
@@ -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
 
 /*!
index d81688c..4e4cfe0 100644 (file)
@@ -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;
index 28b928d..f039753 100644 (file)
@@ -256,51 +256,6 @@ double QJSValuePrivate::toNumber() const
     return 0; // Avoid compiler warning.
 }
 
-QScriptPassPointer<QJSValuePrivate> 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<QJSValuePrivate*>(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> 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) {
index 356e191..ae79409 100644 (file)
@@ -84,8 +84,6 @@ public:
 
     inline bool toBool() const;
     inline double toNumber() const;
-    inline QScriptPassPointer<QJSValuePrivate> toObject() const;
-    inline QScriptPassPointer<QJSValuePrivate> toObject(QV8Engine *engine) const;
     inline QString toString() const;
     inline double toInteger() const;
     inline qint32 toInt32() const;
index 092b997..c13f86f 100644 (file)
@@ -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<QString>("word");
index 8c048d4..c02e446 100644 (file)
@@ -1437,114 +1437,6 @@ void tst_QJSValue::toQObject()
     QCOMPARE(qjsvalue_cast<QPushButton*>(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));
index 0365777..978cd92 100644 (file)
@@ -60,8 +60,6 @@ public:
     virtual ~tst_QJSValue();
 
 private slots:
-    void toObject();
-
     void ctor_invalid();
     void ctor_undefinedWithEngine();
     void ctor_undefined();
index a8dff45..f54fcc3 100644 (file)
@@ -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);