aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
diff options
context:
space:
mode:
authorMatthew Vogt <matthew.vogt@nokia.com>2012-07-06 13:04:53 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-11 01:49:59 +0200
commita1a2c81d7fd5512b8c0531b01453656fc4c96bed (patch)
tree519b6c02482c3487d64a060041e95ae09a878c49 /tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
parentf5cb65b35e076facbce45e896902a34da7036135 (diff)
Improved error messages for malformed .import statements
Report errors in .import statements, rather than pass them through to V8 to yield 'Syntax error'. Task-number: QTBUG-24867 Change-Id: I111b3bd3d198e97f42b29591f61753e86295aeb2 Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
Diffstat (limited to 'tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp')
-rw-r--r--tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
index 39174f089e..66ae27e9ec 100644
--- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
+++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
@@ -3783,6 +3783,83 @@ void tst_qqmlecmascript::importScripts_data()
<< (QVariantList() << QVariant(QString("Hello"))
<< QVariant(QString("Hello"))
<< QVariant(QString("Hello")));
+
+ QTest::newRow("malformed import statement")
+ << testFileUrl("jsimportfail/malformedImport.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/malformedImport.js").toString() + QLatin1String(":1: SyntaxError: Unexpected token ."))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("malformed file name")
+ << testFileUrl("jsimportfail/malformedFile.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/malformedFile.js").toString() + QLatin1String(":0:1: Imported file must be a script"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("missing file qualifier")
+ << testFileUrl("jsimportfail/missingFileQualifier.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/missingFileQualifier.js").toString() + QLatin1String(":0:1: File import requires a qualifier"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("malformed file qualifier")
+ << testFileUrl("jsimportfail/malformedFileQualifier.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/malformedFileQualifier.js").toString() + QLatin1String(":0:1: File import requires a qualifier"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("malformed module qualifier 2")
+ << testFileUrl("jsimportfail/malformedFileQualifier.2.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/malformedFileQualifier.2.js").toString() + QLatin1String(":0:1: Invalid import qualifier"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("malformed module uri")
+ << testFileUrl("jsimportfail/malformedModule.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/malformedModule.js").toString() + QLatin1String(":0:1: Invalid module URI"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("missing module version")
+ << testFileUrl("jsimportfail/missingModuleVersion.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/missingModuleVersion.js").toString() + QLatin1String(":0:1: Module import requires a version"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("malformed module version")
+ << testFileUrl("jsimportfail/malformedModuleVersion.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/malformedModuleVersion.js").toString() + QLatin1String(":0:1: Module import requires a version"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("missing module qualifier")
+ << testFileUrl("jsimportfail/missingModuleQualifier.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/missingModuleQualifier.js").toString() + QLatin1String(":0:1: Module import requires a qualifier"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("malformed module qualifier")
+ << testFileUrl("jsimportfail/malformedModuleQualifier.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/malformedModuleQualifier.js").toString() + QLatin1String(":0:1: Module import requires a qualifier"))
+ << QStringList()
+ << QVariantList();
+
+ QTest::newRow("malformed module qualifier 2")
+ << testFileUrl("jsimportfail/malformedModuleQualifier.2.qml")
+ << QString()
+ << (QStringList() << testFileUrl("jsimportfail/malformedModuleQualifier.2.js").toString() + QLatin1String(":0:1: Invalid import qualifier"))
+ << QStringList()
+ << QVariantList();
}
void tst_qqmlecmascript::importScripts()