diff options
Diffstat (limited to 'tests/auto/qml/qqmlecmascript')
-rw-r--r-- | tests/auto/qml/qqmlecmascript/data/stringify_qtbug_50592.qml | 12 | ||||
-rw-r--r-- | tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | 22 |
2 files changed, 29 insertions, 5 deletions
diff --git a/tests/auto/qml/qqmlecmascript/data/stringify_qtbug_50592.qml b/tests/auto/qml/qqmlecmascript/data/stringify_qtbug_50592.qml new file mode 100644 index 0000000000..e739b85ef8 --- /dev/null +++ b/tests/auto/qml/qqmlecmascript/data/stringify_qtbug_50592.qml @@ -0,0 +1,12 @@ +import QtQuick 2.0 + +Item { + Image { + id: img + source: "http://example.org/some_nonexistant_image.png" + visible: false + } + + property string source: JSON.stringify(img.source) +} + diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp index c734a0a011..be04ec2bf3 100644 --- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp +++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp @@ -330,6 +330,7 @@ private slots: void qtbug_52340(); void qtbug_54589(); void qtbug_54687(); + void stringify_qtbug_50592(); private: // static void propertyVarWeakRefCallback(v8::Persistent<v8::Value> object, void* parameter); @@ -7258,14 +7259,16 @@ namespace QV4 { namespace Heap { struct WeakReferenceSentinel : public Object { - WeakReferenceSentinel(WeakValue *weakRef, bool *resultPtr) - : weakRef(weakRef) - , resultPtr(resultPtr) { - + void init(WeakValue *weakRef, bool *resultPtr) + { + Object::init(); + this->weakRef = weakRef; + this->resultPtr = resultPtr; } - ~WeakReferenceSentinel() { + void destroy() { *resultPtr = weakRef->isNullOrUndefined(); + Object::destroy(); } WeakValue *weakRef; @@ -8101,6 +8104,15 @@ void tst_qqmlecmascript::qtbug_54687() engine.evaluate("12\n----12"); } +void tst_qqmlecmascript::stringify_qtbug_50592() +{ + QQmlComponent component(&engine, testFileUrl("stringify_qtbug_50592.qml")); + + QScopedPointer<QObject> obj(component.create()); + QVERIFY(obj != 0); + QCOMPARE(obj->property("source").toString(), QString::fromLatin1("http://example.org/some_nonexistant_image.png")); +} + QTEST_MAIN(tst_qqmlecmascript) #include "tst_qqmlecmascript.moc" |