You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(15) |
Feb
(26) |
Mar
(97) |
Apr
(224) |
May
(226) |
Jun
|
Jul
(3) |
Aug
(22) |
Sep
(48) |
Oct
|
Nov
|
Dec
(38) |
2004 |
Jan
(28) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(37) |
Jul
|
Aug
(73) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <bl...@us...> - 2003-03-16 08:27:36
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv964/src/rfta Modified Files: CodeWriterInsertTest.cpp CodeWriterInsertTest.h CodeWriterTest.cpp CodeWriterTest.h Log Message: * refactored CodeWriterTest Index: CodeWriterInsertTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterInsertTest.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CodeWriterInsertTest.cpp 16 Mar 2003 07:37:05 -0000 1.1 --- CodeWriterInsertTest.cpp 16 Mar 2003 08:27:33 -0000 1.2 *************** *** 45,49 **** --- 45,55 ---- { compound_->appendStatement( insertedStatement ); + checkGeneratedSource( expectedSource ); + } + + void + CodeWriterInsertTest::checkGeneratedSource( const std::string &expectedSource ) + { rewriteSource(); RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); *************** *** 52,55 **** --- 58,72 ---- void + CodeWriterInsertTest::testAppendStatementToCompound() + { + compound_->appendStatement( CodeModel::StatementPtr( new CodeModel::ReturnStatement() ) ); + + checkGeneratedSource( "{\n" + " return;\n" + "}" ); + } + + + void CodeWriterInsertTest::testInsertNullStatement() { *************** *** 58,61 **** --- 75,263 ---- "{\n" " ;\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertCompoundStatement() + { + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); + compoundStatement->appendStatement( nullStatement ); + checkGeneratedSource( compoundStatement, + "{\n" + " {\n" + " ;\n" + " }\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertWhileStatement() + { + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); + compoundStatement->appendStatement( nullStatement ); + CodeModel::WhileStatementPtr whileStatement( + new CodeModel::WhileStatement( makeTrueExpression(), compoundStatement ) ); + checkGeneratedSource( whileStatement, + "{\n" + " while ( true )\n" + " {\n" + " ;\n" + " }\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertContinueStatement() + { + CodeModel::StatementPtr continueStatement( new CodeModel::ContinueStatement() ); + checkGeneratedSource( continueStatement, + "{\n" + " continue;\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertBreakStatement() + { + CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() ); + checkGeneratedSource( breakStatement, + "{\n" + " break;\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertDefaultStatement() + { + CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() ); + checkGeneratedSource( defaultStatement, + "{\n" + " default:\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertCaseStatement() + { + CodeModel::StatementPtr caseStatement( new CodeModel::CaseStatement( makeExpression( "1234" ) ) ); + checkGeneratedSource( caseStatement, + "{\n" + " case 1234:\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertDoStatement() + { + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); + compoundStatement->appendStatement( nullStatement ); + CodeModel::DoStatementPtr doStatement( + new CodeModel::DoStatement( makeExpression("1234 < 5" ), compoundStatement ) ); + checkGeneratedSource( doStatement, + "{\n" + " do\n" + " {\n" + " ;\n" + " }\n" + " while ( 1234 < 5 );\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertSwitchStatement() + { + CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() ); + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); + compoundStatement->appendStatement( defaultStatement ); + compoundStatement->appendStatement( nullStatement ); + CodeModel::StatementPtr switchStatement( + new CodeModel::SwitchStatement( makeExpression("x" ), compoundStatement ) ); + checkGeneratedSource( switchStatement, + "{\n" + " switch ( x )\n" + " {\n" + " default:\n" + " ;\n" /// @todo need to improve indentation + " }\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertLabelStatement() + { + CodeModel::StatementPtr labelStatement( new CodeModel::LabelStatement( "error" ) ); + checkGeneratedSource( labelStatement, + "{\n" + "error:\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertGotoStatement() + { + CodeModel::StatementPtr gotoStatement( new CodeModel::GotoStatement( "error" ) ); + checkGeneratedSource( gotoStatement, + "{\n" + " goto error;\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertIfThenStatement() + { + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::StatementPtr ifStatement( + new CodeModel::IfStatement( makeExpression( "x < y" ), + nullStatement ) ); + checkGeneratedSource( ifStatement, + "{\n" + " if ( x < y )\n" + " ;\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertIfThenElseStatement() + { + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() ); + CodeModel::StatementPtr ifStatement( + new CodeModel::IfStatement( makeExpression( "z < k" ), + nullStatement, + breakStatement ) ); + checkGeneratedSource( ifStatement, + "{\n" + " if ( z < k )\n" + " ;\n" + " else\n" + " break;\n" + "}" ); + } + + + void + CodeWriterInsertTest::testInsertExpressionStatement() + { + CodeModel::StatementPtr expressionStatement( + new CodeModel::ExpressionStatement( makeExpression( "call( 1234 )" ) ) ); + checkGeneratedSource( expressionStatement, + "{\n" + " call( 1234 );\n" "}" ); } Index: CodeWriterInsertTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterInsertTest.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CodeWriterInsertTest.h 16 Mar 2003 07:37:05 -0000 1.1 --- CodeWriterInsertTest.h 16 Mar 2003 08:27:33 -0000 1.2 *************** *** 17,21 **** --- 17,35 ---- { CPPUNIT_TEST_SUITE( CodeWriterInsertTest ); + CPPUNIT_TEST( testAppendStatementToCompound ); CPPUNIT_TEST( testInsertNullStatement ); + CPPUNIT_TEST( testInsertCompoundStatement ); + CPPUNIT_TEST( testInsertWhileStatement ); + CPPUNIT_TEST( testInsertContinueStatement ); + CPPUNIT_TEST( testInsertBreakStatement ); + CPPUNIT_TEST( testInsertDefaultStatement ); + CPPUNIT_TEST( testInsertCaseStatement ); + CPPUNIT_TEST( testInsertDoStatement ); + CPPUNIT_TEST( testInsertSwitchStatement ); + CPPUNIT_TEST( testInsertLabelStatement ); + CPPUNIT_TEST( testInsertGotoStatement ); + CPPUNIT_TEST( testInsertIfThenStatement ); + CPPUNIT_TEST( testInsertIfThenElseStatement ); + CPPUNIT_TEST( testInsertExpressionStatement ); CPPUNIT_TEST_SUITE_END(); *************** *** 27,35 **** --- 41,65 ---- void tearDown(); + void testAppendStatementToCompound(); void testInsertNullStatement(); + void testInsertCompoundStatement(); + void testInsertWhileStatement(); + void testInsertContinueStatement(); + void testInsertBreakStatement(); + void testInsertDefaultStatement(); + void testInsertCaseStatement(); + void testInsertDoStatement(); + void testInsertSwitchStatement(); + void testInsertLabelStatement(); + void testInsertGotoStatement(); + void testInsertIfThenStatement(); + void testInsertIfThenElseStatement(); + void testInsertExpressionStatement(); private: void checkGeneratedSource( const CodeModel::StatementPtr &insertedStatement, const std::string &expectedSource ); + + void checkGeneratedSource( const std::string &expectedSource ); }; Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** CodeWriterTest.cpp 16 Mar 2003 07:37:05 -0000 1.18 --- CodeWriterTest.cpp 16 Mar 2003 08:27:33 -0000 1.19 *************** *** 68,91 **** void - CodeWriterTest::testInsertStatement() - { - source_ = " {\n" - " }"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - compound_->appendStatement( CodeModel::StatementPtr( new CodeModel::ReturnStatement() ) ); - - rewriteSource(); - - std::string expectedSource = " {\n" - " return;\n" - " }"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void CodeWriterTest::testInsertReturnValueStatement() { --- 68,71 ---- *************** *** 164,469 **** " \n" " return 3;\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertWhileStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); - CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); - compoundStatement->appendStatement( nullStatement ); - CodeModel::WhileStatementPtr whileStatement( - new CodeModel::WhileStatement( makeTrueExpression(), compoundStatement ) ); - compound_->appendStatement( whileStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " while ( true )\n" - " {\n" - " ;\n" - " }\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertContinueStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr continueStatement( new CodeModel::ContinueStatement() ); - compound_->appendStatement( continueStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " continue;\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertBreakStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() ); - compound_->appendStatement( breakStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " break;\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertDefaultStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() ); - compound_->appendStatement( defaultStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " default:\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertCaseStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr caseStatement( new CodeModel::CaseStatement( makeExpression( "1234" ) ) ); - compound_->appendStatement( caseStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " case 1234:\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertDoStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); - CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); - compoundStatement->appendStatement( nullStatement ); - CodeModel::DoStatementPtr doStatement( - new CodeModel::DoStatement( makeExpression("1234 < 5" ), compoundStatement ) ); - compound_->appendStatement( doStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " do\n" - " {\n" - " ;\n" - " }\n" - " while ( 1234 < 5 );\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertSwitchStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() ); - CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); - CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); - compoundStatement->appendStatement( defaultStatement ); - compoundStatement->appendStatement( nullStatement ); - CodeModel::StatementPtr switchStatement( - new CodeModel::SwitchStatement( makeExpression("x" ), compoundStatement ) ); - compound_->appendStatement( switchStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " switch ( x )\n" - " {\n" - " default:\n" - " ;\n" /// @todo need to improve indentation - " }\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertLabelStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr labelStatement( new CodeModel::LabelStatement( "error" ) ); - compound_->appendStatement( labelStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - "error:\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertGotoStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr gotoStatement( new CodeModel::GotoStatement( "error" ) ); - compound_->appendStatement( gotoStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " goto error;\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertIfThenStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); - CodeModel::StatementPtr ifStatement( - new CodeModel::IfStatement( makeExpression( "x < y" ), - nullStatement ) ); - compound_->appendStatement( ifStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " if ( x < y )\n" - " ;\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertIfThenElseStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); - CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() ); - CodeModel::StatementPtr ifStatement( - new CodeModel::IfStatement( makeExpression( "z < k" ), - nullStatement, - breakStatement ) ); - compound_->appendStatement( ifStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " if ( z < k )\n" - " ;\n" - " else\n" - " break;\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void - CodeWriterTest::testInsertExpressionStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr expressionStatement( - new CodeModel::ExpressionStatement( makeExpression( "call( 1234 )" ) ) ); - compound_->appendStatement( expressionStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " call( 1234 );\n" "}"; RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); --- 144,147 ---- Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** CodeWriterTest.h 16 Mar 2003 07:37:05 -0000 1.15 --- CodeWriterTest.h 16 Mar 2003 08:27:33 -0000 1.16 *************** *** 18,37 **** CPPUNIT_TEST_SUITE( CodeWriterTest ); CPPUNIT_TEST( testRewriteStatement ); - CPPUNIT_TEST( testInsertStatement ); CPPUNIT_TEST( testInsertReturnValueStatement ); CPPUNIT_TEST( testRemoveStatement ); CPPUNIT_TEST( testMoveSubExpression ); - CPPUNIT_TEST( testInsertWhileStatement ); - CPPUNIT_TEST( testInsertContinueStatement ); - CPPUNIT_TEST( testInsertBreakStatement ); - CPPUNIT_TEST( testInsertDefaultStatement ); - CPPUNIT_TEST( testInsertCaseStatement ); - CPPUNIT_TEST( testInsertDoStatement ); - CPPUNIT_TEST( testInsertSwitchStatement ); - CPPUNIT_TEST( testInsertLabelStatement ); - CPPUNIT_TEST( testInsertGotoStatement ); - CPPUNIT_TEST( testInsertIfThenStatement ); - CPPUNIT_TEST( testInsertIfThenElseStatement ); - CPPUNIT_TEST( testInsertExpressionStatement ); CPPUNIT_TEST_SUITE_END(); --- 18,24 ---- *************** *** 48,67 **** void testRewriteStatement(); - void testInsertStatement(); void testInsertReturnValueStatement(); void testRemoveStatement(); void testMoveSubExpression(); - void testInsertWhileStatement(); - void testInsertContinueStatement(); - void testInsertBreakStatement(); - void testInsertDefaultStatement(); - void testInsertCaseStatement(); - void testInsertDoStatement(); - void testInsertSwitchStatement(); - void testInsertLabelStatement(); - void testInsertGotoStatement(); - void testInsertIfThenStatement(); - void testInsertIfThenElseStatement(); - void testInsertExpressionStatement(); private: --- 35,41 ---- |
From: <bl...@us...> - 2003-03-16 08:27:35
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv964/src Modified Files: rfta.opt Log Message: * refactored CodeWriterTest Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 Binary files /tmp/cvsiEqI7m and /tmp/cvseU4OFB differ |
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv19979/src/rfta Modified Files: CodeWriterTest.cpp CodeWriterTest.h rfta.dsp Added Files: CodeWriterInsertTest.cpp CodeWriterInsertTest.h CodeWriterTestBase.cpp CodeWriterTestBase.h Log Message: * refactoring tests --- NEW FILE: CodeWriterInsertTest.cpp --- // ////////////////////////////////////////////////////////////////////////// // (c)Copyright 2002, Baptiste Lepilleur. // Created: 2003/03/16 // ////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "CodeWriterInsertTest.h" namespace Refactoring { RFTA_TEST_SUITE_REGISTRATION( CodeWriterInsertTest ); CodeWriterInsertTest::~CodeWriterInsertTest() { } void CodeWriterInsertTest::setUp() { CodeWriterTestBase::setUp(); source_ = "{\n" "}"; generateCompound(); RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); } void CodeWriterInsertTest::tearDown() { CodeWriterTestBase::tearDown(); } void CodeWriterInsertTest::checkGeneratedSource( const CodeModel::StatementPtr &insertedStatement, const std::string &expectedSource ) { compound_->appendStatement( insertedStatement ); rewriteSource(); RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); } void CodeWriterInsertTest::testInsertNullStatement() { CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); checkGeneratedSource( nullStatement, "{\n" " ;\n" "}" ); } } // namespace Refactoring --- NEW FILE: CodeWriterInsertTest.h --- // ////////////////////////////////////////////////////////////////////////// // (c)Copyright 2002, Baptiste Lepilleur. // Created: 2003/03/16 // ////////////////////////////////////////////////////////////////////////// #ifndef RFTA_CODEWRITERINSERTTEST_H #define RFTA_CODEWRITERINSERTTEST_H #include "CodeWriterTestBase.h" namespace Refactoring { /// Unit tests for CodeWriterInsertTest class CodeWriterInsertTest : public CodeWriterTestBase { CPPUNIT_TEST_SUITE( CodeWriterInsertTest ); CPPUNIT_TEST( testInsertNullStatement ); CPPUNIT_TEST_SUITE_END(); public: /// Destructor. virtual ~CodeWriterInsertTest(); void setUp(); void tearDown(); void testInsertNullStatement(); private: void checkGeneratedSource( const CodeModel::StatementPtr &insertedStatement, const std::string &expectedSource ); }; // Inlines methods for CodeWriterInsertTest: // ----------------------------------------- } // namespace Refactoring #endif // RFTA_CODEWRITERINSERTTEST_H --- NEW FILE: CodeWriterTestBase.cpp --- // ////////////////////////////////////////////////////////////////////////// // (c)Copyright 2002, Baptiste Lepilleur. // Created: 2003/03/16 // ////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "CodeWriterTestBase.h" #include <rfta/refactoring/CodeModel.h> namespace Refactoring { void CodeWriterTestBase::setUp() { SourceBasedTestBase::setUp(); compound_.reset(); document_.reset(); writer_.reset(); } void CodeWriterTestBase::tearDown() { writer_.reset(); document_.reset(); compound_.reset(); SourceBasedTestBase::tearDown(); } void CodeWriterTestBase::generateCompound() { blankAndParse(); ASTNodePtr compoundNode = sourceNode_->getChildAt(0); CodeModel::Generator generator; compound_ = generator.generateCompound( compoundNode ); document_.reset( new PlainTextDocument( source_ ) ); } void CodeWriterTestBase::rewriteSource() { writer_.reset( new CodeModel::CodeRewriter( source_, 2 ) ); writer_->rewrite( *compound_, *document_ ); } CodeModel::ExpressionPtr CodeWriterTestBase::makeTrueExpression() { return makeExpression( "true" ); } CodeModel::ExpressionPtr CodeWriterTestBase::makeExpression( const std::string &expression ) { return CodeModel::ExpressionPtr( new CodeModel::GenericExpression( expression ) ); } } // namespace Refactoring --- NEW FILE: CodeWriterTestBase.h --- // ////////////////////////////////////////////////////////////////////////// // (c)Copyright 2002, Baptiste Lepilleur. // Created: 2003/03/16 // ////////////////////////////////////////////////////////////////////////// #ifndef RFTA_CODEWRITERTESTBASE_H #define RFTA_CODEWRITERTESTBASE_H #include <rfta/refactoring/CodeModelStatements.h> #include <rfta/refactoring/CodeModelExpressions.h> #include <rfta/refactoring/PlainTextDocument.h> #include "CodeRewriter.h" #include "SourceBasedTestBase.h" namespace Refactoring { class CodeWriterTestBase : public SourceBasedTestBase { public: void setUp(); void tearDown(); protected: void generateCompound(); void rewriteSource(); CodeModel::ExpressionPtr makeTrueExpression(); CodeModel::ExpressionPtr makeExpression( const std::string &expression ); CodeModel::CompoundStatementPtr compound_; boost::shared_ptr<PlainTextDocument> document_; boost::shared_ptr<CodeModel::CodeRewriter> writer_; }; // Inlines methods for CodeWriterTestBase: // ---------------------------------------- } // namespace Refactoring #endif // RFTA_CODEWRITERTESTBASE_H Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** CodeWriterTest.cpp 16 Mar 2003 07:14:31 -0000 1.17 --- CodeWriterTest.cpp 16 Mar 2003 07:37:05 -0000 1.18 *************** *** 6,10 **** #include "stdafx.h" #include "CodeWriterTest.h" - #include <rfta/refactoring/CodeModel.h> --- 6,9 ---- *************** *** 28,35 **** CodeWriterTest::setUp() { ! SourceBasedTestBase::setUp(); ! compound_.reset(); ! document_.reset(); ! writer_.reset(); } --- 27,31 ---- CodeWriterTest::setUp() { ! CodeWriterTestBase::setUp(); } *************** *** 38,80 **** CodeWriterTest::tearDown() { ! writer_.reset(); ! document_.reset(); ! compound_.reset(); ! SourceBasedTestBase::tearDown(); ! } ! ! ! void ! CodeWriterTest::generateCompound() ! { ! blankAndParse(); ! ! ASTNodePtr compoundNode = sourceNode_->getChildAt(0); ! CodeModel::Generator generator; ! compound_ = generator.generateCompound( compoundNode ); ! ! document_.reset( new PlainTextDocument( source_ ) ); ! } ! ! ! void ! CodeWriterTest::rewriteSource() ! { ! writer_.reset( new CodeModel::CodeRewriter( source_, 2 ) ); ! writer_->rewrite( *compound_, *document_ ); ! } ! ! ! CodeModel::ExpressionPtr ! CodeWriterTest::makeTrueExpression() ! { ! return makeExpression( "true" ); ! } ! ! ! CodeModel::ExpressionPtr ! CodeWriterTest::makeExpression( const std::string &expression ) ! { ! return CodeModel::ExpressionPtr( new CodeModel::GenericExpression( expression ) ); } --- 34,38 ---- CodeWriterTest::tearDown() { ! CodeWriterTestBase::tearDown(); } *************** *** 212,237 **** void - CodeWriterTest::testInsertNullStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); - compound_->appendStatement( nullStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " ;\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void CodeWriterTest::testInsertWhileStatement() { --- 170,173 ---- *************** *** 533,536 **** --- 469,473 ---- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); } + } // namespace Refactoring Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** CodeWriterTest.h 16 Mar 2003 07:14:31 -0000 1.14 --- CodeWriterTest.h 16 Mar 2003 07:37:05 -0000 1.15 *************** *** 6,14 **** #define RFTA_CODEWRITERTEST_H ! #include <rfta/refactoring/CodeModelStatements.h> ! #include <rfta/refactoring/CodeModelExpressions.h> ! #include <rfta/refactoring/PlainTextDocument.h> ! #include "SourceBasedTestBase.h" ! #include "CodeRewriter.h" --- 6,10 ---- #define RFTA_CODEWRITERTEST_H ! #include "CodeWriterTestBase.h" *************** *** 18,22 **** /// Unit tests for CodeWriterTest ! class CodeWriterTest : public SourceBasedTestBase { CPPUNIT_TEST_SUITE( CodeWriterTest ); --- 14,18 ---- /// Unit tests for CodeWriterTest ! class CodeWriterTest : public CodeWriterTestBase { CPPUNIT_TEST_SUITE( CodeWriterTest ); *************** *** 26,30 **** CPPUNIT_TEST( testRemoveStatement ); CPPUNIT_TEST( testMoveSubExpression ); - CPPUNIT_TEST( testInsertNullStatement ); CPPUNIT_TEST( testInsertWhileStatement ); CPPUNIT_TEST( testInsertContinueStatement ); --- 22,25 ---- *************** *** 57,61 **** void testRemoveStatement(); void testMoveSubExpression(); - void testInsertNullStatement(); void testInsertWhileStatement(); void testInsertContinueStatement(); --- 52,55 ---- *************** *** 72,83 **** private: - void generateCompound(); - void rewriteSource(); - CodeModel::ExpressionPtr makeTrueExpression(); - CodeModel::ExpressionPtr makeExpression( const std::string &expression ); - - CodeModel::CompoundStatementPtr compound_; - boost::shared_ptr<PlainTextDocument> document_; - boost::shared_ptr<CodeModel::CodeRewriter> writer_; }; --- 66,69 ---- Index: rfta.dsp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/rfta.dsp,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** rfta.dsp 15 Mar 2003 17:01:32 -0000 1.39 --- rfta.dsp 16 Mar 2003 07:37:05 -0000 1.40 *************** *** 927,930 **** --- 927,938 ---- # Begin Source File + SOURCE=.\CodeWriterInsertTest.cpp + # End Source File + # Begin Source File + + SOURCE=.\CodeWriterInsertTest.h + # End Source File + # Begin Source File + SOURCE=.\CodeWriterTest.cpp *************** *** 950,953 **** --- 958,969 ---- !ENDIF + # End Source File + # Begin Source File + + SOURCE=.\CodeWriterTestBase.cpp + # End Source File + # Begin Source File + + SOURCE=.\CodeWriterTestBase.h # End Source File # End Group |
From: <bl...@us...> - 2003-03-16 07:37:08
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv19979/src Modified Files: rfta.opt Log Message: * refactoring tests Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 Binary files /tmp/cvsoP0prK and /tmp/cvscHY88j differ |
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/src/rftaparser In directory sc8-pr-cvs1:/tmp/cvs-serv19871/src/rftaparser Modified Files: .cvsignore Log Message: * added missing files Index: .cvsignore =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rftaparser/.cvsignore,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** .cvsignore 23 Oct 2002 20:25:18 -0000 1.1.1.1 --- .cvsignore 16 Mar 2003 07:36:40 -0000 1.2 *************** *** 1 **** --- 1,2 ---- *.WW + *.plg |
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/bin In directory sc8-pr-cvs1:/tmp/cvs-serv19871/bin Added Files: DeclarativeCondition.cpp Log Message: * added missing files --- NEW FILE: DeclarativeCondition.cpp --- { if ( int x = 3 ) ; while ( char c = next() ) ; switch ( char token = nextToken() ) { default: } for ( int count =0; count < maxCount; ++count ) ; } |
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv19871/src/rfta Modified Files: .cvsignore Log Message: * added missing files Index: .cvsignore =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .cvsignore 26 Oct 2002 18:15:52 -0000 1.1 --- .cvsignore 16 Mar 2003 07:36:40 -0000 1.2 *************** *** 1 **** --- 1,2 ---- *.WW + *.plg |
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/doc In directory sc8-pr-cvs1:/tmp/cvs-serv19871/doc Added Files: compile-farm.txt Log Message: * added missing files --- NEW FILE: compile-farm.txt --- * Accessing the CVS repository from the compile farm: (replace blep by your user login) ssh -l blep cf.sf.net export CVS_RSH=ssh export CVSROOT=:ext:bl...@cv...:/cvsroot/cpptool * To checkout CVSROOT (admin directory): cvs -z3 co CVSROOT |
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/include/xtl In directory sc8-pr-cvs1:/tmp/cvs-serv19871/include/xtl Added Files: .cvsignore Log Message: * added missing files --- NEW FILE: .cvsignore --- *.h |
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/src/astdumper In directory sc8-pr-cvs1:/tmp/cvs-serv19871/src/astdumper Modified Files: .cvsignore Log Message: * added missing files Index: .cvsignore =================================================================== RCS file: /cvsroot/cpptool/rfta/src/astdumper/.cvsignore,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** .cvsignore 23 Oct 2002 20:25:16 -0000 1.1.1.1 --- .cvsignore 16 Mar 2003 07:36:40 -0000 1.2 *************** *** 1 **** --- 1,2 ---- *.WW + *.plg |
From: <bl...@us...> - 2003-03-16 07:14:34
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv14905/src/rfta Modified Files: CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h Log Message: * added support for inserting expression statement. Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** CodeRewriter.cpp 16 Mar 2003 06:59:06 -0000 1.15 --- CodeRewriter.cpp 16 Mar 2003 07:14:31 -0000 1.16 *************** *** 227,230 **** --- 227,233 ---- CodeRewriter::visit( ExpressionStatement &statement ) { + beginInsertNewStatement(); + statement.getExpression()->accept( *this ); + endInsertNewStatement(); } Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** CodeWriterTest.cpp 16 Mar 2003 06:59:06 -0000 1.16 --- CodeWriterTest.cpp 16 Mar 2003 07:14:31 -0000 1.17 *************** *** 512,514 **** --- 512,536 ---- + void + CodeWriterTest::testInsertExpressionStatement() + { + source_ = "{\n" + "}"; + + generateCompound(); + + RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); + + CodeModel::StatementPtr expressionStatement( + new CodeModel::ExpressionStatement( makeExpression( "call( 1234 )" ) ) ); + compound_->appendStatement( expressionStatement ); + + rewriteSource(); + + std::string expectedSource = "{\n" + " call( 1234 );\n" + "}"; + RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); + } + } // namespace Refactoring Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** CodeWriterTest.h 16 Mar 2003 06:59:07 -0000 1.13 --- CodeWriterTest.h 16 Mar 2003 07:14:31 -0000 1.14 *************** *** 38,41 **** --- 38,42 ---- CPPUNIT_TEST( testInsertIfThenStatement ); CPPUNIT_TEST( testInsertIfThenElseStatement ); + CPPUNIT_TEST( testInsertExpressionStatement ); CPPUNIT_TEST_SUITE_END(); *************** *** 68,71 **** --- 69,73 ---- void testInsertIfThenStatement(); void testInsertIfThenElseStatement(); + void testInsertExpressionStatement(); private: |
From: <bl...@us...> - 2003-03-16 07:14:34
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv14905/src Modified Files: rfta.opt Log Message: * added support for inserting expression statement. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -d -r1.78 -r1.79 Binary files /tmp/cvsJlgXX7 and /tmp/cvsYsX5B7 differ |
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv11028/src/rfta Modified Files: CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h IndentLevelManager.cpp IndentLevelManager.h Log Message: * added support for inserting if/then/else statement. Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** CodeRewriter.cpp 16 Mar 2003 06:52:20 -0000 1.14 --- CodeRewriter.cpp 16 Mar 2003 06:59:06 -0000 1.15 *************** *** 269,273 **** --- 269,281 ---- statement.getThenStatement()->accept( *this ); if ( statement.hasElseStatement() ) + { + restorer.restoreIndentLevel(); + IndentLevelManager::IndentRestorer restorer2( indentManager_ ); + beginInsertNewStatement(); + insertText( "else" ); + if ( isInserting() ) + indentManager_.enterNewElseStatement(); statement.getElseStatement()->accept( *this ); + } } Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** CodeWriterTest.cpp 16 Mar 2003 06:52:20 -0000 1.15 --- CodeWriterTest.cpp 16 Mar 2003 06:59:06 -0000 1.16 *************** *** 482,484 **** --- 482,514 ---- + void + CodeWriterTest::testInsertIfThenElseStatement() + { + source_ = "{\n" + "}"; + + generateCompound(); + + RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); + + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() ); + CodeModel::StatementPtr ifStatement( + new CodeModel::IfStatement( makeExpression( "z < k" ), + nullStatement, + breakStatement ) ); + compound_->appendStatement( ifStatement ); + + rewriteSource(); + + std::string expectedSource = "{\n" + " if ( z < k )\n" + " ;\n" + " else\n" + " break;\n" + "}"; + RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); + } + + } // namespace Refactoring Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** CodeWriterTest.h 16 Mar 2003 06:52:20 -0000 1.12 --- CodeWriterTest.h 16 Mar 2003 06:59:07 -0000 1.13 *************** *** 37,40 **** --- 37,41 ---- CPPUNIT_TEST( testInsertGotoStatement ); CPPUNIT_TEST( testInsertIfThenStatement ); + CPPUNIT_TEST( testInsertIfThenElseStatement ); CPPUNIT_TEST_SUITE_END(); *************** *** 66,69 **** --- 67,71 ---- void testInsertGotoStatement(); void testInsertIfThenStatement(); + void testInsertIfThenElseStatement(); private: Index: IndentLevelManager.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/IndentLevelManager.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** IndentLevelManager.cpp 16 Mar 2003 06:52:20 -0000 1.4 --- IndentLevelManager.cpp 16 Mar 2003 06:59:07 -0000 1.5 *************** *** 46,49 **** --- 46,56 ---- + void + IndentLevelManager::enterNewElseStatement() + { + pushIndent( getIndentLevel() + indentWidth_ ); + } + + int IndentLevelManager::findIndentLevelOf( int pos ) const Index: IndentLevelManager.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/IndentLevelManager.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** IndentLevelManager.h 16 Mar 2003 06:52:20 -0000 1.5 --- IndentLevelManager.h 16 Mar 2003 06:59:07 -0000 1.6 *************** *** 62,65 **** --- 62,67 ---- void enterNewIfStatement(); + void enterNewElseStatement(); + int getIndentLevel() const; |
From: <bl...@us...> - 2003-03-16 06:59:10
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv11028/src Modified Files: rfta.opt Log Message: * added support for inserting if/then/else statement. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 Binary files /tmp/cvspHR9ug and /tmp/cvs60gRDo differ |
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv9325/src/rfta Modified Files: CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h IndentLevelManager.cpp IndentLevelManager.h Log Message: * added support for inserting if/then statement. Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** CodeRewriter.cpp 15 Mar 2003 22:05:23 -0000 1.13 --- CodeRewriter.cpp 16 Mar 2003 06:52:20 -0000 1.14 *************** *** 254,258 **** --- 254,270 ---- CodeRewriter::visit( IfStatement &statement ) { + if ( isInserting() ) + { + beginInsertNewStatement(); + insertText( "if ( " ); + } statement.getCondition()->accept( *this ); + + IndentLevelManager::IndentRestorer restorer( indentManager_ ); + if ( isInserting() ) + { + insertText( " )" ); + indentManager_.enterNewIfStatement(); + } statement.getThenStatement()->accept( *this ); if ( statement.hasElseStatement() ) Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** CodeWriterTest.cpp 15 Mar 2003 21:51:43 -0000 1.14 --- CodeWriterTest.cpp 16 Mar 2003 06:52:20 -0000 1.15 *************** *** 456,458 **** --- 456,484 ---- + void + CodeWriterTest::testInsertIfThenStatement() + { + source_ = "{\n" + "}"; + + generateCompound(); + + RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); + + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::StatementPtr ifStatement( + new CodeModel::IfStatement( makeExpression( "x < y" ), + nullStatement ) ); + compound_->appendStatement( ifStatement ); + + rewriteSource(); + + std::string expectedSource = "{\n" + " if ( x < y )\n" + " ;\n" + "}"; + RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); + } + + } // namespace Refactoring Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** CodeWriterTest.h 15 Mar 2003 21:51:43 -0000 1.11 --- CodeWriterTest.h 16 Mar 2003 06:52:20 -0000 1.12 *************** *** 36,39 **** --- 36,40 ---- CPPUNIT_TEST( testInsertLabelStatement ); CPPUNIT_TEST( testInsertGotoStatement ); + CPPUNIT_TEST( testInsertIfThenStatement ); CPPUNIT_TEST_SUITE_END(); *************** *** 64,67 **** --- 65,69 ---- void testInsertLabelStatement(); void testInsertGotoStatement(); + void testInsertIfThenStatement(); private: Index: IndentLevelManager.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/IndentLevelManager.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** IndentLevelManager.cpp 15 Mar 2003 20:57:38 -0000 1.3 --- IndentLevelManager.cpp 16 Mar 2003 06:52:20 -0000 1.4 *************** *** 39,42 **** --- 39,49 ---- + void + IndentLevelManager::enterNewIfStatement() + { + pushIndent( getIndentLevel() + indentWidth_ ); + } + + int IndentLevelManager::findIndentLevelOf( int pos ) const Index: IndentLevelManager.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/IndentLevelManager.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** IndentLevelManager.h 15 Mar 2003 20:57:38 -0000 1.4 --- IndentLevelManager.h 16 Mar 2003 06:52:20 -0000 1.5 *************** *** 60,63 **** --- 60,65 ---- void enterNewCompoundStatement(); + void enterNewIfStatement(); + int getIndentLevel() const; |
From: <bl...@us...> - 2003-03-16 06:52:22
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv9325/src Modified Files: rfta.opt Log Message: * added support for inserting if/then statement. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 Binary files /tmp/cvsE8BnFk and /tmp/cvsYb7dFu differ |
From: <bl...@us...> - 2003-03-15 22:05:26
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv17930a/src/rfta Modified Files: CodeRewriter.cpp CodeRewriter.h Log Message: * refactored a bit Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** CodeRewriter.cpp 15 Mar 2003 21:51:43 -0000 1.12 --- CodeRewriter.cpp 15 Mar 2003 22:05:23 -0000 1.13 *************** *** 85,92 **** void CodeRewriter::visit( BreakStatement &statement ) { if ( isInserting() ) ! insertText( "\n" + indentManager_.getIndentSpacer() + "break;" ); } --- 85,117 ---- void + CodeRewriter::beginInsertNewStatement() + { + insertText( "\n" + indentManager_.getIndentSpacer() ); + } + + + void + CodeRewriter::endInsertNewStatement() + { + insertText( ";" ); + } + + + void + CodeRewriter::endInsertNewLabelStatement() + { + insertText( ":" ); + } + + + void CodeRewriter::visit( BreakStatement &statement ) { if ( isInserting() ) ! { ! beginInsertNewStatement(); ! insertText( "break" ); ! endInsertNewStatement(); ! } } *************** *** 97,103 **** if ( isInserting() ) { ! insertText( "\n" + indentManager_.getIndentSpacer() + "case " ); statement.getConditionValue()->accept( *this ); ! insertText( ":" ); } } --- 122,129 ---- if ( isInserting() ) { ! beginInsertNewStatement(); ! insertText( "case " ); statement.getConditionValue()->accept( *this ); ! endInsertNewLabelStatement(); } } *************** *** 158,162 **** { if ( isInserting() ) ! insertText( "\n" + indentManager_.getIndentSpacer() + "continue;" ); } --- 184,192 ---- { if ( isInserting() ) ! { ! beginInsertNewStatement(); ! insertText( "continue" ); ! endInsertNewStatement(); ! } } *************** *** 166,170 **** { if ( isInserting() ) ! insertText( "\n" + indentManager_.getIndentSpacer() + "default:" ); } --- 196,204 ---- { if ( isInserting() ) ! { ! beginInsertNewStatement(); ! insertText( "default" ); ! endInsertNewLabelStatement(); ! } } *************** *** 179,187 **** CodeRewriter::visit( DoStatement &statement ) { ! insertText( "\n" + indentManager_.getIndentSpacer() + "do" ); statement.getIteratedStatement()->accept( *this ); ! insertText( "\n" + indentManager_.getIndentSpacer() + "while ( " ); statement.getCondition()->accept( *this ); ! insertText( " );" ); } --- 213,224 ---- CodeRewriter::visit( DoStatement &statement ) { ! beginInsertNewStatement(); ! insertText( "do" ); statement.getIteratedStatement()->accept( *this ); ! beginInsertNewStatement(); ! insertText( "while ( " ); statement.getCondition()->accept( *this ); ! insertText( " )" ); ! endInsertNewStatement(); } *************** *** 208,212 **** CodeRewriter::visit( GotoStatement &statement ) { ! insertText( "\n" + indentManager_.getIndentSpacer() + "goto " + statement.getLabelName() + ";" ); } --- 245,251 ---- CodeRewriter::visit( GotoStatement &statement ) { ! beginInsertNewStatement(); ! insertText( "goto " + statement.getLabelName() ); ! endInsertNewStatement(); } *************** *** 239,243 **** { if ( isInserting() ) ! insertText( "\n" + indentManager_.getIndentSpacer() + ";" ); } --- 278,285 ---- { if ( isInserting() ) ! { ! beginInsertNewStatement(); ! endInsertNewStatement(); ! } } *************** *** 265,269 **** else if ( isInserting() ) { ! insertText( "\n" + indentManager_.getIndentSpacer() + "return" ); if ( statement.hasValue() ) { --- 307,312 ---- else if ( isInserting() ) { ! beginInsertNewStatement(); ! insertText( "return" ); if ( statement.hasValue() ) { *************** *** 271,275 **** statement.getValue()->accept( *this ); } ! insertText( ";" ); } } --- 314,318 ---- statement.getValue()->accept( *this ); } ! endInsertNewStatement(); } } *************** *** 285,289 **** CodeRewriter::visit( SwitchStatement &statement ) { ! insertText( "\n" + indentManager_.getIndentSpacer() + "switch ( " ); statement.getCondition()->accept( *this ); insertText( " )" ); --- 328,333 ---- CodeRewriter::visit( SwitchStatement &statement ) { ! beginInsertNewStatement(); ! insertText( "switch ( " ); statement.getCondition()->accept( *this ); insertText( " )" ); *************** *** 295,299 **** CodeRewriter::visit( WhileStatement &statement ) { ! insertText( "\n" + indentManager_.getIndentSpacer() + "while ( " ); statement.getCondition()->accept( *this ); insertText( " )" ); --- 339,344 ---- CodeRewriter::visit( WhileStatement &statement ) { ! beginInsertNewStatement(); ! insertText( "while ( " ); statement.getCondition()->accept( *this ); insertText( " )" ); Index: CodeRewriter.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CodeRewriter.h 15 Mar 2003 21:29:43 -0000 1.7 --- CodeRewriter.h 15 Mar 2003 22:05:23 -0000 1.8 *************** *** 107,110 **** --- 107,114 ---- bool isUpdating() const; + void beginInsertNewStatement(); + void endInsertNewStatement(); + void endInsertNewLabelStatement(); + private: IndentLevelManager indentManager_; |
From: <bl...@us...> - 2003-03-15 22:05:26
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv17930a/src Modified Files: rfta.opt Log Message: * refactored a bit Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 Binary files /tmp/cvsCVlVwc and /tmp/cvsoPGBie differ |
From: <bl...@us...> - 2003-03-15 21:51:46
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv13677/src Modified Files: rfta.opt Log Message: * added support for inserting label and goto statements. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 Binary files /tmp/cvswJPeHe and /tmp/cvsSaZQAi differ |
From: <bl...@us...> - 2003-03-15 21:51:46
|
Update of /cvsroot/cpptool/rfta/include/rfta/refactoring In directory sc8-pr-cvs1:/tmp/cvs-serv13677/include/rfta/refactoring Modified Files: CodeModelStatements.h Log Message: * added support for inserting label and goto statements. Index: CodeModelStatements.h =================================================================== RCS file: /cvsroot/cpptool/rfta/include/rfta/refactoring/CodeModelStatements.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CodeModelStatements.h 12 Mar 2003 07:46:09 -0000 1.4 --- CodeModelStatements.h 15 Mar 2003 21:51:42 -0000 1.5 *************** *** 222,238 **** ! class LabelStatement : public Statement { public: ! LabelStatement( const std::string &labelName ); const std::string getLabelName() const; void setLabelName( const std::string &labelName ); // overriden from Statement void accept( StatementVisitor &visitor ); ! private: ! std::string labelName_; }; --- 222,269 ---- ! class FlowControlStatement : public Statement { public: ! // overriden from Statement ! void accept( StatementVisitor &visitor ); ! }; ! ! ! class LabelHolderStatement ! { ! public: ! LabelHolderStatement( const std::string &labelName ); ! ! virtual ~LabelHolderStatement() ! { ! } const std::string getLabelName() const; void setLabelName( const std::string &labelName ); + private: + std::string labelName_; + }; + + + class LabelStatement : public Statement + , public LabelHolderStatement + { + public: + LabelStatement( const std::string &labelName ); + // overriden from Statement void accept( StatementVisitor &visitor ); + }; ! ! class GotoStatement : public FlowControlStatement ! , public LabelHolderStatement ! { ! public: ! GotoStatement( const std::string &labelName ); ! ! // overriden from Statement ! void accept( StatementVisitor &visitor ); }; *************** *** 270,281 **** - class FlowControlStatement : public Statement - { - public: - // overriden from Statement - void accept( StatementVisitor &visitor ); - }; - - class BreakStatement : public FlowControlStatement { --- 301,304 ---- *************** *** 315,326 **** ExpressionPtr value_; Change change_; - }; - - - class GotoStatement : public FlowControlStatement - { - public: - // overriden from Statement - void accept( StatementVisitor &visitor ); }; --- 338,341 ---- |
From: <bl...@us...> - 2003-03-15 21:51:46
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv13677/src/rfta Modified Files: CodeModelStatements.cpp CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h Log Message: * added support for inserting label and goto statements. Index: CodeModelStatements.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelStatements.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CodeModelStatements.cpp 8 Mar 2003 13:11:42 -0000 1.4 --- CodeModelStatements.cpp 15 Mar 2003 21:51:43 -0000 1.5 *************** *** 352,356 **** ! LabelStatement::LabelStatement( const std::string &labelName ) : labelName_( labelName ) { --- 352,356 ---- ! LabelHolderStatement::LabelHolderStatement( const std::string &labelName ) : labelName_( labelName ) { *************** *** 359,363 **** const std::string ! LabelStatement::getLabelName() const { return labelName_; --- 359,363 ---- const std::string ! LabelHolderStatement::getLabelName() const { return labelName_; *************** *** 366,374 **** void ! LabelStatement::setLabelName( const std::string &labelName ) { labelName_ = labelName; } void LabelStatement::accept( StatementVisitor &visitor ) --- 366,381 ---- void ! LabelHolderStatement::setLabelName( const std::string &labelName ) { labelName_ = labelName; } + + + LabelStatement::LabelStatement( const std::string &labelName ) + : LabelHolderStatement( labelName ) + { + } + void LabelStatement::accept( StatementVisitor &visitor ) *************** *** 379,382 **** --- 386,403 ---- + GotoStatement::GotoStatement( const std::string &labelName ) + : LabelHolderStatement( labelName ) + { + } + + void + GotoStatement::accept( StatementVisitor &visitor ) + { + FlowControlStatement::accept( visitor ); + visitor.visit( *this ); + } + + + void SwitchLabelStatement::accept( StatementVisitor &visitor ) *************** *** 513,525 **** { return change_; - } - - - - void - GotoStatement::accept( StatementVisitor &visitor ) - { - FlowControlStatement::accept( visitor ); - visitor.visit( *this ); } --- 534,537 ---- Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** CodeRewriter.cpp 15 Mar 2003 21:37:25 -0000 1.11 --- CodeRewriter.cpp 15 Mar 2003 21:51:43 -0000 1.12 *************** *** 208,211 **** --- 208,212 ---- CodeRewriter::visit( GotoStatement &statement ) { + insertText( "\n" + indentManager_.getIndentSpacer() + "goto " + statement.getLabelName() + ";" ); } *************** *** 230,233 **** --- 231,235 ---- CodeRewriter::visit( LabelStatement &statement ) { + insertText( "\n" + statement.getLabelName() + ":" ); } Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** CodeWriterTest.cpp 15 Mar 2003 21:37:25 -0000 1.13 --- CodeWriterTest.cpp 15 Mar 2003 21:51:43 -0000 1.14 *************** *** 412,414 **** --- 412,458 ---- + void + CodeWriterTest::testInsertLabelStatement() + { + source_ = "{\n" + "}"; + + generateCompound(); + + RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); + + CodeModel::StatementPtr labelStatement( new CodeModel::LabelStatement( "error" ) ); + compound_->appendStatement( labelStatement ); + + rewriteSource(); + + std::string expectedSource = "{\n" + "error:\n" + "}"; + RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); + } + + + void + CodeWriterTest::testInsertGotoStatement() + { + source_ = "{\n" + "}"; + + generateCompound(); + + RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); + + CodeModel::StatementPtr gotoStatement( new CodeModel::GotoStatement( "error" ) ); + compound_->appendStatement( gotoStatement ); + + rewriteSource(); + + std::string expectedSource = "{\n" + " goto error;\n" + "}"; + RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); + } + + } // namespace Refactoring Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** CodeWriterTest.h 15 Mar 2003 21:37:25 -0000 1.10 --- CodeWriterTest.h 15 Mar 2003 21:51:43 -0000 1.11 *************** *** 34,37 **** --- 34,39 ---- CPPUNIT_TEST( testInsertDoStatement ); CPPUNIT_TEST( testInsertSwitchStatement ); + CPPUNIT_TEST( testInsertLabelStatement ); + CPPUNIT_TEST( testInsertGotoStatement ); CPPUNIT_TEST_SUITE_END(); *************** *** 60,63 **** --- 62,67 ---- void testInsertDoStatement(); void testInsertSwitchStatement(); + void testInsertLabelStatement(); + void testInsertGotoStatement(); private: |
From: <bl...@us...> - 2003-03-15 21:37:28
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv9293/src/rfta Modified Files: CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h Log Message: * added support for inserting switch statement. Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** CodeRewriter.cpp 15 Mar 2003 21:29:43 -0000 1.10 --- CodeRewriter.cpp 15 Mar 2003 21:37:25 -0000 1.11 *************** *** 283,286 **** --- 283,290 ---- CodeRewriter::visit( SwitchStatement &statement ) { + insertText( "\n" + indentManager_.getIndentSpacer() + "switch ( " ); + statement.getCondition()->accept( *this ); + insertText( " )" ); + statement.getStatements()->accept( *this ); } Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** CodeWriterTest.cpp 15 Mar 2003 21:29:43 -0000 1.12 --- CodeWriterTest.cpp 15 Mar 2003 21:37:25 -0000 1.13 *************** *** 380,382 **** --- 380,414 ---- + void + CodeWriterTest::testInsertSwitchStatement() + { + source_ = "{\n" + "}"; + + generateCompound(); + + RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); + + CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() ); + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); + compoundStatement->appendStatement( defaultStatement ); + compoundStatement->appendStatement( nullStatement ); + CodeModel::StatementPtr switchStatement( + new CodeModel::SwitchStatement( makeExpression("x" ), compoundStatement ) ); + compound_->appendStatement( switchStatement ); + + rewriteSource(); + + std::string expectedSource = "{\n" + " switch ( x )\n" + " {\n" + " default:\n" + " ;\n" /// @todo need to improve indentation + " }\n" + "}"; + RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); + } + + } // namespace Refactoring Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** CodeWriterTest.h 15 Mar 2003 21:29:43 -0000 1.9 --- CodeWriterTest.h 15 Mar 2003 21:37:25 -0000 1.10 *************** *** 33,36 **** --- 33,37 ---- CPPUNIT_TEST( testInsertCaseStatement ); CPPUNIT_TEST( testInsertDoStatement ); + CPPUNIT_TEST( testInsertSwitchStatement ); CPPUNIT_TEST_SUITE_END(); *************** *** 58,61 **** --- 59,63 ---- void testInsertCaseStatement(); void testInsertDoStatement(); + void testInsertSwitchStatement(); private: |
From: <bl...@us...> - 2003-03-15 21:37:28
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv9293/src Modified Files: rfta.opt Log Message: * added support for inserting switch statement. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 Binary files /tmp/cvsuDmXFQ and /tmp/cvsa0PD1y differ |
From: <bl...@us...> - 2003-03-15 21:30:13
|
Update of /cvsroot/cpptool/rfta/include/rfta/refactoring In directory sc8-pr-cvs1:/tmp/cvs-serv6289/include/rfta/refactoring Modified Files: CodeModelForward.h Log Message: * added support for inserting do/while statement. Index: CodeModelForward.h =================================================================== RCS file: /cvsroot/cpptool/rfta/include/rfta/refactoring/CodeModelForward.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CodeModelForward.h 15 Mar 2003 20:57:35 -0000 1.4 --- CodeModelForward.h 15 Mar 2003 21:29:40 -0000 1.5 *************** *** 50,53 **** --- 50,54 ---- typedef boost::shared_ptr<DeclaratorExpression> DeclaratorExpressionPtr; typedef boost::shared_ptr<Expression> ExpressionPtr; + typedef boost::shared_ptr<DoStatement> DoStatementPtr; typedef boost::shared_ptr<WhileStatement> WhileStatementPtr; typedef boost::weak_ptr<Expression> ExpressionWeakPtr; |
From: <bl...@us...> - 2003-03-15 21:29:45
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv6289/src/rfta Modified Files: CodeRewriter.cpp CodeRewriter.h CodeWriterTest.cpp CodeWriterTest.h Log Message: * added support for inserting do/while statement. Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** CodeRewriter.cpp 15 Mar 2003 21:18:44 -0000 1.9 --- CodeRewriter.cpp 15 Mar 2003 21:29:43 -0000 1.10 *************** *** 85,98 **** void - CodeRewriter::setPreviousStatementEnd( CompoundStatement &statement, - int subStatementIndex ) - { - if ( subStatementIndex == 0 ) - { - } - } - - - void CodeRewriter::visit( BreakStatement &statement ) { --- 85,88 ---- *************** *** 189,192 **** --- 179,187 ---- CodeRewriter::visit( DoStatement &statement ) { + insertText( "\n" + indentManager_.getIndentSpacer() + "do" ); + statement.getIteratedStatement()->accept( *this ); + insertText( "\n" + indentManager_.getIndentSpacer() + "while ( " ); + statement.getCondition()->accept( *this ); + insertText( " );" ); } Index: CodeRewriter.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CodeRewriter.h 8 Mar 2003 13:11:42 -0000 1.6 --- CodeRewriter.h 15 Mar 2003 21:29:43 -0000 1.7 *************** *** 66,72 **** void visit( NullExpression &expression ); - void setPreviousStatementEnd( CompoundStatement &statement, - int subStatementIndex ); - private: enum Mode --- 66,69 ---- Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** CodeWriterTest.cpp 15 Mar 2003 21:18:44 -0000 1.11 --- CodeWriterTest.cpp 15 Mar 2003 21:29:43 -0000 1.12 *************** *** 350,352 **** --- 350,382 ---- + void + CodeWriterTest::testInsertDoStatement() + { + source_ = "{\n" + "}"; + + generateCompound(); + + RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); + + CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); + CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() ); + compoundStatement->appendStatement( nullStatement ); + CodeModel::DoStatementPtr doStatement( + new CodeModel::DoStatement( makeExpression("1234 < 5" ), compoundStatement ) ); + compound_->appendStatement( doStatement ); + + rewriteSource(); + + std::string expectedSource = "{\n" + " do\n" + " {\n" + " ;\n" + " }\n" + " while ( 1234 < 5 );\n" + "}"; + RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); + } + + } // namespace Refactoring Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CodeWriterTest.h 15 Mar 2003 21:18:44 -0000 1.8 --- CodeWriterTest.h 15 Mar 2003 21:29:43 -0000 1.9 *************** *** 32,35 **** --- 32,36 ---- CPPUNIT_TEST( testInsertDefaultStatement ); CPPUNIT_TEST( testInsertCaseStatement ); + CPPUNIT_TEST( testInsertDoStatement ); CPPUNIT_TEST_SUITE_END(); *************** *** 56,59 **** --- 57,61 ---- void testInsertDefaultStatement(); void testInsertCaseStatement(); + void testInsertDoStatement(); private: |