Remove QJSEngine::newDate() functions
authorKent Hansen <kent.hansen@nokia.com>
Tue, 17 Jan 2012 08:25:53 +0000 (09:25 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 1 Feb 2012 07:37:49 +0000 (08:37 +0100)
Rationale: Passing a QDateTime to toScriptValue() should be
sufficient, there's no need to have a dedicated factory
function for Date objects.

QDateTime has API for specifying a time in milliseconds, so the
newDate() overload that takes a double argument should be redundant.

Task-number: QTBUG-23604
Change-Id: Iec1d4ce8e1fd0a6ebef58dde3141730d27c2fb8c
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
tests/auto/declarative/qjsengine/tst_qjsengine.cpp
tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp

index 435749c..5141715 100644 (file)
@@ -126,8 +126,7 @@ Q_DECLARE_METATYPE(QList<int>)
   C++ equivalent of the script statement \c{new Object()}. You can use
   the object-specific functionality in QJSValue to manipulate the
   script object (e.g. QJSValue::setProperty()). Similarly, use
-  newArray() to create a JavaScript array object. Use newDate() to
-  create a \c{Date} object.
+  newArray() to create a JavaScript array object.
 
   \section1 QObject Integration
 
@@ -444,40 +443,6 @@ QJSValue QJSEngine::globalObject() const
     return d->scriptValueFromInternal(d->global());
 }
 
