Fix import graphics routines and tests
The returns of KiCad file extensions on GTK contain basic regex matching case-insensitive file extensions. We need to match these in the provider and tests
This commit is contained in:
parent
66e8795656
commit
1956c074ba
|
@ -27,6 +27,7 @@
|
||||||
#include "dxf_import_plugin.h"
|
#include "dxf_import_plugin.h"
|
||||||
#include "svg_import_plugin.h"
|
#include "svg_import_plugin.h"
|
||||||
|
|
||||||
|
#include <wx/regex.h>
|
||||||
|
|
||||||
GRAPHICS_IMPORT_MGR::GRAPHICS_IMPORT_MGR( const TYPE_LIST& aBlacklist )
|
GRAPHICS_IMPORT_MGR::GRAPHICS_IMPORT_MGR( const TYPE_LIST& aBlacklist )
|
||||||
{
|
{
|
||||||
|
@ -71,10 +72,12 @@ std::unique_ptr<GRAPHICS_IMPORT_PLUGIN> GRAPHICS_IMPORT_MGR::GetPluginByExt(
|
||||||
|
|
||||||
for( const auto& fileExt : fileExtensions )
|
for( const auto& fileExt : fileExtensions )
|
||||||
{
|
{
|
||||||
if( aExtension.IsSameAs( fileExt, false ) )
|
wxRegEx extensions( fileExt, wxRE_BASIC );
|
||||||
|
|
||||||
|
if( extensions.Matches( aExtension ) )
|
||||||
return plugin;
|
return plugin;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
#include <import_gfx/graphics_import_mgr.h>
|
#include <import_gfx/graphics_import_mgr.h>
|
||||||
#include <import_gfx/graphics_import_plugin.h>
|
#include <import_gfx/graphics_import_plugin.h>
|
||||||
|
|
||||||
|
#include <regex>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Declares a struct as the Boost test fixture.
|
* Declares a struct as the Boost test fixture.
|
||||||
*/
|
*/
|
||||||
|
@ -38,7 +40,15 @@ static bool pluginHandlesExt( const GRAPHICS_IMPORT_PLUGIN& aPlugin, const std::
|
||||||
{
|
{
|
||||||
const auto exts = aPlugin.GetFileExtensions();
|
const auto exts = aPlugin.GetFileExtensions();
|
||||||
|
|
||||||
return std::find( exts.begin(), exts.end(), wxString( aExt ) ) != exts.end();
|
for( auto ext : exts )
|
||||||
|
{
|
||||||
|
std::regex ext_reg( ext.ToStdString() );
|
||||||
|
|
||||||
|
if( std::regex_match( aExt, ext_reg ) )
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct TYPE_TO_EXTS
|
struct TYPE_TO_EXTS
|
||||||
|
|
Loading…
Reference in New Issue