aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp')
-rw-r--r--tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
index 45507e83ea..c74b4dd1f1 100644
--- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
+++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
@@ -198,6 +198,10 @@ private slots:
void crash2();
void globalEnums();
+ void lowercaseEnumRuntime_data();
+ void lowercaseEnumRuntime();
+ void lowercaseEnumCompileTime_data();
+ void lowercaseEnumCompileTime();
void literals_data();
void literals();
@@ -3495,6 +3499,45 @@ void tst_qqmllanguage::globalEnums()
delete o;
}
+void tst_qqmllanguage::lowercaseEnumRuntime_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("errorMessage");
+
+ QTest::newRow("enum from normal type") << "lowercaseEnumRuntime.1.qml" << ":8: TypeError: Cannot access enum value 'lowercaseEnumVal' of 'MyTypeObject', enum values need to start with an uppercase letter.";
+ QTest::newRow("enum from singleton type") << "lowercaseEnumRuntime.2.qml" << ":8: TypeError: Cannot access enum value 'lowercaseEnumVal' of 'MyTypeObjectSingleton', enum values need to start with an uppercase letter.";
+}
+
+void tst_qqmllanguage::lowercaseEnumRuntime()
+{
+ QFETCH(QString, file);
+ QFETCH(QString, errorMessage);
+
+ QQmlComponent component(&engine, testFileUrl(file));
+ VERIFY_ERRORS(0);
+ QString warning = component.url().toString() + errorMessage;
+ QTest::ignoreMessage(QtWarningMsg, qPrintable(warning));
+ delete component.create();
+}
+
+void tst_qqmllanguage::lowercaseEnumCompileTime_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("errorFile");
+
+ QTest::newRow("assignment to int property") << "lowercaseEnumCompileTime.1.qml" << "lowercaseEnumCompileTime.1.errors.txt";
+ QTest::newRow("assignment to enum property") << "lowercaseEnumCompileTime.2.qml" << "lowercaseEnumCompileTime.2.errors.txt";
+}
+
+void tst_qqmllanguage::lowercaseEnumCompileTime()
+{
+ QFETCH(QString, file);
+ QFETCH(QString, errorFile);
+
+ QQmlComponent component(&engine, testFileUrl(file));
+ VERIFY_ERRORS(qPrintable(errorFile));
+}
+
void tst_qqmllanguage::literals_data()
{
QTest::addColumn<QString>("property");