aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qjsvalue
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-12-02 12:56:51 +0100
committerUlf Hermann <ulf.hermann@qt.io>2020-12-02 21:44:16 +0100
commit6cfe4cbebb8e429164f6f1878abb560fa417f9fa (patch)
tree4ec7116946d1d39bcf2c764855416d6054d55b44 /tests/auto/qml/qjsvalue
parent9664d9346af854ccc13c099862184d5a0f7544f1 (diff)
Mark url as builtin type
Also, allow conversion from UrlObject and String. We allow the string conversion because we treat string and url as interchangeable in various places. Change-Id: Ib229c6d190e1c5d849ea18798925965b8dbeef7e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tests/auto/qml/qjsvalue')
-rw-r--r--tests/auto/qml/qjsvalue/tst_qjsvalue.cpp19
-rw-r--r--tests/auto/qml/qjsvalue/tst_qjsvalue.h1
2 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsvalue/tst_qjsvalue.cpp b/tests/auto/qml/qjsvalue/tst_qjsvalue.cpp
index 7f35282e89..6e91cec474 100644
--- a/tests/auto/qml/qjsvalue/tst_qjsvalue.cpp
+++ b/tests/auto/qml/qjsvalue/tst_qjsvalue.cpp
@@ -2737,4 +2737,23 @@ void tst_QJSValue::deleteFromDifferentThread()
#endif
}
+void tst_QJSValue::stringAndUrl()
+{
+ QJSEngine engine;
+ const QString string = QStringLiteral("http://example.com/something.html");
+ const QUrl url(string);
+
+ const QJSValue urlValue(engine.toScriptValue(url));
+ QCOMPARE(urlValue.toString(), string);
+ QCOMPARE(engine.fromScriptValue<QUrl>(urlValue), url);
+
+ const QJSValue stringValue(engine.toScriptValue(string));
+ QCOMPARE(stringValue.toString(), string);
+ QCOMPARE(engine.fromScriptValue<QUrl>(stringValue), url);
+
+ const QJSValue immediateStringValue(string);
+ QCOMPARE(immediateStringValue.toString(), string);
+ QCOMPARE(engine.fromScriptValue<QUrl>(immediateStringValue), url);
+}
+
QTEST_MAIN(tst_QJSValue)
diff --git a/tests/auto/qml/qjsvalue/tst_qjsvalue.h b/tests/auto/qml/qjsvalue/tst_qjsvalue.h
index 63558bbbca..f6e3c2aacf 100644
--- a/tests/auto/qml/qjsvalue/tst_qjsvalue.h
+++ b/tests/auto/qml/qjsvalue/tst_qjsvalue.h
@@ -144,6 +144,7 @@ private slots:
void jsvalueArrayToSequenceType();
void deleteFromDifferentThread();
+ void stringAndUrl();
private:
void newEngine()