[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdevelop/buildtools/managers/qmake/tests
From: Andreas Pakulat <apaku () gmx ! de>
Date: 2007-03-15 20:07:03
Message-ID: 1173989223.161343.6622.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 642911 by apaku:
Add a new test to check wether lineending is parsed properly
Check the output of writeToString with the expected result to make sure the AST writes back properly
M +52 -6 parsetest.cpp
M +2 -0 parsetest.h
--- trunk/KDE/kdevelop/buildtools/managers/qmake/tests/parsetest.cpp #642910:642911
@@ -46,6 +46,7 @@
#include "parsetest.h"
#include "qmakedriver.h"
#include "qmakeast.h"
+#include <QDebug>
QTEST_MAIN( ParseTest )
@@ -59,17 +60,22 @@
void ParseTest::successSimpleProject()
{
QFETCH( QString, project );
+ QFETCH( QString, output );
QMake::ProjectAST* a = new QMake::ProjectAST();
int ret = QMake::Driver::parseString( project, a );
+ QVERIFY( ret == 0 );
+ QString writeback;
+ a->writeToString( writeback );
+ QVERIFY( writeback == output );
delete a;
- QVERIFY( ret == 0 );
}
void ParseTest::successSimpleProject_data()
{
QTest::addColumn<QString>( "project" );
- QTest::newRow( "row1" ) << "VAR = VALUE\n"
- "func1(arg1)\n";
+ QTest::addColumn<QString>( "output" );
+ QTest::newRow( "row1" ) << "VAR = VALUE\nfunc1(arg1)\n"
+ << "VAR = VALUE\nfunc1(arg1)\n";
}
void ParseTest::failSimpleProject()
@@ -77,8 +83,8 @@
QFETCH( QString, project );
QMake::ProjectAST* a = new QMake::ProjectAST();
int ret = QMake::Driver::parseString( project, a );
+ QVERIFY( ret != 0 );
delete a;
- QVERIFY( ret != 0 );
}
void ParseTest::failSimpleProject_data()
@@ -87,18 +93,45 @@
QTest::newRow( "row1" ) << "VAR =";
}
+void ParseTest::lineEnding()
+{
+ QFETCH( QString, project );
+ QFETCH( QString, output );
+ QMake::ProjectAST* a = new QMake::ProjectAST();
+ int ret = QMake::Driver::parseString( project, a );
+ QVERIFY( ret == 0 );
+ QString writeback;
+ a->writeToString( writeback );
+ QVERIFY( writeback == output );
+ QVERIFY( a->lineEnding() == QMake::ProjectAST::Windows );
+ delete a;
+}
+
+void ParseTest::lineEnding_data()
+{
+ QTest::addColumn<QString>( "project" );
+ QTest::addColumn<QString>( "output" );
+ QTest::newRow( "row1" ) << "VAR = VALUE\r\ncallfunc(FOOBAR)\r!exists(barfoo)\n"
+ << "VAR = VALUE\r\ncallfunc(FOOBAR)\r!exists(barfoo)\n";
+}
+
void ParseTest::successFullProject()
{
QFETCH( QString, project );
+ QFETCH( QString, output );
QMake::ProjectAST* a = new QMake::ProjectAST();
int ret = QMake::Driver::parseString( project, a );
+ QVERIFY( ret == 0 );
+ QString writeback;
+ a->writeToString( writeback );
+ QVERIFY( writeback == output );
delete a;
- QVERIFY( ret == 0 );
}
void ParseTest::successFullProject_data()
{
QTest::addColumn<QString>( "project" );
+ QTest::addColumn<QString>( "output" );
QTest::newRow( "row1" ) << "#Comment\n"
"VARIABLE1 = Value1 Value2\n"
"VARIABLE2= Value1 Value2\n"
@@ -111,6 +144,19 @@
"message( foo, bar, $$foobar( foo, $$FOOBAR ), $${FOOBAR}, $(SHELL) ) { \n"
"FOO = bar\n"
"}\n"
+ "!do()\n"
+ << "#Comment\n"
+ "VARIABLE1 = Value1 Value2\n"
+ "VARIABLE2= Value1 Value2\n"
+ "VARIABLE3 =Value1 Value2\n"
+ "VARIABLE4=Value1 Value2\n"
+ "VARIABLE = Value1 Value2 #some comment\n"
+ "VARIABLE = $$Value1 $(Value2) $${Value3} #some comment\n"
+ "VARIABLE = $$Value1 $(Value2) $${Value3} \\\nValue4\n"
+ "message( foo, bar, $$foobar( foo, $$FOOBAR ), $${FOOBAR}, $(SHELL) ) : FO=0\n"
+ "message( foo, bar, $$foobar( foo, $$FOOBAR ), $${FOOBAR}, $(SHELL) ) { \n"
+ "FOO = bar\n"
+ "}\n"
"!do()\n";
}
@@ -119,8 +165,8 @@
QFETCH( QString, project );
QMake::ProjectAST* a = new QMake::ProjectAST();
int ret = QMake::Driver::parseString( project, a );
+ QVERIFY( ret != 0);
delete a;
- QVERIFY( ret != 0);
}
void ParseTest::failFullProject_data()
--- trunk/KDE/kdevelop/buildtools/managers/qmake/tests/parsetest.h #642910:642911
@@ -39,6 +39,8 @@
void successFullProject_data();
void failFullProject();
void failFullProject_data();
+ void lineEnding();
+ void lineEnding_data();
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic