diff --git a/src/Magnum/Trade/Test/SceneDataTest.cpp b/src/Magnum/Trade/Test/SceneDataTest.cpp index b6bcbc7ce..ff2f802c7 100644 --- a/src/Magnum/Trade/Test/SceneDataTest.cpp +++ b/src/Magnum/Trade/Test/SceneDataTest.cpp @@ -1642,8 +1642,11 @@ void SceneDataTest::constructSpecialStrides() { nonBroadcastedData, broadcastedData.broadcasted<0>(4)}; SceneFieldData flippedField{sceneFieldCustom(40), nonBroadcastedData.flipped<0>(), nonBroadcastedData.flipped<0>()}; + SceneFieldData flippedFieldOffsetOnly{sceneFieldCustom(41), + 4, SceneMappingType::UnsignedShort, std::size_t(static_cast(nonBroadcastedData.flipped<0>().data()) - data.data()), -2, + SceneFieldType::UnsignedShort, std::size_t(static_cast(nonBroadcastedData.flipped<0>().data()) - data.data()), -2}; SceneData scene{SceneMappingType::UnsignedShort, 8, std::move(data), { - broadcastedMapping, broadcastedField, flippedField + broadcastedMapping, broadcastedField, flippedField, flippedFieldOffsetOnly }}; CORRADE_COMPARE_AS(scene.mapping(0), @@ -1666,6 +1669,13 @@ void SceneDataTest::constructSpecialStrides() { CORRADE_COMPARE_AS(scene.field(2), Containers::arrayView({4, 3, 2, 1}), TestSuite::Compare::Container); + + CORRADE_COMPARE_AS(scene.mapping(3), + Containers::arrayView({4, 3, 2, 1}), + TestSuite::Compare::Container); + CORRADE_COMPARE_AS(scene.field(3), + Containers::arrayView({4, 3, 2, 1}), + TestSuite::Compare::Container); } void SceneDataTest::constructNotOwned() {