diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-02-04 09:19:14 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-02-04 11:14:59 +0100 |
commit | c8c85551f819da4e624570dca7cc851dfb9f8d56 (patch) | |
tree | f543aa0e0a35b613610a934b13430411935e8632 /tests/auto/language | |
parent | 029dfef60f9fc89fab75165fd0135199990c982f (diff) |
add autotest for invalid Depends usage
Change-Id: I46a1089323a191c71c00522f1b96c2fdd700039f
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'tests/auto/language')
4 files changed, 36 insertions, 0 deletions
diff --git a/tests/auto/language/testdata/invaliddepends/submodule_syntax.qbs b/tests/auto/language/testdata/invaliddepends/submodule_syntax.qbs new file mode 100644 index 000000000..4254bb8f6 --- /dev/null +++ b/tests/auto/language/testdata/invaliddepends/submodule_syntax.qbs @@ -0,0 +1,3 @@ +Product { + Depends { name: "abc.def"; submodules: ["ghi"] } +} diff --git a/tests/auto/language/testdata/invaliddepends/unknown_module.qbs b/tests/auto/language/testdata/invaliddepends/unknown_module.qbs new file mode 100644 index 000000000..dcfc79a9c --- /dev/null +++ b/tests/auto/language/testdata/invaliddepends/unknown_module.qbs @@ -0,0 +1,3 @@ +Product { + Depends { name: "neitherModuleNorProduct" } +} diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp index 1353ce54e..e1ff68167 100644 --- a/tests/auto/language/tst_language.cpp +++ b/tests/auto/language/tst_language.cpp @@ -159,6 +159,34 @@ void TestLanguage::conditionalDepends() QCOMPARE(exceptionCaught, false); } +void TestLanguage::invalidDepends_data() +{ + QTest::addColumn<QString>("errorMessage"); + QTest::newRow("unknown_module") + << "Product dependency 'neithermodulenorproduct' not found"; + QTest::newRow("submodule_syntax") + << "Depends.submodules cannot be used if name contains a dot"; +} + +void TestLanguage::invalidDepends() +{ + QFETCH(QString, errorMessage); + QString fileName = QString::fromLocal8Bit(QTest::currentDataTag()) + QLatin1String(".qbs"); + try { + defaultParameters.projectFilePath + = QString::fromLatin1(SRCDIR "testdata/invaliddepends/") + fileName; + loader->loadProject(defaultParameters); + } catch (const Error &e) { + if (!e.toString().contains(errorMessage)) { + qDebug() << "Message: " << e.toString(); + qDebug() << "Expected: " << errorMessage; + QFAIL("Unexpected error message."); + } + return; + } + QFAIL("No error thrown on invalid input."); +} + void TestLanguage::groupName() { bool exceptionCaught = false; diff --git a/tests/auto/language/tst_language.h b/tests/auto/language/tst_language.h index 8fb5f2599..02112c74e 100644 --- a/tests/auto/language/tst_language.h +++ b/tests/auto/language/tst_language.h @@ -61,6 +61,8 @@ private slots: void initTestCase(); void cleanupTestCase(); void conditionalDepends(); + void invalidDepends_data(); + void invalidDepends(); void groupName(); void identifierSearch_data(); void identifierSearch(); |