Files
qt-creator/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp

44 lines
1.2 KiB
C++
Raw Normal View History

2009-03-02 11:30:43 +01:00
#include <QtTest>
#include <pp.h>
using namespace CPlusPlus;
2009-03-02 11:30:43 +01:00
class tst_Preprocessor: public QObject
{
Q_OBJECT
private Q_SLOTS:
void pp_with_no_client();
void unfinished_function_like_macro_call();
2009-03-02 11:30:43 +01:00
};
void tst_Preprocessor::pp_with_no_client()
{
Client *client = 0; // no client.
Environment env;
2009-03-03 14:54:31 +01:00
Preprocessor preprocess(client, &env);
2009-06-19 11:19:41 +02:00
QByteArray preprocessed = preprocess(QLatin1String("<stdin>"),
QByteArray("\n#define foo(a,b) a + b"
"\nfoo(1, 2)\n"));
2009-03-02 11:30:43 +01:00
QByteArray expected = "1 + 2";
QCOMPARE(preprocessed.trimmed(), expected);
}
void tst_Preprocessor::unfinished_function_like_macro_call()
{
Client *client = 0; // no client.
Environment env;
Preprocessor preprocess(client, &env);
2009-06-19 11:19:41 +02:00
QByteArray preprocessed = preprocess(QLatin1String("<stdin>"),
QByteArray("\n#define foo(a,b) a + b"
"\nfoo(1, 2\n"));
QByteArray expected = "foo";
QCOMPARE(preprocessed.trimmed(), expected);
}
2009-03-02 11:30:43 +01:00
QTEST_APPLESS_MAIN(tst_Preprocessor)
#include "tst_preprocessor.moc"