summaryrefslogtreecommitdiff
path: root/tests/manual/cplusplus/main.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <qtc-committer@nokia.com>2009-01-06 15:15:13 +0100
committerRoberto Raggi <qtc-committer@nokia.com>2009-01-06 15:15:53 +0100
commite43e09ee5ff43ef69c60b8a12f66c166c6f44272 (patch)
treed78c537c589b2a3cb0292507315f668445918fc6 /tests/manual/cplusplus/main.cpp
parent26c81c54e3820b42243165ca8bd5e4426c35dd6c (diff)
downloadqt-creator-e43e09ee5ff43ef69c60b8a12f66c166c6f44272.tar.gz
Test the pretty printer.
Diffstat (limited to 'tests/manual/cplusplus/main.cpp')
-rw-r--r--tests/manual/cplusplus/main.cpp52
1 files changed, 44 insertions, 8 deletions
diff --git a/tests/manual/cplusplus/main.cpp b/tests/manual/cplusplus/main.cpp
index b4b9b8456d..019683f061 100644
--- a/tests/manual/cplusplus/main.cpp
+++ b/tests/manual/cplusplus/main.cpp
@@ -37,13 +37,18 @@
#include <Scope.h>
#include <Semantic.h>
#include <TranslationUnit.h>
+#include <PrettyPrinter.h>
-#include <QtCore/QFile>
-#include <QtCore/QList>
+#include <QFile>
+#include <QList>
+#include <QCoreApplication>
+#include <QStringList>
+#include <QFileInfo>
#include <QtDebug>
#include <cstdio>
#include <cstdlib>
+#include <iostream>
class Rewrite
{
@@ -191,8 +196,35 @@ protected:
}
};
-int main(int, char *[])
+int main(int argc, char *argv[])
{
+ QCoreApplication app(argc, argv);
+
+ QStringList args = app.arguments();
+ const QString appName = args.first();
+ args.removeFirst();
+
+ bool test_rewriter = false;
+ bool test_pretty_printer = false;
+
+ foreach (QString arg, args) {
+ if (arg == QLatin1String("--test-rewriter"))
+ test_rewriter = true;
+ else if (arg == QLatin1String("--test-pretty-printer"))
+ test_pretty_printer = true;
+ else if (arg == QLatin1String("--help")) {
+ const QFileInfo appInfo(appName);
+ const QByteArray appFileName = QFile::encodeName(appInfo.fileName());
+
+ printf("Usage: %s [options]\n"
+ " --help Display ths information\n"
+ " --test-rewriter Test the tree rewriter\n"
+ " --test-pretty-printer Test the pretty printer\n",
+ appFileName.constData());
+ return EXIT_SUCCESS;
+ }
+ }
+
QFile in;
if (! in.open(stdin, QFile::ReadOnly))
return EXIT_FAILURE;
@@ -217,10 +249,14 @@ int main(int, char *[])
}
// test the rewriter
- QByteArray out;
- SimpleRefactor refactor(&control);
- refactor(&unit, source, &out);
- printf("%s\n", out.constData());
-
+ if (test_rewriter) {
+ QByteArray out;
+ SimpleRefactor refactor(&control);
+ refactor(&unit, source, &out);
+ printf("%s\n", out.constData());
+ } else if (test_pretty_printer) {
+ PrettyPrinter pp(&control, std::cout);
+ pp(unit.ast());
+ }
return EXIT_SUCCESS;
}