diff options
author | Matthew Vogt <matthew.vogt@nokia.com> | 2012-07-06 13:04:53 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-11 01:49:59 +0200 |
commit | a1a2c81d7fd5512b8c0531b01453656fc4c96bed (patch) | |
tree | 519b6c02482c3487d64a060041e95ae09a878c49 /tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | |
parent | f5cb65b35e076facbce45e896902a34da7036135 (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.cpp | 77 |
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() |