[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [cdt-patch] JUnit tests for the scanner
|
Here
is an updated patch of the org.eclipse.cdt.ui.tests.
-Andrew
Index:
ChangeLog
===================================================================
RCS
file: /home/tools/org.eclipse.cdt.ui.tests/ChangeLog,v
retrieving revision
1.29
diff -u -r1.29 ChangeLog
--- ChangeLog 16 Apr 2003 12:30:41
-0000 1.29
+++ ChangeLog 16 Apr 2003 13:22:44 -0000
@@ -1,3 +1,7
@@
+2003-04-15 Andrew Niefer
+ Added
ScannerFailedTest::testBug36509()
+ Added
ScannerFailedTesT::testBug36521()
+
2003-04-15 John
Camelon
Added
ScannerTestCase::testBug36434().
Added
ScannerTestCase::testMultipleLines().
Index:
failures/org/eclipse/cdt/core/parser/failedTests/ScannerFailedTest.java
===================================================================
RCS
file:
/home/tools/org.eclipse.cdt.ui.tests/failures/org/eclipse/cdt/core/parser/failedTests/ScannerFailedTest.java,v
retrieving
revision 1.3
diff -u -r1.3 ScannerFailedTest.java
---
failures/org/eclipse/cdt/core/parser/failedTests/ScannerFailedTest.java 15
Apr 2003 18:40:05 -0000 1.3
+++
failures/org/eclipse/cdt/core/parser/failedTests/ScannerFailedTest.java 16
Apr 2003 13:22:44 -0000
@@ -38,7 +38,9 @@
TestSuite
suite = new
TestSuite();
suite.addTest( new
ScannerFailedTest( "testBug36475" ) );
-
+ suite.addTest(
new ScannerFailedTest( "testBug36509" ) );
+ suite.addTest( new
ScannerFailedTest( "testBug36521" ) );
+
return
suite;
}
@@ -63,6 +65,74
@@
if( !(e instanceof AssertionFailedError)
){
fail( "Unexpected Error: " + e.getMessage()
);
}
+ }
+
+ if(
testPassed )
+ fail( "The expected error did not occur."
);
+ }
+ public void testBug36509() throws
Exception
+ {
+ boolean testPassed =
false;
+
+ try{
+ StringWriter
writer = new StringWriter();
+ writer.write("#define
debug(s, t) printf(\"x\" # s \"= %d, x\" # t \"= %s\",
\\\n");
+ writer.write("
x ## s, x ## t)
\n");
+
+ initializeScanner(
writer.toString() );
+ //printf("x" "1" "=%d, x" "2" "= %s",
x1, x2);
+ validateIdentifier( "printf"
);
+ validateToken( Token.tLPAREN
);
+ validateString("x");
+ validateString("1");
+ validateString("=
%d,
x");
+ validateString("2");
+ validateString("=
%s");
+ validateToken(Token.tCOMMA);
+ validateIdentifier("x1");
+ validateToken(Token.tCOMMA);
+ validateIdentifier("x2");
+ validateToken(Token.tRPAREN);
+ validateToken(Token.tSEMI);
+
+ testPassed
= true;
+ }
+ catch( Throwable e
)
+ {
+ if( !(e instanceof
AssertionFailedError) ){
+ fail( "Unexpected Error: "
+ e.getMessage()
);
+ }
+ }
+
+ if(
testPassed )
+ fail( "The expected error did not occur."
);
+ }
+ public void testBug36521() throws
Exception
+ {
+ boolean testPassed =
false;
+
+ try{
+ StringWriter
writer = new StringWriter();
+ writer.write("#define
str(s) #
s\n");
+ writer.write("fputs(str(strncmp(\"abc\\0d\",
\"abc\",
\'\\4\')\n");
+ writer.write("
== 0) str(: @\\n),
s);\n");
+
+ initializeScanner(
writer.toString()
);
+ validateIdentifier("fputs");
+ validateToken(Token.tLPAREN);
+ validateString("strncmp(\\\"abc\\\\0d\\\",
\\\"abc\\\", '\\\\4') == 0");
+ validateString(":
@\\n");
+ validateToken(Token.tCOMMA);
+ validateIdentifier("s");
+ validateToken(Token.tRPAREN);
+ validateToken(Token.tSEMI);
+
+ testPassed
= true;
+ }
+ catch( ScannerException e
)
+ {
+ if( !e.getMessage().equals( "Improper
use of macro str" ) )
+ fail( "Unexpected Error: " +
e.getMessage()
);
}
if( testPassed
)