Use correct check to do a tokensearch.

pull/1884/head
Kim Kulling 2018-04-11 21:16:20 +02:00
parent 483541ee25
commit 5319974fe1
2 changed files with 16 additions and 5 deletions

View File

@ -119,14 +119,18 @@ DXFImporter::~DXFImporter()
// ------------------------------------------------------------------------------------------------
// Returns whether the class can handle the format of the given file.
bool DXFImporter::CanRead( const std::string& pFile, IOSystem* pIOHandler, bool checkSig ) const
{
if ( checkSig ) {
return SimpleExtensionCheck(pFile,"dxf");
} else {
bool DXFImporter::CanRead( const std::string& pFile, IOSystem* pIOHandler, bool checkSig ) const {
const std::string& extension = GetExtension( pFile );
if ( extension == "dxf" ) {
return true;
}
if ( extension.empty() || checkSig ) {
static const char *pTokens[] = { "SECTION", "HEADER", "ENDSEC", "BLOCKS" };
return BaseImporter::SearchFileHeaderForToken(pIOHandler, pFile, pTokens, 4 );
}
return false;
}
// ------------------------------------------------------------------------------------------------

View File

@ -62,3 +62,10 @@ public:
TEST_F( utDXFImporterExporter, importDXFFromFileTest ) {
EXPECT_TRUE( importerTest() );
}
TEST_F( utDXFImporterExporter, importerWithoutExtensionTest ) {
Assimp::Importer importer;
const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/DXF/lineTest", aiProcess_ValidateDataStructure );
EXPECT_NE( nullptr, scene );
}