summaryrefslogtreecommitdiff
path: root/tests/auto/cplusplus/preprocessor
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/cplusplus/preprocessor')
-rw-r--r--tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp18
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.