irrlicht/tests/coreutil.cpp
cutealien ffd7b63af0 API BREAKER: Replacing defines in irrTypes.h which are conflicting with c++ reserved identifier rules.
C++ has undefined behavior for identifiers starting with __ or with _ followed by an uppercase letter.
We still have many more (in IrrCompileConfig.h and in all header-guards), will likely replace those later as well.
As a workaround for users which might use irrlicht defines in their code, I've added the header irrLegacyDefines.h
Including that allows to continue using old defines for a while - or make it easier to have code which compiles 
with old and new Irrlicht library versions.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6251 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-27 12:55:10 +00:00

60 lines
2.8 KiB
C++

#include "testUtils.h"
using namespace irr;
using namespace core;
bool testMergeFilename()
{
// path mergeFilename(const path& path, const path& filename, const path& extension = "");
if ( mergeFilename(IRR_TEXT(""), IRR_TEXT(""), IRR_TEXT("") ) != io::path(IRR_TEXT("")) )
return false;
if ( mergeFilename(IRR_TEXT("folder"), IRR_TEXT(""), IRR_TEXT("") ) != io::path(IRR_TEXT("folder/")) )
return false;
if ( mergeFilename(IRR_TEXT("folder/"), IRR_TEXT(""), IRR_TEXT("") ) != io::path(IRR_TEXT("folder/")) )
return false;
if ( mergeFilename(IRR_TEXT("folder"), IRR_TEXT("file"), IRR_TEXT("") ) != io::path(IRR_TEXT("folder/file")) )
return false;
if ( mergeFilename(IRR_TEXT("folder/"), IRR_TEXT("file"), IRR_TEXT("") ) != io::path(IRR_TEXT("folder/file")) )
return false;
if ( mergeFilename(IRR_TEXT("folder\\"), IRR_TEXT("file"), IRR_TEXT("") ) != io::path(IRR_TEXT("folder\\file")) )
return false;
if ( mergeFilename(IRR_TEXT(""), IRR_TEXT("file"), IRR_TEXT("") ) != io::path(IRR_TEXT("file")) )
return false;
if ( mergeFilename(IRR_TEXT("."), IRR_TEXT("file"), IRR_TEXT("") ) != io::path(IRR_TEXT("./file")) )
return false;
if ( mergeFilename(IRR_TEXT("folder"), IRR_TEXT(""), IRR_TEXT(".bmp") ) != io::path(IRR_TEXT("folder/.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT("folder/"), IRR_TEXT(""), IRR_TEXT(".bmp") ) != io::path(IRR_TEXT("folder/.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT("folder"), IRR_TEXT(""), IRR_TEXT("bmp") ) != io::path(IRR_TEXT("folder/.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT("."), IRR_TEXT(""), IRR_TEXT("bmp") ) != io::path(IRR_TEXT("./.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT("folder"), IRR_TEXT("file"), IRR_TEXT("bmp") ) != io::path(IRR_TEXT("folder/file.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT("folder/"), IRR_TEXT("file"), IRR_TEXT("bmp") ) != io::path(IRR_TEXT("folder/file.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT("folder/"), IRR_TEXT("file"), IRR_TEXT(".bmp") ) != io::path(IRR_TEXT("folder/file.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT("folder"), IRR_TEXT("file.bmp"), IRR_TEXT("") ) != io::path(IRR_TEXT("folder/file.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT(""), IRR_TEXT("file"), IRR_TEXT("bmp") ) != io::path(IRR_TEXT("file.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT(""), IRR_TEXT("file"), IRR_TEXT(".bmp") ) != io::path(IRR_TEXT("file.bmp")) )
return false;
if ( mergeFilename(IRR_TEXT("c:"), IRR_TEXT("file"), IRR_TEXT(".bmp") ) != io::path(IRR_TEXT("c:/file.bmp")) ) // TODO: is this actually correct on windows?
return false;
return true;
}
// Test the functionality of the Irrlicht timer
bool testCoreutil(void)
{
bool ok = true;
ok &= testMergeFilename();
return ok;
}