Merge pull request #2318 from assimp/issue_2297

closes https://github.com/assimp/assimp/issues/2297: introduce obj-un…
pull/2319/head
Kim Kulling 2019-02-03 21:21:35 +01:00 committed by GitHub
commit 6c4fde73e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 15 deletions

View File

@ -78,7 +78,7 @@ static const float VertComponents[ 24 * 3 ] = {
0.500000, -0.500000, 0.500000f 0.500000, -0.500000, 0.500000f
}; };
static const std::string ObjModel = static const char *ObjModel =
"o 1\n" "o 1\n"
"\n" "\n"
"# Vertex list\n" "# Vertex list\n"
@ -105,7 +105,7 @@ static const std::string ObjModel =
"\n" "\n"
"# End of file\n"; "# End of file\n";
static const std::string ObjModel_Issue1111 = static const char *ObjModel_Issue1111 =
"o 1\n" "o 1\n"
"\n" "\n"
"# Vertex list\n" "# Vertex list\n"
@ -231,7 +231,7 @@ TEST_F( utObjImportExport, exportObjFromFileTest ) {
#endif // ASSIMP_BUILD_NO_EXPORT #endif // ASSIMP_BUILD_NO_EXPORT
TEST_F( utObjImportExport, obj_import_test ) { TEST_F( utObjImportExport, obj_import_test ) {
const aiScene *scene = m_im->ReadFileFromMemory( (void*) ObjModel.c_str(), ObjModel.size(), 0 ); const aiScene *scene = m_im->ReadFileFromMemory( (void*) ObjModel, strlen(ObjModel), 0 );
aiScene *expected = createScene(); aiScene *expected = createScene();
EXPECT_NE( nullptr, scene ); EXPECT_NE( nullptr, scene );
@ -252,7 +252,7 @@ TEST_F( utObjImportExport, obj_import_test ) {
} }
TEST_F( utObjImportExport, issue1111_no_mat_name_Test ) { TEST_F( utObjImportExport, issue1111_no_mat_name_Test ) {
const aiScene *scene = m_im->ReadFileFromMemory( ( void* ) ObjModel_Issue1111.c_str(), ObjModel_Issue1111.size(), 0 ); const aiScene *scene = m_im->ReadFileFromMemory( ( void* ) ObjModel_Issue1111, strlen(ObjModel_Issue1111), 0 );
EXPECT_NE( nullptr, scene ); EXPECT_NE( nullptr, scene );
} }
@ -290,7 +290,7 @@ TEST_F( utObjImportExport, issue1923_vertex_color_Test ) {
} }
TEST_F( utObjImportExport, issue1453_segfault ) { TEST_F( utObjImportExport, issue1453_segfault ) {
static const std::string ObjModel = static const char *ObjModel =
"v 0.0 0.0 0.0\n" "v 0.0 0.0 0.0\n"
"v 0.0 0.0 1.0\n" "v 0.0 0.0 1.0\n"
"v 0.0 1.0 0.0\n" "v 0.0 1.0 0.0\n"
@ -301,12 +301,12 @@ TEST_F( utObjImportExport, issue1453_segfault ) {
"v 1.0 1.0 1.0\nB"; "v 1.0 1.0 1.0\nB";
Assimp::Importer myimporter; Assimp::Importer myimporter;
const aiScene *scene = myimporter.ReadFileFromMemory( ObjModel.c_str(), ObjModel.size(), aiProcess_ValidateDataStructure ); const aiScene *scene = myimporter.ReadFileFromMemory( ObjModel, strlen(ObjModel), aiProcess_ValidateDataStructure );
EXPECT_EQ( nullptr, scene ); EXPECT_EQ( nullptr, scene );
} }
TEST_F(utObjImportExport, relative_indices_Test) { TEST_F(utObjImportExport, relative_indices_Test) {
static const std::string ObjModel = static const char *ObjModel =
"v -0.500000 0.000000 0.400000\n" "v -0.500000 0.000000 0.400000\n"
"v -0.500000 0.000000 -0.800000\n" "v -0.500000 0.000000 -0.800000\n"
"v -0.500000 1.000000 -0.800000\n" "v -0.500000 1.000000 -0.800000\n"
@ -314,7 +314,7 @@ TEST_F(utObjImportExport, relative_indices_Test) {
"f -4 -3 -2 -1\nB"; "f -4 -3 -2 -1\nB";
Assimp::Importer myimporter; Assimp::Importer myimporter;
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel.c_str(), ObjModel.size(), aiProcess_ValidateDataStructure); const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel, strlen(ObjModel), aiProcess_ValidateDataStructure);
EXPECT_NE(nullptr, scene); EXPECT_NE(nullptr, scene);
EXPECT_EQ(scene->mNumMeshes, 1U); EXPECT_EQ(scene->mNumMeshes, 1U);
@ -331,14 +331,14 @@ TEST_F(utObjImportExport, relative_indices_Test) {
} }
TEST_F(utObjImportExport, homogeneous_coordinates_Test) { TEST_F(utObjImportExport, homogeneous_coordinates_Test) {
static const std::string ObjModel = static const char *ObjModel =
"v -0.500000 0.000000 0.400000 0.50000\n" "v -0.500000 0.000000 0.400000 0.50000\n"
"v -0.500000 0.000000 -0.800000 1.00000\n" "v -0.500000 0.000000 -0.800000 1.00000\n"
"v 0.500000 1.000000 -0.800000 0.5000\n" "v 0.500000 1.000000 -0.800000 0.5000\n"
"f 1 2 3\nB"; "f 1 2 3\nB";
Assimp::Importer myimporter; Assimp::Importer myimporter;
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel.c_str(), ObjModel.size(), aiProcess_ValidateDataStructure); const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel, strlen(ObjModel), aiProcess_ValidateDataStructure);
EXPECT_NE(nullptr, scene); EXPECT_NE(nullptr, scene);
EXPECT_EQ(scene->mNumMeshes, 1U); EXPECT_EQ(scene->mNumMeshes, 1U);
@ -354,26 +354,26 @@ TEST_F(utObjImportExport, homogeneous_coordinates_Test) {
} }
TEST_F(utObjImportExport, homogeneous_coordinates_divide_by_zero_Test) { TEST_F(utObjImportExport, homogeneous_coordinates_divide_by_zero_Test) {
static const std::string ObjModel = static const char *ObjModel =
"v -0.500000 0.000000 0.400000 0.\n" "v -0.500000 0.000000 0.400000 0.\n"
"v -0.500000 0.000000 -0.800000 1.00000\n" "v -0.500000 0.000000 -0.800000 1.00000\n"
"v 0.500000 1.000000 -0.800000 0.5000\n" "v 0.500000 1.000000 -0.800000 0.5000\n"
"f 1 2 3\nB"; "f 1 2 3\nB";
Assimp::Importer myimporter; Assimp::Importer myimporter;
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel.c_str(), ObjModel.size(), aiProcess_ValidateDataStructure); const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel, strlen(ObjModel), aiProcess_ValidateDataStructure);
EXPECT_EQ(nullptr, scene); EXPECT_EQ(nullptr, scene);
} }
TEST_F(utObjImportExport, 0based_array_Test) { TEST_F(utObjImportExport, 0based_array_Test) {
static const std::string ObjModel = static const char *ObjModel =
"v -0.500000 0.000000 0.400000\n" "v -0.500000 0.000000 0.400000\n"
"v -0.500000 0.000000 -0.800000\n" "v -0.500000 0.000000 -0.800000\n"
"v -0.500000 1.000000 -0.800000\n" "v -0.500000 1.000000 -0.800000\n"
"f 0 1 2\nB"; "f 0 1 2\nB";
Assimp::Importer myimporter; Assimp::Importer myImporter;
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel.c_str(), ObjModel.size(), 0); const aiScene *scene = myImporter.ReadFileFromMemory(ObjModel, strlen(ObjModel), 0);
EXPECT_EQ(nullptr, scene); EXPECT_EQ(nullptr, scene);
} }
@ -396,3 +396,8 @@ TEST_F(utObjImportExport, import_point_cloud) {
ASSERT_NE(nullptr, scene); ASSERT_NE(nullptr, scene);
} }
TEST_F(utObjImportExport, import_without_linend) {
Assimp::Importer myImporter;
const aiScene *scene = myImporter.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/box_without_lineending.obj", 0);
ASSERT_NE(nullptr, scene);
}