From be784e3b15068c0677115ca9500531212584cc7d Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 17 Jan 2012 09:25:53 +0100 Subject: [PATCH] Remove QJSEngine::newDate() functions MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Jędrzej Nowacki --- src/declarative/qml/v8/qjsengine.cpp | 37 +--------------------- src/declarative/qml/v8/qjsengine.h | 4 --- tests/auto/declarative/qjsengine/tst_qjsengine.cpp | 17 +++++----- tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp | 18 +++++------ 4 files changed, 19 insertions(+), 57 deletions(-) diff --git a/src/declarative/qml/v8/qjsengine.cpp b/src/declarative/qml/v8/qjsengine.cpp index 435749c..5141715 100644 --- a/src/declarative/qml/v8/qjsengine.cpp +++ b/src/declarative/qml/v8/qjsengine.cpp @@ -126,8 +126,7 @@ Q_DECLARE_METATYPE(QList) 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::Date::New(date))); -} - -#endif // QT_DEPRECATED - /*! * \internal * used by QJSEngine::toScriptValue diff --git a/src/declarative/qml/v8/qjsengine.h b/src/declarative/qml/v8/qjsengine.h index 47ee096..35fd4f4 100644 --- a/src/declarative/qml/v8/qjsengine.h +++ b/src/declarative/qml/v8/qjsengine.h @@ -36,7 +36,6 @@ QT_BEGIN_HEADER QT_BEGIN_NAMESPACE -class QDateTime; class QV8Engine; template @@ -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: diff --git a/tests/auto/declarative/qjsengine/tst_qjsengine.cpp b/tests/auto/declarative/qjsengine/tst_qjsengine.cpp index 2aed67a..7aadabb 100644 --- a/tests/auto/declarative/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/declarative/qjsengine/tst_qjsengine.cpp @@ -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); diff --git a/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp b/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp index 88be29c..1c03fc1 100644 --- a/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp +++ b/tests/auto/declarative/qjsvalue/tst_qjsvalue.cpp @@ -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); -- 2.7.4