diff options
Diffstat (limited to 'tests/auto/cplusplus/preprocessor')
-rw-r--r-- | tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp index 1c5d6fd320..06e910be63 100644 --- a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp +++ b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp @@ -43,6 +43,7 @@ Q_OBJECT private Q_SLOTS: void va_args(); void named_va_args(); + void first_empty_macro_arg(); void unfinished_function_like_macro_call(); void nasty_macro_expansion(); void tstst(); @@ -82,6 +83,23 @@ void tst_Preprocessor::named_va_args() QVERIFY(preprocessed.contains("int f(int a,int b);")); } +void tst_Preprocessor::first_empty_macro_arg() +{ + Client *client = 0; // no client. + Environment env; + + Preprocessor preprocess(client, &env); + QByteArray preprocessed = preprocess(QLatin1String("<stdin>"), + QByteArray("\n#define foo(a,b) a int b;" + "\nfoo(const,cVal)\n" + "\nfoo(,Val)\n" + "\nfoo( ,Val2)\n")); + + QVERIFY(preprocessed.contains("const int cVal;")); + QVERIFY(preprocessed.contains("int Val;")); + QVERIFY(preprocessed.contains("int Val2;")); +} + void tst_Preprocessor::unfinished_function_like_macro_call() { Client *client = 0; // no client. |