aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2011-10-25 09:49:22 +1000
committerQt by Nokia <qt-info@nokia.com>2011-10-26 07:30:56 +0200
commitbd690fa7a62463280c98661e1aa54dd12c60b2d1 (patch)
treecb860fce55d591a375d33b6b1db3803287d2ef14 /tests/auto
parentfa30c9ae2577cd99b3025012e5af63af21fcc58d (diff)
Add test for bug with typeof in imported js files.
Task-number: QTBUG-21864 Change-Id: I0fc9dc02f7ec00a2f7234484f5afafbbfe7ffca0 Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/typeOf.js25
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/typeOf.qml26
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp20
3 files changed, 71 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/typeOf.js b/tests/auto/declarative/qdeclarativeecmascript/data/typeOf.js
new file mode 100644
index 0000000000..16a34234c0
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/typeOf.js
@@ -0,0 +1,25 @@
+var test1 = typeof a
+
+var b = {}
+var test2 = typeof b
+
+var c = 5
+var test3 = typeof c
+
+var d = "hello world"
+var test4 = typeof d
+
+var e = function() {}
+var test5 = typeof e
+
+var f = null
+var test6 = typeof f
+
+var g = undefined
+var test7 = typeof g
+
+var h = true
+var test8 = typeof h
+
+var i = []
+var test9 = typeof i
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/typeOf.qml b/tests/auto/declarative/qdeclarativeecmascript/data/typeOf.qml
new file mode 100644
index 0000000000..28f7debed5
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/typeOf.qml
@@ -0,0 +1,26 @@
+import QtQuick 2.0
+import "typeOf.js" as TypeOf
+
+QtObject {
+ property string test1
+ property string test2
+ property string test3
+ property string test4
+ property string test5
+ property string test6
+ property string test7
+ property string test8
+ property string test9
+
+ Component.onCompleted: {
+ test1 = TypeOf.test1
+ test2 = TypeOf.test2
+ test3 = TypeOf.test3
+ test4 = TypeOf.test4
+ test5 = TypeOf.test5
+ test6 = TypeOf.test6
+ test7 = TypeOf.test7
+ test8 = TypeOf.test8
+ test9 = TypeOf.test9
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index 33604ddcbf..31aefd264e 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -195,6 +195,7 @@ private slots:
void nonscriptable();
void deleteLater();
void in();
+ void typeOf();
void sharedAttachedObject();
void objectName();
void writeRemovesBinding();
@@ -4512,6 +4513,25 @@ void tst_qdeclarativeecmascript::in()
delete o;
}
+void tst_qdeclarativeecmascript::typeOf()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("typeOf.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+ QCOMPARE(o->property("test1").toString(), QLatin1String("undefined"));
+ QEXPECT_FAIL("", "QTBUG-21864", Abort);
+ QCOMPARE(o->property("test2").toString(), QLatin1String("object"));
+ QCOMPARE(o->property("test3").toString(), QLatin1String("number"));
+ QCOMPARE(o->property("test4").toString(), QLatin1String("string"));
+ QCOMPARE(o->property("test5").toString(), QLatin1String("function"));
+ QCOMPARE(o->property("test6").toString(), QLatin1String("object"));
+ QCOMPARE(o->property("test7").toString(), QLatin1String("undefined"));
+ QCOMPARE(o->property("test8").toString(), QLatin1String("boolean"));
+ QCOMPARE(o->property("test9").toString(), QLatin1String("object"));
+
+ delete o;
+}
+
void tst_qdeclarativeecmascript::sharedAttachedObject()
{
QDeclarativeComponent component(&engine, TEST_FILE("sharedAttachedObject.qml"));