Browse Source

ObjImporter: test also when the first entry in the file is an index.

That's the last important uncovered bit in the code.
pull/578/head
Vladimír Vondruš 4 years ago
parent
commit
6439cfac10
  1. 1
      src/MagnumPlugins/ObjImporter/Test/CMakeLists.txt
  2. 21
      src/MagnumPlugins/ObjImporter/Test/ObjImporterTest.cpp
  3. 3
      src/MagnumPlugins/ObjImporter/Test/mesh-named-first-unnamed-index-first.obj

1
src/MagnumPlugins/ObjImporter/Test/CMakeLists.txt

@ -57,6 +57,7 @@ corrade_add_test(ObjImporterTest ObjImporterTest.cpp
mesh-ignored-keyword.obj
mesh-multiple.obj
mesh-named-first-unnamed.obj
mesh-named-first-unnamed-index-first.obj
mesh-named.obj
mesh-normals.obj
mesh-positions-optional-coordinate.obj

21
src/MagnumPlugins/ObjImporter/Test/ObjImporterTest.cpp

@ -84,6 +84,14 @@ struct ObjImporterTest: TestSuite::Tester {
PluginManager::Manager<AbstractImporter> _manager{"nonexistent"};
};
const struct {
const char* name;
const char* filename;
} MeshNamedFirstUnnamedData[]{
{"", "mesh-named-first-unnamed.obj"},
{"index first", "mesh-named-first-unnamed-index-first.obj"},
};
const struct {
const char* name;
const char* filename;
@ -174,10 +182,12 @@ ObjImporterTest::ObjImporterTest() {
&ObjImporterTest::meshIgnoredKeyword,
&ObjImporterTest::meshNamed,
&ObjImporterTest::meshNamedFirstUnnamed,
&ObjImporterTest::meshNamed});
&ObjImporterTest::moreMeshes});
addInstancedTests({&ObjImporterTest::meshNamedFirstUnnamed},
Containers::arraySize(MeshNamedFirstUnnamedData));
addTests({&ObjImporterTest::moreMeshes});
addInstancedTests({&ObjImporterTest::invalid},
Containers::arraySize(InvalidData));
@ -451,8 +461,11 @@ void ObjImporterTest::meshNamed() {
}
void ObjImporterTest::meshNamedFirstUnnamed() {
auto&& data = MeshNamedFirstUnnamedData[testCaseInstanceId()];
setTestCaseDescription(data.name);
Containers::Pointer<AbstractImporter> importer = _manager.instantiate("ObjImporter");
CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "mesh-named-first-unnamed.obj")));
CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, data.filename)));
CORRADE_COMPARE(importer->meshCount(), 2);
CORRADE_COMPARE(importer->meshName(0), "");

3
src/MagnumPlugins/ObjImporter/Test/mesh-named-first-unnamed-index-first.obj

@ -0,0 +1,3 @@
p 1
v 1 2 3
o SecondMesh
Loading…
Cancel
Save