-#ifdef QT_DEPRECATED
-
-/*!
-  \obsolete
-
-  Creates a JavaScript object of class Date from the given \a value.
-
-  \sa QJSValue::toDateTime()
-*/
-QJSValue QJSEngine::newDate(const QDateTime &dt)
-{
-    Q_D(QJSEngine);
-    QScriptIsolate api(d, QScriptIsolate::NotNullEngine);
-    v8::HandleScope handleScope;
-    return d->scriptValueFromInternal(QJSConverter::toDateTime(dt));
-}
-
-/*!
-  \obsolete
-
-  Creates a JavaScript object of class Date with the given
-  \a value (the number of milliseconds since 01 January 1970,
-  UTC).
-*/
-QJSValue QJSEngine::newDate(double date)
-{
-    Q_D(QJSEngine);
-    QScriptIsolate api(d, QScriptIsolate::NotNullEngine);
-    v8::HandleScope handleScope;
-    return d->scriptValueFromInternal(v8::Handle<v8::Value>(v8::Date::New(date)));
-}
-
-#endif // QT_DEPRECATED
-
 /*!
  *  \internal
  * used by QJSEngine::toScriptValue
index 47ee096..35fd4f4 100644 (file)
@@ -36,7 +36,6 @@ QT_BEGIN_HEADER
 QT_BEGIN_NAMESPACE
 
 
-class QDateTime;
 class QV8Engine;
 
 template <typename T>
@@ -93,9 +92,6 @@ public:
     QT_DEPRECATED QJSValue undefinedValue();
 
     QT_DEPRECATED QJSValue newVariant(const QVariant &value);
-
-    QT_DEPRECATED QJSValue newDate(double value);
-    QT_DEPRECATED QJSValue newDate(const QDateTime &value);
 #endif
 
 Q_SIGNALS:
index 2aed67a..7aadabb 100644 (file)
@@ -876,7 +876,7 @@ void tst_QJSEngine::newDate()
     QJSEngine eng;
 
     {
-        QJSValue date = eng.newDate(0);
+        QJSValue date = eng.evaluate("new Date(0)");
         QCOMPARE(date.isValid(), true);
         QCOMPARE(date.isDate(), true);
         QCOMPARE(date.isObject(), true);
@@ -889,7 +889,7 @@ void tst_QJSEngine::newDate()
 
     {
         QDateTime dt = QDateTime(QDate(1, 2, 3), QTime(4, 5, 6, 7), Qt::LocalTime);
-        QJSValue date = eng.newDate(dt);
+        QJSValue date = eng.toScriptValue(dt);
         QCOMPARE(date.isValid(), true);
         QCOMPARE(date.isDate(), true);
         QCOMPARE(date.isObject(), true);
@@ -903,7 +903,7 @@ void tst_QJSEngine::newDate()
 
     {
         QDateTime dt = QDateTime(QDate(1, 2, 3), QTime(4, 5, 6, 7), Qt::UTC);
-        QJSValue date = eng.newDate(dt);
+        QJSValue date = eng.toScriptValue(dt);
         // toDateTime() result should be in local time
         QCOMPARE(date.toDateTime(), dt.toLocalTime());
     }
@@ -5019,8 +5019,9 @@ void tst_QJSEngine::reentrancy_objectCreation()
     QJSEngine eng1;
     QJSEngine eng2;
     {
-        QJSValue d1 = eng1.newDate(0);
-        QJSValue d2 = eng2.newDate(0);
+        QDateTime dt = QDateTime::currentDateTime();
+        QJSValue d1 = eng1.toScriptValue(dt);
+        QJSValue d2 = eng2.toScriptValue(dt);
         QCOMPARE(d1.toDateTime(), d2.toDateTime());
         QCOMPARE(d2.toDateTime(), d1.toDateTime());
     }
@@ -6023,7 +6024,7 @@ void tst_QJSEngine::dateRoundtripJSQtJS()
     for (int i = 0; i < 8000; ++i) {
         QJSValue jsDate = eng.evaluate(QString::fromLatin1("new Date(%0)").arg(secs * 1000.0));
         QDateTime qtDate = jsDate.toDateTime();
-        QJSValue jsDate2 = eng.newDate(qtDate);
+        QJSValue jsDate2 = eng.toScriptValue(qtDate);
         if (jsDate2.toNumber() != jsDate.toNumber())
             QFAIL(qPrintable(jsDate.toString()));
         secs += 2*60*60;
@@ -6035,7 +6036,7 @@ void tst_QJSEngine::dateRoundtripQtJSQt()
     QDateTime qtDate = QDateTime(QDate(2009, 1, 1));
     QJSEngine eng;
     for (int i = 0; i < 8000; ++i) {
-        QJSValue jsDate = eng.newDate(qtDate);
+        QJSValue jsDate = eng.toScriptValue(qtDate);
         QDateTime qtDate2 = jsDate.toDateTime();
         if (qtDate2 != qtDate)
             QFAIL(qPrintable(qtDate.toString()));
@@ -6064,7 +6065,7 @@ void tst_QJSEngine::dateConversionQtJS()
     QDateTime qtDate = QDateTime(QDate(2009, 1, 1));
     QJSEngine eng;
     for (int i = 0; i < 8000; ++i) {
-        QJSValue jsDate = eng.newDate(qtDate);
+        QJSValue jsDate = eng.toScriptValue(qtDate);
         QString jsUTCDateStr = jsDate.property("toISOString").callWithInstance(jsDate).toString();
         jsUTCDateStr.remove(jsUTCDateStr.length() - 5, 4); // get rid of milliseconds (".000")
         QString qtUTCDateStr = qtDate.toUTC().toString(Qt::ISODate);
index 88be29c..1c03fc1 100644 (file)
@@ -1054,7 +1054,7 @@ void tst_QJSValue::toVariant()
 
     {
         QDateTime dateTime = QDateTime(QDate(1980, 10, 4));
-        QJSValue dateObject = eng.newDate(dateTime);
+        QJSValue dateObject = eng.toScriptValue(dateTime);
         QVariant var = dateObject.toVariant();
         QCOMPARE(var, QVariant(dateTime));
     }
@@ -1135,7 +1135,7 @@ void tst_QJSValue::toQObject_nonQObject_data()
     QTest::newRow("null bound") << engine->nullValue();
     QTest::newRow("object") << engine->newObject();
     QTest::newRow("array") << engine->newArray();
-    QTest::newRow("date") << engine->newDate(124);
+    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("newQObject(0)") << engine->newQObject(0);
@@ -2218,7 +2218,7 @@ void tst_QJSValue::getSetData_objects_data()
     QTest::newRow("object from evaluate") << engine->evaluate("new Object()");
     QTest::newRow("object from engine") << engine->newObject();
     QTest::newRow("Array") << engine->newArray();
-    QTest::newRow("Date") << engine->newDate(12324);
+    QTest::newRow("Date") << engine->evaluate("new Date(12324)");
     QTest::newRow("QObject") << engine->newQObject(this);
     QTest::newRow("RegExp") << engine->newRegExp(QRegExp());
 #endif
@@ -3024,8 +3024,8 @@ void tst_QJSValue::lessThan()
     QCOMPARE(obj1.lessThan(obj1), false);
     QCOMPARE(obj2.lessThan(obj2), false);
 
-    QJSValue date1 = eng.newDate(QDateTime(QDate(2000, 1, 1)));
-    QJSValue date2 = eng.newDate(QDateTime(QDate(1999, 1, 1)));
+    QJSValue date1 = eng.toScriptValue(QDateTime(QDate(2000, 1, 1)));
+    QJSValue date2 = eng.toScriptValue(QDateTime(QDate(1999, 1, 1)));
     QCOMPARE(date1.lessThan(date2), false);
     QCOMPARE(date2.lessThan(date1), true);
     QCOMPARE(date1.lessThan(date1), false);
@@ -3086,8 +3086,8 @@ void tst_QJSValue::equals()
     QCOMPARE(str2.equals(QJSValue(321)), false);
     QCOMPARE(str2.equals(QJSValue()), false);
 
-    QJSValue date1 = eng.newDate(QDateTime(QDate(2000, 1, 1)));
-    QJSValue date2 = eng.newDate(QDateTime(QDate(1999, 1, 1)));
+    QJSValue date1 = eng.toScriptValue(QDateTime(QDate(2000, 1, 1)));
+    QJSValue date2 = eng.toScriptValue(QDateTime(QDate(1999, 1, 1)));
     QCOMPARE(date1.equals(date2), false);
     QCOMPARE(date1.equals(date1), true);
     QCOMPARE(date2.equals(date2), true);
@@ -3288,8 +3288,8 @@ void tst_QJSValue::strictlyEquals()
     QCOMPARE(str2.strictlyEquals(QJSValue(321)), false);
     QVERIFY(!str2.strictlyEquals(QJSValue()));
 
-    QJSValue date1 = eng.newDate(QDateTime(QDate(2000, 1, 1)));
-    QJSValue date2 = eng.newDate(QDateTime(QDate(1999, 1, 1)));
+    QJSValue date1 = eng.toScriptValue(QDateTime(QDate(2000, 1, 1)));
+    QJSValue date2 = eng.toScriptValue(QDateTime(QDate(1999, 1, 1)));
     QCOMPARE(date1.strictlyEquals(date2), false);
     QCOMPARE(date1.strictlyEquals(date1), true);
     QCOMPARE(date2.strictlyEquals(date2), true);