diff options
Diffstat (limited to 'tests/auto/qml/qqmlparser/tst_qqmlparser.cpp')
-rw-r--r-- | tests/auto/qml/qqmlparser/tst_qqmlparser.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp b/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp index fead8c4ebc..5f58df75d4 100644 --- a/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp +++ b/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp @@ -54,6 +54,8 @@ private slots: void noSubstitutionTemplateLiteral(); void templateLiteral(); void leadingSemicolonInClass(); + void templatedReadonlyProperty(); + void qmlImportInJSRequiresFullVersion(); private: QStringList excludedDirs; @@ -289,6 +291,49 @@ void tst_qqmlparser::leadingSemicolonInClass() QVERIFY(parser.parseProgram()); } +void tst_qqmlparser::templatedReadonlyProperty() +{ + QQmlJS::Engine engine; + QQmlJS::Lexer lexer(&engine); + lexer.setCode(QLatin1String("A { readonly property list<B> listfoo: [ C{} ] }"), 1); + QQmlJS::Parser parser(&engine); + QVERIFY(parser.parse()); +} + +void tst_qqmlparser::qmlImportInJSRequiresFullVersion() +{ + { + QQmlJS::Engine engine; + QQmlJS::Lexer lexer(&engine); + lexer.setCode(QLatin1String(".import Test 1.0 as T"), 0, false); + QQmlJS::Parser parser(&engine); + bool b = parser.parseProgram(); + qDebug() << parser.errorMessage(); + QVERIFY(b); + } + { + QQmlJS::Engine engine; + QQmlJS::Lexer lexer(&engine); + lexer.setCode(QLatin1String(".import Test 1 as T"), 0, false); + QQmlJS::Parser parser(&engine); + QVERIFY(!parser.parseProgram()); + } + { + QQmlJS::Engine engine; + QQmlJS::Lexer lexer(&engine); + lexer.setCode(QLatin1String(".import Test 1 as T"), 0, false); + QQmlJS::Parser parser(&engine); + QVERIFY(!parser.parseProgram()); + } + { + QQmlJS::Engine engine; + QQmlJS::Lexer lexer(&engine); + lexer.setCode(QLatin1String(".import Test as T"), 0, false); + QQmlJS::Parser parser(&engine); + QVERIFY(!parser.parseProgram()); + } +} + QTEST_MAIN(tst_qqmlparser) #include "tst_qqmlparser.moc" |