assimp/test/unit/utRemoveComments.cpp

61 lines
1.4 KiB
C++

#include "utRemoveComments.h"
CPPUNIT_TEST_SUITE_REGISTRATION (RemoveCommentsTest);
void RemoveCommentsTest :: setUp (void)
{
// nothing to do here
}
void RemoveCommentsTest :: tearDown (void)
{
// nothing to do here
}
void RemoveCommentsTest :: testSingleLineComments (void)
{
const char* szTest = "int i = 0; \n"
"if (4 == //)\n"
"\ttrue) { // do something here \n"
"\t// hello ... and bye //\n";
char* szTest2 = new char[::strlen(szTest)+1];
::strcpy(szTest2,szTest);
const char* szTestResult = "int i = 0; \n"
"if (4 == \n"
"\ttrue) { \n"
"\t \n";
CommentRemover::RemoveLineComments("//",szTest2,' ');
CPPUNIT_ASSERT(0 == ::strcmp(szTest2,szTestResult));
delete[] szTest2;
}
void RemoveCommentsTest :: testMultiLineComments (void)
{
char* szTest =
"/* comment to be removed */\n"
"valid text /* \n "
" comment across multiple lines */"
" / * Incomplete comment */ /* /* multiple comments */ */";
const char* szTestResult =
" \n"
"valid text "
" "
" / * Incomplete comment */ */";
char* szTest2 = new char[::strlen(szTest)+1];
::strcpy(szTest2,szTest);
CommentRemover::RemoveMultiLineComments("/*","*/",szTest2,' ');
CPPUNIT_ASSERT(0 == ::strcmp(szTest2,szTestResult));
delete[] szTest2;
}