[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Patch from John C. added more tests.
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/ChangeLog,v
retrieving revision 1.15
diff -u -r1.15 ChangeLog
--- ChangeLog 31 Mar 2003 20:43:02 -0000 1.15
+++ ChangeLog 1 Apr 2003 16:12:15 -0000
@@ -1,3 +1,7 @@
+2003-03-31 John Camelon
+ Added testStruct() to DOMTests.
+ Added test35892()to ScannerTest.
+
2003-03-31 Andrew Niefer
In ParserSymbolTableTest, renamed testFunctionResolution_2() to testFunctionResolution_PointersAndBaseClasses(),
and modified to reflect changes in function resolution.
Index: parser/org/eclipse/cdt/core/parser/tests/DOMTests.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/parser/org/eclipse/cdt/core/parser/tests/DOMTests.java,v
retrieving revision 1.10
diff -u -r1.10 DOMTests.java
--- parser/org/eclipse/cdt/core/parser/tests/DOMTests.java 31 Mar 2003 16:12:43 -0000 1.10
+++ parser/org/eclipse/cdt/core/parser/tests/DOMTests.java 1 Apr 2003 16:12:17 -0000
@@ -920,5 +920,54 @@
assertEquals( classSpec.getName().toString(), "myarray");
assertEquals( 0, classSpec.getDeclarations().size() );
}
+
+ public void testStruct() throws Exception
+ {
+ StringWriter writer = new StringWriter();
+ writer.write( "struct mad_bitptr { unsigned char const *byte;\n" );
writer.write( "unsigned short cache;\n unsigned short left;};" );
+ TranslationUnit tu = parse( writer.toString() );
+ assertEquals( tu.getDeclarations().size(), 1 );
+ SimpleDeclaration declaration = (SimpleDeclaration)tu.getDeclarations().get( 0 );
+ ClassSpecifier classSpec = (ClassSpecifier)declaration.getTypeSpecifier();
+ DeclSpecifier declSpec = declaration.getDeclSpecifier();
+ assertEquals( classSpec.getClassKey(), ClassKey.t_struct );
+ assertEquals( classSpec.getName().toString(), "mad_bitptr" );
+ assertEquals( declaration.getDeclarators().size(), 0 );
+ List subDeclarations = classSpec.getDeclarations();
+ assertEquals( 3, subDeclarations.size() );
+ declaration = (SimpleDeclaration)subDeclarations.get(0);
+ declSpec = declaration.getDeclSpecifier();
+ assertTrue( declSpec.isUnsigned() );
+ assertTrue( declSpec.isConst() );
+ assertEquals( declSpec.getType(), DeclSpecifier.t_char );
+ assertEquals( declaration.getDeclarators().size(), 1 );
+ Declarator d = (Declarator)declaration.getDeclarators().get(0);
+ assertEquals( d.getPointerOperators().size(), 1 );
+ PointerOperator po = (PointerOperator)d.getPointerOperators().get(0);
+ assertEquals( po.getType(), PointerOperator.t_pointer );
+ assertFalse( po.isConst() );
+ assertFalse(po.isVolatile() );
+ assertEquals( d.getName().toString(), "byte" );
+
+ declaration = (SimpleDeclaration)subDeclarations.get(1);
+ declSpec = declaration.getDeclSpecifier();
+ assertTrue( declSpec.isUnsigned());
+ assertTrue( declSpec.isShort());
+ assertEquals( declaration.getDeclarators().size(), 1 );
+ d = (Declarator)declaration.getDeclarators().get(0);
+ assertEquals( d.getPointerOperators().size(), 0 );
+ assertEquals( d.getName().toString(), "cache" );
+
+
+ declaration = (SimpleDeclaration)subDeclarations.get(2);
+ declSpec = declaration.getDeclSpecifier();
+ assertTrue( declSpec.isUnsigned());
+ assertTrue( declSpec.isShort());
+ assertEquals( declaration.getDeclarators().size(), 1 );
+ d = (Declarator)declaration.getDeclarators().get(0);
+ assertEquals( d.getPointerOperators().size(), 0 );
+ assertEquals( d.getName().toString(), "left" );
+ }
+
}
Index: parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java,v
retrieving revision 1.7
diff -u -r1.7 ScannerTestCase.java
--- parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java 31 Mar 2003 16:12:43 -0000 1.7
+++ parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java 1 Apr 2003 16:12:19 -0000
@@ -1044,6 +1044,17 @@
}
}
+ public void validateChar( char expected )throws ScannerException
+ {
+ try {
+ Token t= scanner.nextToken();
+ assertTrue(t.getType() == Token.tCHAR );
+ Character c = new Character( expected );
+ assertEquals( t.getImage(), c.toString() );
+ } catch (Parser.EndOfFile e) {
+ assertTrue(false);
+ }
+ }
public void validateString( String expectedImage ) throws ScannerException
{
@@ -1126,6 +1137,33 @@
validateAsUndefined(row.symbolName(i));
}
}
+
+ public void test35892()
+ {
+ try
+ {
+ initializeScanner( "'c'" );
+ validateChar( 'c' );
+ validateEOF();
+ }
+ catch( ScannerException se )
+ {
+ fail( EXCEPTION_THROWN + se.getMessage() );
+ }
+ }
+
+// public void testStringConcatenation()
+// {
+// try
+// {
+// initializeScanner("# define MAD_VERSION_STRINGIZE(str) #str" );
+// validateEOF();
+// }
+// catch( ScannerException se )
+// {
+// fail( EXCEPTION_THROWN + se.toString() );
+// }
+// }
public void testConditionalWithBraces()
{