📄 mxmlparser_test.cpp
字号:
#include "MXMLParser_test.h"
#include "../ENV_test.h"
#include "MCRT/MXMLTree.h"
#include "MCRT/MXMLNode.h"
#include "MCRT/mcommon.h"
// register the fixture into registry
CPPUNIT_TEST_SUITE_REGISTRATION( MXMLParserTest );//register test class in cppunit
void MXMLParserTest::setUp()
{
}
void MXMLParserTest::tearDown()
{
}
void MXMLParserTest::testLoad()
{
std::string strFilePath = g_ENVTest.getProjectRoot();
strFilePath.append( "/test_data/MCRT/MXML_test.xml" );
MXMLTree xmlTree;
xmlTree.Load( strFilePath.c_str() );
CPPUNIT_ASSERT( xmlTree.m_pDoc != NULL );
}
void MXMLParserTest::testGetRootNode()
{
std::string strFilePath = g_ENVTest.getProjectRoot();
strFilePath.append( "/test_data/MCRT/MXML_test.xml" );
MXMLTree xmlTree;
xmlTree.Load( strFilePath.c_str() );
MXMLNode rootNode = xmlTree.GetRootNode();
const char* pRootNodeName = rootNode.GetName();
CPPUNIT_ASSERT( pRootNodeName != NULL );
if ( pRootNodeName != NULL )
{
CPPUNIT_ASSERT( ::strcmp( pRootNodeName, "MenuItem" ) == 0 );
}
}
void MXMLParserTest::testNodeValue()
{
std::string strFilePath = g_ENVTest.getProjectRoot();
strFilePath.append( "/test_data/MCRT/MXML_test.xml" );
MXMLTree xmlTree;
xmlTree.Load( strFilePath.c_str() );
MXMLNode nodeNullValue = xmlTree.GetRootNode();
const char* pNodeValue = nodeNullValue.GetValue();
CPPUNIT_ASSERT( pNodeValue == NULL );
}
void MXMLParserTest::testNodeAttr()
{
std::string strFilePath = g_ENVTest.getProjectRoot();
strFilePath.append( "/test_data/MCRT/MXML_test.xml" );
MXMLTree xmlTree;
xmlTree.Load( strFilePath.c_str() );
MXMLNode attrNode = xmlTree.GetNode( "/MenuItem/File/File_New" );
CPPUNIT_ASSERT( ::strcmp( attrNode.GetAttr( "strAttr" ), "File_New_str" ) == 0 );
CPPUNIT_ASSERT( attrNode.GetIntAttr( "intAttr" ) == 1 );
CPPUNIT_ASSERT( MCommon::IsEqual( attrNode.GetDoubleAttr( "doubleAttr" ), 3.3 ) );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -