Browse Source

Trade: improve SceneFieldData assertion message to be more helpful.

pull/542/merge
Vladimír Vondruš 4 years ago
parent
commit
8b6f8bd75c
  1. 2
      src/Magnum/Trade/SceneData.h
  2. 2
      src/Magnum/Trade/Test/SceneDataTest.cpp

2
src/Magnum/Trade/SceneData.h

@ -3047,7 +3047,7 @@ namespace Implementation {
constexpr SceneFieldData::SceneFieldData(const SceneField name, const SceneMappingType mappingType, const Containers::StridedArrayView1D<const void>& mappingData, const SceneFieldType fieldType, const Containers::StridedArrayView1D<const void>& fieldData, const UnsignedShort fieldArraySize, const SceneFieldFlags flags) noexcept:
_size{(CORRADE_CONSTEXPR_ASSERT(mappingData.size() == fieldData.size(),
"Trade::SceneFieldData: expected mapping and field view to have the same size but got" << mappingData.size() << "and" << fieldData.size()), mappingData.size())},
"Trade::SceneFieldData: expected" << name << "mapping and field view to have the same size but got" << mappingData.size() << "and" << fieldData.size()), mappingData.size())},
_name{(CORRADE_CONSTEXPR_ASSERT(Implementation::isSceneFieldTypeCompatibleWithField(name, fieldType),
"Trade::SceneFieldData:" << fieldType << "is not a valid type for" << name), name)},
_flags{(CORRADE_CONSTEXPR_ASSERT(!(flags & SceneFieldFlag::OffsetOnly),

2
src/Magnum/Trade/Test/SceneDataTest.cpp

@ -1012,7 +1012,7 @@ void SceneDataTest::constructFieldInconsistentViewSize() {
std::ostringstream out;
Error redirectError{&out};
SceneFieldData{SceneField::Rotation, Containers::arrayView(rotationMappingData), Containers::arrayView(rotationFieldData)};
CORRADE_COMPARE(out.str(), "Trade::SceneFieldData: expected mapping and field view to have the same size but got 3 and 2\n");
CORRADE_COMPARE(out.str(), "Trade::SceneFieldData: expected Trade::SceneField::Rotation mapping and field view to have the same size but got 3 and 2\n");
}
void SceneDataTest::constructFieldWrongType() {

Loading…
Cancel
Save